blob: 6f3f83052d790e9102ddff10c225d703ff0703a7 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package javax.xml.rpc;
import java.util.Iterator;
/**
* The interface <code>javax.xml.rpc.Stub</code> is the common base interface
* for the stub classes. All generated stub classes are required to
* implement the <code>javax.xml.rpc.Stub</code> interface. An instance
* of a stub class represents a client side proxy or stub instance for
* the target service endpoint.
*
* <p>The <code>javax.xml.rpc.Stub</code> interface provides an
* extensible property mechanism for the dynamic configuration of
* a stub instance.
*
* @version $Rev$ $Date$
*/
public interface Stub {
// Constants for the standard properties
/**
* Standard property: User name for authentication.
* <p>Type: java.lang.String
*/
public static final String USERNAME_PROPERTY = Call.USERNAME_PROPERTY;
/**
* Standard property: Password for authentication.
* <p>Type: java.lang.String
*/
public static final String PASSWORD_PROPERTY = Call.PASSWORD_PROPERTY;
/**
* Standard property: Target service endpoint address. The
* URI scheme for the endpoint address specification must
* correspond to the protocol/transport binding for this
* stub class.
* <p>Type: java.lang.String
*/
public static final String ENDPOINT_ADDRESS_PROPERTY =
"javax.xml.rpc.service.endpoint.address";
/**
* Standard property: This boolean property is used by a service
* client to indicate whether or not it wants to participate in
* a session with a service endpoint. If this property is set to
* true, the service client indicates that it wants the session
* to be maintained. If set to false, the session is not maintained.
* The default value for this property is false.
* <p>Type: java.lang.Boolean
*/
public static final String SESSION_MAINTAIN_PROPERTY =
Call.SESSION_MAINTAIN_PROPERTY;
/**
* Sets the name and value of a configuration property
* for this Stub instance. If the Stub instances contains
* a value of the same property, the old value is replaced.
* <p>Note that the <code>_setProperty</code> method may not
* perform validity check on a configured property value. An
* example is the standard property for the target service
* endpoint address that is not checked for validity in the
* <code>_setProperty</code> method.
* In this case, stub configuration errors are detected at
* the remote method invocation.
*
* @param name Name of the configuration property
* @param value Value of the property
* @throws JAXRPCException <ul>
* <li>If an optional standard property name is
* specified, however this Stub implementation
* class does not support the configuration of
* this property.
* <li>If an invalid or unsupported property name is
* specified or if a value of mismatched property
* type is passed.
* <li>If there is any error in the configuration of
* a valid property.
* </ul>
*/
public void _setProperty(String name, Object value);
/**
* Gets the value of a specific configuration property.
*
* @param name Name of the property whose value is to be
* retrieved
* @return Value of the configuration property
* @throws JAXRPCException if an invalid or
* unsupported property name is passed.
*/
public Object _getProperty(String name);
/**
* Returns an <code>Iterator</code> view of the names of the properties
* that can be configured on this stub instance.
*
* @return Iterator for the property names of the type
* <code>java.lang.String</code>
*/
public Iterator _getPropertyNames();
} // interface Stub