001: /*
002: *
003: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
004: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
005: *
006: * This program is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU General Public License version
008: * 2 only, as published by the Free Software Foundation.
009: *
010: * This program is distributed in the hope that it will be useful, but
011: * WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013: * General Public License version 2 for more details (a copy is
014: * included at /legal/license.txt).
015: *
016: * You should have received a copy of the GNU General Public License
017: * version 2 along with this work; if not, write to the Free Software
018: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
019: * 02110-1301 USA
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
022: * Clara, CA 95054 or visit www.sun.com if you need additional
023: * information or have any questions.
024: */
025:
026: package javax.xml.rpc;
027:
028: /** The interface <code>javax.xml.rpc.Stub</code> is the common base interface
029: * for the stub classes. All generated stub classes are required to
030: * implement the <code>javax.xml.rpc.Stub</code> interface. An instance
031: * of a stub class represents a client side proxy or stub instance for
032: * the target service endpoint.
033: *
034: * <p>The <code>javax.xml.rpc.Stub</code> interface provides an
035: * extensible property mechanism for the dynamic configuration of
036: * a stub instance.
037: *
038: * @version 0.1
039: **/
040:
041: public interface Stub {
042:
043: /** Standard property: User name for authentication.
044: * <p>Type: java.lang.String
045: **/
046: public static final String USERNAME_PROPERTY = "javax.xml.rpc.security.auth.username";
047:
048: /** Standard property: Password for authentication.
049: * <p>Type: java.lang.String
050: **/
051: public static final String PASSWORD_PROPERTY = "javax.xml.rpc.security.auth.password";
052:
053: /** Standard property: Target service endpoint address. The
054: * URI scheme for the endpoint address specification must
055: * correspond to the protocol/transport binding for this
056: * stub class.
057: * <p>Type: java.lang.String
058: **/
059: public static final String ENDPOINT_ADDRESS_PROPERTY = "javax.xml.rpc.service.endpoint.address";
060:
061: /** Standard property: This boolean property is used by a service
062: * client to indicate whether or not it wants to participate in
063: * a session with a service endpoint. If this property is set to
064: * true, the service client indicates that it wants the session
065: * to be maintained. If set to false, the session is not maintained.
066: * The default value for this property is false.
067: * <p>Type: java.lang.Boolean
068: **/
069: public static final String SESSION_MAINTAIN_PROPERTY = "javax.xml.rpc.session.maintain";
070:
071: /** Sets the name and value of a configuration property
072: * for this Stub instance. If the Stub instances contains
073: * a value of the same property, the old value is replaced.
074: * <p>Note that the <code>_setProperty</code> method may not
075: * perform validity check on a configured property value. An
076: * example is the standard property for the target service
077: * endpoint address that is not checked for validity in the
078: * <code>_setProperty</code> method.
079: * In this case, stub configuration errors are detected at
080: * the remote method invocation.
081: *
082: * @param name Name of the configuration property
083: * @param value Value of the property
084: * @throws javax.xml.rpc.JAXRPCException
085: * <UL>
086: * <LI>If an optional standard property name is
087: * specified, however this Stub implementation
088: * class does not support the configuration of
089: * this property.
090: * <LI>If an invalid or unsupported property name is
091: * specified or if a value of mismatched property
092: * type is passed.
093: * <LI>If there is any error in the configuration of
094: * a valid property.
095: * </UL>
096: **/
097: public void _setProperty(String name, Object value);
098:
099: /** Gets the value of a specific configuration property.
100: * @param name Name of the property whose value is to be
101: * retrieved
102: * @return Value of the configuration property
103: * @throws javax.xml.rpc.JAXRPCException if an invalid or
104: * unsupported property name is passed.
105: **/
106: public Object _getProperty(String name);
107:
108: }
|