Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Serializer.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Serializer.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Serializer.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/Serializer.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,36 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.encoding; + +/** + * The javax.xml.rpc.encoding.Serializer interface defines the + * base interface for serializers. A Serializer converts + * a Java object to an XML representation using a specific XML + * processing mechanism and based on the specified type + * mapping and encoding style. + * + * @version 1.0 + */ +public interface Serializer extends java.io.Serializable { + + /** + * Gets the type of the XML processing mechanism and representation used by this Serializer. + * + * @return XML processing mechanism type + */ + public String getMechanismType(); +} +
Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializerFactory.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializerFactory.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializerFactory.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/SerializerFactory.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,54 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.encoding; + +import java.util.Iterator; + +/** + * The javax.xml.rpc.encoding.SerializerFactory is a factory of + * the serializers. A SerializerFactory is registered with a + * TypeMapping object as part of the TypeMappingRegistry. + * + * @version 1.0 + */ +public interface SerializerFactory extends java.io.Serializable { + + /** + * Returns a Serializer for the specified XML processing mechanism type. + * + * @param mechanismType - XML processing mechanism type [TBD: definition + * of valid constants] + * + * @return a <code>Serializer</code> for the specified XML processing + * mechanism type + * + * @throws javax.xml.rpc.JAXRPCException + * if <code>SerializerFactory</code> does not support the + * specified XML processing mechanism + * @throws java.lang.IllegalArgumentException + * if an invalid mechanism type is specified + */ + public Serializer getSerializerAs(String mechanismType); + + /** + * Returns an Iterator over all XML processing mechanism types supported by + * this <code>SerializerFactory</code>. + * + * @return an Iterator over the mechanism types (<Code>String</code>s?) + */ + public Iterator getSupportedMechanismTypes(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMapping.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMapping.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMapping.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMapping.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,133 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.encoding; + +import javax.xml.namespace.QName; + +/** + * The <code>javax.xml.rpc.encoding.TypeMapping</code> is the base + * interface for the representation of a type mapping. A TypeMapping + * implementation class may support one or more encoding styles. + * <p> + * For its supported encoding styles, a TypeMapping instance + * maintains a set of tuples of the type {Java type, + * <code>SerializerFactory</code>, + * <code>DeserializerFactory</code>, XML type}. + * + * @version 1.0 + */ +public interface TypeMapping { + + /** + * Returns the encodingStyle URIs (as String[]) supported by + * this TypeMapping instance. A TypeMapping that contains only + * encoding style independent serializers and deserializers + * returns <code>null</code> from this method. + * + * @return Array of encodingStyle URIs for the supported + * encoding styles + */ + public String[] getSupportedEncodings(); + + /** + * Sets the encodingStyle URIs supported by this TypeMapping + * instance. A TypeMapping that contains only encoding + * independent serializers and deserializers requires + * <code>null</code> as the parameter for this method. + * + * @param encodingStyleURIs Array of encodingStyle URIs for the + * supported encoding styles + */ + public void setSupportedEncodings(String[] encodingStyleURIs); + + /** + * Checks whether or not type mapping between specified XML + * type and Java type is registered. + * + * @param javaType Class of the Java type + * @param xmlType Qualified name of the XML data type + * @return boolean; <code>true</code> if type mapping between the + * specified XML type and Java type is registered; + * otherwise <code>false</code> + */ + public boolean isRegistered(Class javaType, QName xmlType); + + /** + * Registers SerializerFactory and DeserializerFactory for a + * specific type mapping between an XML type and Java type. + * This method replaces any existing registered SerializerFactory + * DeserializerFactory instances. + * + * @param javaType Class of the Java type + * @param xmlType Qualified name of the XML data type + * @param sf SerializerFactory + * @param dsf DeserializerFactory + * + * @throws javax.xml.rpc.JAXRPCException if there are any errors that + * prevent registration + */ + public void register(Class javaType, QName xmlType, SerializerFactory sf, + DeserializerFactory dsf); + + /** + * Gets the SerializerFactory registered for the specified + * pair of Java type and XML data type. + * + * @param javaType Class of the Java type + * @param xmlType Qualified name of the XML data type + * + * @return Registered SerializerFactory or <code>null</code> + * if there is no registered factory + */ + public SerializerFactory getSerializer(Class javaType, QName xmlType); + + /** + * Gets the DeserializerFactory registered for the specified pair + * of Java type and XML data type. + * + * @param javaType Class of the Java type + * @param xmlType Qualified name of the XML data type + * + * @return Registered SerializerFactory or <code>null</code> + * if there is no registered factory + */ + public DeserializerFactory getDeserializer(Class javaType, QName xmlType); + + /** + * Removes the SerializerFactory registered for the specified + * pair of Java type and XML data type. + * + * @param javaType Class of the Java type + * @param xmlType Qualified name of the XML data type + * + * @throws javax.xml.rpc.JAXRPCException if there is any error that prevents + * removal of the registered SerializerFactory + */ + public void removeSerializer(Class javaType, QName xmlType); + + /** + * Removes the DeserializerFactory registered for the specified + * pair of Java type and XML data type. + * + * @param javaType Class of the Java type + * @param xmlType Qualified name of the XML data type + * + * @throws javax.xml.rpc.JAXRPCException if there is any error in removing + * the registered DeserializerFactory + */ + public void removeDeserializer(Class javaType, QName xmlType); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMappingRegistry.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMappingRegistry.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMappingRegistry.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/TypeMappingRegistry.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,140 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.encoding; + +/** + * The interface <code>javax.xml.rpc.encoding.TypeMappingRegistry</code> + * defines a registry of TypeMapping instances for various encoding + * styles. + * + * @version 1.0 + */ +public interface TypeMappingRegistry extends java.io.Serializable { + + /** + * Registers a <code>TypeMapping</code> instance with the + * <code>TypeMappingRegistry</code>. This method replaces any + * existing registered <code>TypeMapping</code> instance for + * the specified <code>encodingStyleURI</code>. + * + * @param encodingStyleURI An encoding style specified as an URI. + * An example is "http://schemas.xmlsoap.org/soap/encoding/" + * @param mapping TypeMapping instance + * + * @return Previous TypeMapping associated with the specified + * <code>encodingStyleURI</code>, or <code>null</code> + * if there was no TypeMapping associated with the specified + * <code>encodingStyleURI</code> + * + * @throws javax.xml.rpc.JAXRPCException if there is any error that prevents + * the registration of the <code>TypeMapping</code> for + * the specified <code>encodingStyleURI</code> + */ + public TypeMapping register(String encodingStyleURI, TypeMapping mapping); + + /** + * Registers the <code>TypeMapping</code> instance that is default + * for all encoding styles supported by the + * <code>TypeMappingRegistry</code>. A default <code>TypeMapping</code> + * should include serializers and deserializers that are independent + * of and usable with any encoding style. Successive invocations + * of the <code>registerDefault</code> method replace any existing + * default <code>TypeMapping</code> instance. + * <p> + * If the default <code>TypeMapping</code> is registered, any + * other TypeMapping instances registered through the + * <code>TypeMappingRegistry.register</code> method (for a set + * of encodingStyle URIs) override the default <code>TypeMapping</code>. + * + * @param mapping TypeMapping instance + * + * @throws javax.xml.rpc.JAXRPCException if there is any error that + * prevents the registration of the default + * <code>TypeMapping</code> + */ + public void registerDefault(TypeMapping mapping); + + /** + * Gets the registered default <code>TypeMapping</code> instance. + * This method returns <code>null</code> if there is no registered + * default TypeMapping in the registry. + * + * @return The registered default <code>TypeMapping</code> instance + * or <code>null</code> + */ + public TypeMapping getDefaultTypeMapping(); + + /** + * Returns a list of registered encodingStyle URIs in this + * <code>TypeMappingRegistry</code> instance. + * + * @return Array of the registered encodingStyle URIs + */ + public String[] getRegisteredEncodingStyleURIs(); + + /** + * Returns the registered <code>TypeMapping</code> for the specified + * encodingStyle URI. If there is no registered <code>TypeMapping</code> + * for the specified <code>encodingStyleURI</code>, this method + * returns <code>null</code>. + * + * @param encodingStyleURI Encoding style specified as an URI + * @return TypeMapping for the specified encodingStyleURI or + * <code>null</code> + */ + public TypeMapping getTypeMapping(String encodingStyleURI); + + /** + * Creates a new empty <code>TypeMapping</code> object. + * + * @return TypeMapping instance. + */ + public TypeMapping createTypeMapping(); + + /** + * Unregisters a TypeMapping instance, if present, from the specified + * encodingStyleURI. + * + * @param encodingStyleURI Encoding style specified as an URI + * @return <code>TypeMapping</code> instance that has been unregistered + * or <code>null</code> if there was no TypeMapping + * registered for the specified <code>encodingStyleURI</code> + */ + public TypeMapping unregisterTypeMapping(String encodingStyleURI); + + /** + * Removes a <code>TypeMapping</code> from the TypeMappingRegistry. A + * <code>TypeMapping</code> is associated with 1 or more + * encodingStyleURIs. This method unregisters the specified + * <code>TypeMapping</code> instance from all associated + * <code>encodingStyleURIs</code> and then removes this + * TypeMapping instance from the registry. + * + * @param mapping TypeMapping to remove + * @return <code>true</code> if specified <code>TypeMapping</code> + * is removed from the TypeMappingRegistry; <code>false</code> + * if the specified <code>TypeMapping</code> was not in the + * <code>TypeMappingRegistry</code> + */ + public boolean removeTypeMapping(TypeMapping mapping); + + /** + * Removes all registered TypeMappings and encodingStyleURIs + * from this TypeMappingRegistry. + */ + public void clear(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/XMLType.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/XMLType.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/XMLType.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/encoding/XMLType.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,126 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.encoding; + +import javax.xml.namespace.QName; + +/** + * Constants representing XML Types. + * + * @version 1.0 + */ +public class XMLType { + // fixme: Thsi is a constants class - should be final and/or have a private + // constructor + public XMLType() {} + + /** XSD type for string. */ + public static final QName XSD_STRING = + new QName("http://www.w3.org/2001/XMLSchema", "string"); + + /** XSD type for float. */ + public static final QName XSD_FLOAT = + new QName("http://www.w3.org/2001/XMLSchema", "float"); + + /** XSD type for boolean. */ + public static final QName XSD_BOOLEAN = + new QName("http://www.w3.org/2001/XMLSchema", "boolean"); + + /** XSD type for double. */ + public static final QName XSD_DOUBLE = + new QName("http://www.w3.org/2001/XMLSchema", "double"); + + /** XSD type for integer. */ + public static final QName XSD_INTEGER = + new QName("http://www.w3.org/2001/XMLSchema", "integer"); + + /** XSD type for int. */ + public static final QName XSD_INT = + new QName("http://www.w3.org/2001/XMLSchema", "int"); + + /** XSD type for long. */ + public static final QName XSD_LONG = + new QName("http://www.w3.org/2001/XMLSchema", "long"); + + /** XSD type for short. */ + public static final QName XSD_SHORT = + new QName("http://www.w3.org/2001/XMLSchema", "short"); + + /** XSD type for decimal. */ + public static final QName XSD_DECIMAL = + new QName("http://www.w3.org/2001/XMLSchema", "decimal"); + + /** XSD type for base64Binary. */ + public static final QName XSD_BASE64 = + new QName("http://www.w3.org/2001/XMLSchema", "base64Binary"); + + /** XSD type for hexBinary. */ + public static final QName XSD_HEXBINARY = + new QName("http://www.w3.org/2001/XMLSchema", "hexBinary"); + + /** XSD type for byte. */ + public static final QName XSD_BYTE = + new QName("http://www.w3.org/2001/XMLSchema", "byte"); + + /** XSD type for dateTime. */ + public static final QName XSD_DATETIME = + new QName("http://www.w3.org/2001/XMLSchema", "dateTime"); + + /** XSD type for QName. */ + public static final QName XSD_QNAME = + new QName("http://www.w3.org/2001/XMLSchema", "QName"); + + /** SOAP type for string. */ + public static final QName SOAP_STRING = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "string"); + + /** SOAP type for boolean. */ + public static final QName SOAP_BOOLEAN = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "boolean"); + + /** SOAP type for double. */ + public static final QName SOAP_DOUBLE = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "double"); + + /** SOAP type for base64. */ + public static final QName SOAP_BASE64 = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "base64"); + + /** SOAP type for float. */ + public static final QName SOAP_FLOAT = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "float"); + + /** SOAP type for int. */ + public static final QName SOAP_INT = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "int"); + + /** SOAP type for long. */ + public static final QName SOAP_LONG = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "long"); + + /** SOAP type for short. */ + public static final QName SOAP_SHORT = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "short"); + + /** SOAP type for byte. */ + public static final QName SOAP_BYTE = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "byte"); + + /** SOAP type for Array. */ + public static final QName SOAP_ARRAY = + new QName("http://schemas.xmlsoap.org/soap/encoding/", "Array"); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/GenericHandler.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/GenericHandler.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/GenericHandler.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/GenericHandler.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,117 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.handler; + +import javax.xml.namespace.QName; + +/** + * The <code>javax.xml.rpc.handler.GenericHandler</code> class + * implements the <code>Handler</code> interface. SOAP Message + * Handler developers should typically subclass + * <code>GenericHandler</code> class unless the Handler class + * needs another class as a superclass. + * + * <p> + * The <code>GenericHandler</code> class is a convenience abstract + * class that makes writing Handlers easy. This class provides + * default implementations of the lifecycle methods <code>init</code> + * and <code>destroy</code> and also different handle methods. + * A Handler developer should only override methods that it needs + * to specialize as part of the derived <code>Handler</code> + * implementation class. + * + * @version 1.0 + */ +public abstract class GenericHandler implements Handler { + + /** + * Default constructor. + */ + protected GenericHandler() {} + + /** + * The <code>handleRequest</code> method processes the request + * SOAP message. The default implementation of this method returns + * <code>true</code>. This indicates that the handler chain + * should continue processing of the request SOAP message. + * This method should be overridden if the derived Handler class + * needs to specialize implementation of this method. + * + * @param context the message context + * @return true/false + */ + public boolean handleRequest(MessageContext context) { + return true; + } + + /** + * The <code>handleResponse</code> method processes the response + * message. The default implementation of this method returns + * <code>true</code>. This indicates that the handler chain + * should continue processing of the response SOAP message. + * This method should be overridden if the derived Handler class + * needs to specialize implementation of this method. + * + * @param context the message context + * @return true/false + */ + public boolean handleResponse(MessageContext context) { + return true; + } + + /** + * The <code>handleFault</code> method processes the SOAP faults + * based on the SOAP message processing model. The default + * implementation of this method returns <code>true</code>. This + * indicates that the handler chain should continue processing + * of the SOAP fault. This method should be overridden if + * the derived Handler class needs to specialize implementation + * of this method. + * + * @param context the message context + * @return true/false + */ + public boolean handleFault(MessageContext context) { + return true; + } + + /** + * The <code>init</code> method to enable the Handler instance to + * initialize itself. This method should be overridden if + * the derived Handler class needs to specialize implementation + * of this method. + * + * @param config handler configuration + */ + public void init(HandlerInfo config) {} + + /** + * The <code>destroy</code> method indicates the end of lifecycle + * for a Handler instance. This method should be overridden if + * the derived Handler class needs to specialize implementation + * of this method. + */ + public void destroy() {} + + /** + * Gets the header blocks processed by this Handler instance. + * + * @return Array of QNames of header blocks processed by this handler instance. + * <code>QName</code> is the qualified name of the outermost element of the Header block. + */ + public abstract QName[] getHeaders(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/Handler.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/Handler.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/Handler.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/Handler.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,207 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.handler; + +import javax.xml.namespace.QName; + +/** + * The <code>javax.xml.rpc.handler.Handler</code> interface is + * required to be implemented by a SOAP message handler. The + * <code>handleRequest</code>, <code>handleResponse</code> + * and <code>handleFault</code> methods for a SOAP message + * handler get access to the <code>SOAPMessage</code> from the + * <code>SOAPMessageContext</code>. The implementation of these + * methods can modify the <code>SOAPMessage</code> including the + * headers and body elements. + * + * @version 1.0 + */ +public interface Handler { + + /** + * The <code>handleRequest</code> method processes the request message. + * + * @param context MessageContext parameter provides access to the request + * message. + * @return boolean boolean Indicates the processing mode + * <ul> + * <li>Return <code>true</code> to indicate continued + * processing of the request handler chain. The + * <code>HandlerChain</code> + * takes the responsibility of invoking the next + * entity. The next entity may be the next handler + * in the <code>HandlerChain</code> or if this + * handler is the last handler in the chain, the + * next entity is the service endpoint object. + * <li>Return <code>false</code> to indicate blocking + * of the request handler chain. In this case, + * further processing of the request handler chain + * is blocked and the target service endpoint is + * not dispatched. The JAX-RPC runtime system takes + * the responsibility of invoking the response + * handler chain next with the SOAPMessageContext. + * The Handler implementation class has the the + * responsibility of setting the appropriate response + * SOAP message in either handleRequest and/or + * handleResponse method. In the default processing + * model, the response handler chain starts processing + * from the same Handler instance (that returned false) + * and goes backward in the execution sequence. + * </ul> + * + * @throws javax.xml.rpc.JAXRPCException + * indicates a handler-specific + * runtime error. If <code>JAXRPCException</code> is thrown + * by a handleRequest method, the HandlerChain + * terminates the further processing of this handler + * chain. On the server side, the HandlerChain + * generates a SOAP fault that indicates that the + * message could not be processed for reasons not + * directly attributable to the contents of the + * message itself but rather to a runtime error + * during the processing of the message. On the + * client side, the exception is propagated to + * the client code + * @throws javax.xml.rpc.soap.SOAPFaultException + * indicates a SOAP fault. The Handler + * implementation class has the the responsibility + * of setting the SOAP fault in the SOAP message in + * either handleRequest and/or handleFault method. + * If SOAPFaultException is thrown by a server-side + * request handler's handleRequest method, the + * HandlerChain terminates the further processing + * of the request handlers in this handler chain + * and invokes the handleFault method on the + * HandlerChain with the SOAP message context. Next, + * the HandlerChain invokes the handleFault method + * on handlers registered in the handler chain, + * beginning with the Handler instance that threw + * the exception and going backward in execution. The + * client-side request handler's handleRequest method + * should not throw the SOAPFaultException. + */ + public boolean handleRequest(MessageContext context); + + /** + * The <code>handleResponse</code> method processes the response SOAP message. + * + * @param context MessageContext parameter provides access to + * the response SOAP message + * + * @return boolean Indicates the processing mode + * <ul> + * <li>Return <code>true</code> to indicate continued + * processing ofthe response handler chain. The + * HandlerChain invokes the <code>handleResponse</code> + * method on the next <code>Handler</code> in + * the handler chain. + * <li>Return <code>false</code> to indicate blocking + * of the response handler chain. In this case, no + * other response handlers in the handler chain + * are invoked. + * </ul> + * + * @throws javax.xml.rpc.JAXRPCException + * indicates a handler specific runtime error. + * If JAXRPCException is thrown by a handleResponse + * method, the HandlerChain terminates the further + * processing of this handler chain. On the server side, + * the HandlerChain generates a SOAP fault that + * indicates that the message could not be processed + * for reasons not directly attributable to the contents + * of the message itself but rather to a runtime error + * during the processing of the message. On the client + * side, the runtime exception is propagated to the + * client code. + */ + public boolean handleResponse(MessageContext context); + + /** + * The <code>handleFault</code> method processes the SOAP faults + * based on the SOAP message processing model. + * + * @param context MessageContext parameter provides access to + * the SOAP message + * @return boolean Indicates the processing mode + * <ul> + * <li>Return <code>true</code> to indicate continued + * processing of SOAP Fault. The HandlerChain invokes + * the <code>handleFault</code> method on the + * next <code>Handler</code> in the handler chain. + * <li>Return <code>false</code> to indicate end + * of the SOAP fault processing. In this case, no + * other handlers in the handler chain + * are invoked. + * </ul> + * @throws javax.xml.rpc.JAXRPCException indicates handler specific runtime + * error. If JAXRPCException is thrown by a handleFault + * method, the HandlerChain terminates the further + * processing of this handler chain. On the server side, + * the HandlerChain generates a SOAP fault that + * indicates that the message could not be processed + * for reasons not directly attributable to the contents + * of the message itself but rather to a runtime error + * during the processing of the message. On the client + * side, the JAXRPCException is propagated to the + * client code. + */ + public boolean handleFault(MessageContext context); + + /** + * The <code>init</code> method enables the Handler instance to + * initialize itself. The <code>init</code> method passes the + * handler configuration as a <code>HandlerInfo</code> instance. + * The HandlerInfo is used to configure the Handler (for example: + * setup access to an external resource or service) during the + * initialization. + * <p> + * In the init method, the Handler class may get access to + * any resources (for example; access to a logging service or + * database) and maintain these as part of its instance variables. + * Note that these instance variables must not have any state + * specific to the SOAP message processing performed in the + * various handle method. + * + * @param config HandlerInfo configuration for the initialization of this + * handler + * + * @param config + * @throws javax.xml.rpc.JAXRPCException if initialization of the handler + * fails + */ + public abstract void init(HandlerInfo config); + + /** + * The <code>destroy</code> method indicates the end of lifecycle + * for a Handler instance. The Handler implementation class should + * release its resources and perform cleanup in the implementation + * of the <code>destroy</code> method. + * + * @throws javax.xml.rpc.JAXRPCException if there was any error during + * destroy + */ + public abstract void destroy(); + + /** + * Gets the header blocks processed by this Handler instance. + * + * @return Array of QNames of header blocks processed by this + * handler instance. <code>QName</code> is the qualified + * name of the outermost element of the Header block. + */ + public QName[] getHeaders(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerChain.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerChain.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerChain.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerChain.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,120 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.handler; + +import java.util.List; +import java.util.Map; + +/** + * The <code>javax.xml.rpc.handler.HandlerChain</code> represents + * a list of handlers. All elements in the HandlerChain are of + * the type <code>javax.xml.rpc.handler.Handler</code>. + * <p> + * An implementation class for the <code>HandlerChain</code> + * interface abstracts the policy and mechanism for the invocation + * of the registered handlers. + * + * @version 1.0 + */ +public interface HandlerChain extends List { + + /** + * The <code>handleRequest</code> method initiates the request + * processing for this handler chain. + * @param context MessageContext parameter provides access to + * the request SOAP message. + * @return boolean Returns <code>true</code> if all handlers in + * chain have been processed. Returns <code>false</code> + * + * if a handler in the chain returned + * <code>false</code> from its handleRequest + * method. + * @throws javax.xml.rpc.JAXRPCException if any processing error happens + */ + public boolean handleRequest(MessageContext context); + + /** + * The <code>handleResponse</code> method initiates the response + * processing for this handler chain. + * + * @param context MessageContext parameter provides access to the response + * SOAP message. + * @return boolean Returns <code>true</code> if all handlers in + * chain have been processed. Returns <code>false</code> + * if a handler in the chain returned + * <code>false</code> from its handleResponse method. + * @throws javax.xml.rpc.JAXRPCException if any processing error happens + */ + public boolean handleResponse(MessageContext context); + + /** + * The <code>handleFault</code> method initiates the SOAP + * fault processing for this handler chain. + * + * @param context MessageContext parameter provides access to the SOAP + * message. + * @return Returns boolean Returns <code>true</code> if all handlers in + * chain have been processed. Returns <code>false</code> + * if a handler in the chain returned + * <code>false</code> from its handleFault method. + * @throws javax.xml.rpc.JAXRPCException if any processing error happens + */ + public boolean handleFault(MessageContext context); + + /** + * Initializes the configuration for a HandlerChain. + * + * @param config Configuration for the initialization of this handler + * chain + * + * @throws javax.xml.rpc.JAXRPCException if there is any error that prevents + * initialization + */ + public void init(Map config); + + /** + * Indicates the end of lifecycle for a HandlerChain. + * + * @throws javax.xml.rpc.JAXRPCException if there was any error that + * prevented destroy from completing + */ + public void destroy(); + + /** + * Sets SOAP Actor roles for this <code>HandlerChain</code>. This + * specifies the set of roles in which this HandlerChain is to act + * for the SOAP message processing at this SOAP node. These roles + * assumed by a HandlerChain must be invariant during the + * processing of an individual SOAP message through the HandlerChain. + * <p> + * A <code>HandlerChain</code> always acts in the role of the + * special SOAP actor <code>next</code>. Refer to the SOAP + * specification for the URI name for this special SOAP actor. + * There is no need to set this special role using this method. + * + * @param soapActorNames URIs for SOAP actor name + */ + public void setRoles(String[] soapActorNames); + + /** + * Gets SOAP actor roles registered for this HandlerChain at + * this SOAP node. The returned array includes the special + * SOAP actor <code>next</code>. + * @return String[] SOAP Actor roles as URIs + */ + public java.lang.String[] getRoles(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerInfo.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerInfo.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerInfo.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerInfo.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,122 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.handler; + +import javax.xml.namespace.QName; +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +/** + * The <code>javax.xml.rpc.handler.HandlerInfo</code> represents + * information about a handler in the HandlerChain. A HandlerInfo + * instance is passed in the <code>Handler.init</code> method to + * initialize a <code>Handler</code> instance. + * + * @version 1.0 + * @see HandlerChain + */ +public class HandlerInfo implements Serializable { + + /** Default constructor. */ + public HandlerInfo() { + handlerClass = null; + config = new HashMap(); + } + + /** + * Constructor for HandlerInfo. + * + * @param handlerClass Java Class for the Handler + * @param config Handler Configuration as a java.util.Map + * @param headers QNames for the header blocks processed + * by this Handler. QName is the qualified name + * of the outermost element of a header block + */ + public HandlerInfo(Class handlerClass, Map config, QName[] headers) { + + this.handlerClass = handlerClass; + this.config = config; + this.headers = headers; + } + + /** + * Sets the Handler class. + * + * @param handlerClass Class for the Handler + */ + public void setHandlerClass(Class handlerClass) { + this.handlerClass = handlerClass; + } + + /** + * Gets the Handler class. + * + * @return Returns null if no Handler class has been + * set; otherwise the set handler class + */ + public Class getHandlerClass() { + return handlerClass; + } + + /** + * Sets the Handler configuration as <code>java.util.Map</code> + * @param config Configuration map + */ + public void setHandlerConfig(Map config) { + this.config = config; + } + + /** + * Gets the Handler configuration. + * + * @return Returns empty Map if no configuration map + * has been set; otherwise returns the set configuration map + */ + public Map getHandlerConfig() { + return config; + } + + /** + * Sets the header blocks processed by this Handler. + * @param headers QNames of the header blocks. QName + * is the qualified name of the outermost + * element of the SOAP header block + */ + public void setHeaders(QName[] headers) { + this.headers = headers; + } + + /** + * Gets the header blocks processed by this Handler. + * @return Array of QNames for the header blocks. Returns + * <code>null</code> if no header blocks have been + * set using the <code>setHeaders</code> method. + */ + public QName[] getHeaders() { + return headers; + } + + /** Handler Class. */ + private Class handlerClass; + + /** Configuration Map. */ + private Map config; + + /** Headers. */ + private QName[] headers; +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerRegistry.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerRegistry.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerRegistry.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/HandlerRegistry.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,71 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.handler; + +import javax.xml.namespace.QName; +import java.io.Serializable; + +/** + * The <code>javax.xml.rpc.handler.HandlerRegistry</code> + * provides support for the programmatic configuration of + * handlers in a <code>HandlerRegistry</code>. + * <p> + * A handler chain is registered per service endpoint, as + * indicated by the qualified name of a port. The getHandlerChain + * returns the handler chain (as a java.util.List) for the + * specified service endpoint. The returned handler chain is + * configured using the java.util.List interface. Each element + * in this list is required to be of the Java type + * <code>javax.xml.rpc.handler.HandlerInfo</code> + * + * @version 1.0 + */ +public interface HandlerRegistry extends Serializable { + + /** + * Gets the handler chain for the specified service endpoint. + * The returned <code>List</code> is used to configure this + * specific handler chain in this <code>HandlerRegistry</code>. + * Each element in this list is required to be of the Java type + * <code>javax.xml.rpc.handler.HandlerInfo</code>. + * + * @param portName Qualified name of the target service + * @return HandlerChain java.util.List Handler chain + * @throws java.lang.IllegalArgumentException If an invalid <code>portName</code> is specified + */ + public java.util.List getHandlerChain(QName portName); + + /** + * Sets the handler chain for the specified service endpoint + * as a <code>java.util.List</code>. Each element in this list + * is required to be of the Java type + * <code>javax.xml.rpc.handler.HandlerInfo</code>. + * + * @param portName Qualified name of the target service endpoint + * @param chain a List representing configuration for the + * handler chain + * @throws javax.xml.rpc.JAXRPCException if there is any error in the + * configuration of the handler chain + * @throws java.lang.UnsupportedOperationException if this + * set operation is not supported. This is done to + * avoid any overriding of a pre-configured handler + * chain. + * @throws java.lang.IllegalArgumentException If an invalid + * <code>portName</code> is specified + */ + public abstract void setHandlerChain(QName portName, java.util.List chain); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/MessageContext.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/MessageContext.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/MessageContext.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/MessageContext.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,90 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.handler; + +import java.util.Iterator; + +/** + * The interface <code>MessageContext</code> abstracts the message + * context that is processed by a handler in the <code>handle</code> + * method. + * + * <p>The <code>MessageContext</code> interface provides methods to + * manage a property set. <code>MessageContext</code> properties + * enable handlers in a handler chain to share processing related + * state. + * + * @version 1.0 + */ +public interface MessageContext { + + /** + * Sets the name and value of a property associated with the + * <code>MessageContext</code>. If the <code>MessageContext</code> + * contains a value of the same property, the old value is replaced. + * + * @param name ame of the property associated with the + * <code>MessageContext</code> + * @param value Value of the property + * @throws java.lang.IllegalArgumentException If some aspect + * the property is prevents it from being stored + * in the context + * @throws java.lang.UnsupportedOperationException If this method is + * not supported. + */ + public abstract void setProperty(String name, Object value); + + /** + * Gets the value of a specific property from the + * <code>MessageContext</code>. + * + * @param name the name of the property whose value is to be + * retrieved + * @return the value of the property + * @throws java.lang.IllegalArgumentException if an illegal + * property name is specified + */ + public abstract Object getProperty(String name); + + /** + * Removes a property (name-value pair) from the + * <code>MessageContext</code>. + * + * @param name the name of the property to be removed + * + * @throws java.lang.IllegalArgumentException if an illegal + * property name is specified + */ + public abstract void removeProperty(String name); + + /** + * Returns true if the <code>MessageContext</code> contains a property + * with the specified name. + * @param name Name of the property whose presense is to be tested + * @return Returns true if the MessageContext contains the + * property; otherwise false + */ + public abstract boolean containsProperty(String name); + + /** + * Returns an Iterator view of the names of the properties + * in this <code>MessageContext</code>. + * + * @return Iterator for the property names + */ + public abstract Iterator getPropertyNames(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/handler/soap/SOAPMessageContext.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,70 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.handler.soap; + +import javax.xml.rpc.handler.MessageContext; +import javax.xml.soap.SOAPMessage; + +/** + * The interface <code>javax.xml.rpc.soap.SOAPMessageContext</code> + * provides access to the SOAP message for either RPC request or + * response. The <code>javax.xml.soap.SOAPMessage</code> specifies + * the standard Java API for the representation of a SOAP 1.1 message + * with attachments. + * + * @version 1.0 + * @see javax.xml.soap.SOAPMessage + */ +public interface SOAPMessageContext extends MessageContext { + + /** + * Gets the SOAPMessage from this message context. + * + * @return the <code>SOAPMessage</code>; <code>null</code> if no request + * <code>SOAPMessage</code> is present in this + * <code>SOAPMessageContext</code> + */ + public abstract SOAPMessage getMessage(); + + /** + * Sets the <code>SOAPMessage</code> for this message context. + * + * @param message SOAP message + * @throws javax.xml.rpc.JAXRPCException if any error during the setting + * of the SOAPMessage in this message context + * @throws java.lang.UnsupportedOperationException if this + * operation is not supported + */ + public abstract void setMessage(SOAPMessage message); + + /** + * Gets the SOAP actor roles associated with an execution + * of the HandlerChain and its contained Handler instances. + * Note that SOAP actor roles apply to the SOAP node and + * are managed using <code>HandlerChain.setRoles</code> and + * <code>HandlerChain.getRoles</code>. Handler instances in + * the HandlerChain use this information about the SOAP actor + * roles to process the SOAP header blocks. Note that the + * SOAP actor roles are invariant during the processing of + * SOAP message through the HandlerChain. + * + * @return Array of URIs for SOAP actor roles + * @see javax.xml.rpc.handler.HandlerChain#setRoles(java.lang.String[]) HandlerChain.setRoles(java.lang.String[]) + * @see javax.xml.rpc.handler.HandlerChain#getRoles() HandlerChain.getRoles() + */ + public abstract String[] getRoles(); +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigDecimalHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigDecimalHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigDecimalHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigDecimalHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,45 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +import java.math.BigDecimal; + +/** + * Holder for <code>BigDecimal</code>s. + * + * @version 1.0 + */ +public final class BigDecimalHolder implements Holder { + + /** The <code>BigDecimal</code> contained by this holder. */ + public BigDecimal value; + + /** + * Make a new <code>BigDecimalHolder</code> with a <code>null</code> value. + */ + public BigDecimalHolder() {} + + /** + * Make a new <code>BigDecimalHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>BigDecimal</code> to hold + */ + public BigDecimalHolder(BigDecimal value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigIntegerHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigIntegerHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigIntegerHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BigIntegerHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,45 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +import java.math.BigInteger; + +/** + * Holder for <code>BigInteger</code>s. + * + * @version 1.0 + */ +public final class BigIntegerHolder implements Holder { + + /** The <code>BigInteger</code> that is held. */ + public BigInteger value; + + /** + * Make a new <code>BigIntegerHolder</code> with a <code>null</code> value. + */ + public BigIntegerHolder() {} + + /** + * Make a new <code>BigIntegerHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>BigInteger</code> to hold + */ + public BigIntegerHolder(BigInteger value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>boolean</code>s. + * + * @version 1.0 + */ +public final class BooleanHolder implements Holder { + + /** The <code>boolean</code> contained by this holder. */ + public boolean value; + + /** + * Make a new <code>BooleanHolder</code> with a <code>null</code> value. + */ + public BooleanHolder() {} + + /** + * Make a new <code>BooleanHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>boolean</code> to hold + */ + public BooleanHolder(boolean value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanWrapperHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanWrapperHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanWrapperHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/BooleanWrapperHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>Boolean</code>s. + * + * @version 1.0 + */ +public final class BooleanWrapperHolder implements Holder { + + /** The <code>Boolean</code> contained by this holder. */ + public Boolean value; + + /** + * Make a new <code>BooleanWrapperHolder</code> with a <code>null</code> value. + */ + public BooleanWrapperHolder() {} + + /** + * Make a new <code>BooleanWrapperHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Boolean</code> to hold + */ + public BooleanWrapperHolder(Boolean value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteArrayHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteArrayHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteArrayHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteArrayHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>byte[]</code>s. + * + * @version 1.0 + */ +public final class ByteArrayHolder implements Holder { + + /** The <code>byte[]</code> contained by this holder. */ + public byte[] value; + + /** + * Make a new <code>ByteArrayHolder</code> with a <code>null</code> value. + */ + public ByteArrayHolder() {} + + /** + * Make a new <code>ByteArrayHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>byte[]</code> to hold + */ + public ByteArrayHolder(byte[] value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>byte</code>s. + * + * @version 1.0 + */ +public final class ByteHolder implements Holder { + + /** The <code>byte</code> contained by this holder. */ + public byte value; + + /** + * Make a new <code>ByteHolder</code> with a <code>null</code> value. + */ + public ByteHolder() {} + + /** + * Make a new <code>ByteHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>byte</code> to hold + */ + public ByteHolder(byte value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteWrapperHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteWrapperHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteWrapperHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ByteWrapperHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,42 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>Byte</code>s. + * + * @version 1.0 + */ +public final class ByteWrapperHolder implements Holder { + + /** The <code>Byte</code> contained by this holder. */ + public Byte value; + + /** + * Make a new <code>ByteWrapperHolder</code> with a <code>null</code> value. + */ + public ByteWrapperHolder() {} + + /** + * Make a new <code>ByteWrapperHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Byte</code> to hold + */ + public ByteWrapperHolder(Byte value) { + this.value = value; + } +} Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/CalendarHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/CalendarHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/CalendarHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/CalendarHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,45 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +import java.util.Calendar; + +/** + * Holder for <code>Calendar</code>s. + * + * @version 1.0 + */ +public final class CalendarHolder implements Holder { + + /** The <code>Calendar</code> that is held. */ + public Calendar value; + + /** + * Make a new <code>CalendarHolder</code> with a <code>null</code> value.r + */ + public CalendarHolder() {} + + /** + * Make a new <code>CalendarHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Calendar</code> to hold + */ + public CalendarHolder(Calendar value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>double</code>s. + * + * @version 1.0 + */ +public final class DoubleHolder implements Holder { + + /** The <code>double</code> contained by this holder. */ + public double value; + + /** + * Make a new <code>DoubleHolder</code> with a <code>null</code> value. + */ + public DoubleHolder() {} + + /** + * Make a new <code>DoubleHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>double</code> to hold + */ + public DoubleHolder(double value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleWrapperHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleWrapperHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleWrapperHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/DoubleWrapperHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>Double</code>s. + * + * @version 1.0 + */ +public final class DoubleWrapperHolder implements Holder { + + /** The <code>Double</code> contained by this holder. */ + public Double value; + + /** + * Make a new <code>DoubleWrapperHolder</code> with a <code>null</code> value. + */ + public DoubleWrapperHolder() {} + + /** + * Make a new <code>DoubleWrapperHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Double</code> to hold + */ + public DoubleWrapperHolder(Double value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>float</code>s. + * + * @version 1.0 + */ +public final class FloatHolder implements Holder { + + /** The <code>byte</code> contained by this holder. */ + public float value; + + /** + * Make a new <code>FloatHolder</code> with a <code>null</code> value. + */ + public FloatHolder() {} + + /** + * Make a new <code>FloatHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>float</code> to hold + */ + public FloatHolder(float value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatWrapperHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatWrapperHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatWrapperHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/FloatWrapperHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>Float</code>s. + * + * @version 1.0 + */ +public final class FloatWrapperHolder implements Holder { + + /** The <code>Float</code> contained by this holder. */ + public Float value; + + /** + * Make a new <code>FloatWrapperHolder</code> with a <code>null</code> value. + */ + public FloatWrapperHolder() {} + + /** + * Make a new <code>FloatWrapperHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Float</code> to hold + */ + public FloatWrapperHolder(Float value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/Holder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/Holder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/Holder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/Holder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,25 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * The <code>java.xml.rpc.holders.Holder</code> interface represents the base interface for both standard and + * generated Holder classes. A generated Holder class is required to implement this Holder interface. + * + * @version 1.0 + */ +public interface Holder {} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>int</code>s. + * + * @version 1.0 + */ +public final class IntHolder implements Holder { + + /** The <code>int</code> contained by this holder. */ + public int value; + + /** + * Make a new <code>IntHolder</code> with a <code>null</code> value. + */ + public IntHolder() {} + + /** + * Make a new <code>IntHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>int</code> to hold + */ + public IntHolder(int value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntegerWrapperHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntegerWrapperHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntegerWrapperHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/IntegerWrapperHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,43 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>Integer</code>s. + * + * @version 1.0 + */ +public final class IntegerWrapperHolder implements Holder { + + /** The <code>Integer</code> contained by this holder. */ + public Integer value; + + /** + * Make a new <code>IntegerWrapperHolder</code> with a <code>null</code> value. + */ + public IntegerWrapperHolder() {} + + /** + * Make a new <code>IntegerWrapperHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Integer</code> to hold + */ + public IntegerWrapperHolder(Integer value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,44 @@ + +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>long</code>s. + * + * @version 1.0 + */ +public final class LongHolder implements Holder { + + /** The <code>long</code> contained by this holder. */ + public long value; + + /** + * Make a new <code>LongHolder</code> with a <code>null</code> value. + */ + public LongHolder() {} + + /** + * Make a new <code>LongHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>long</code> to hold + */ + public LongHolder(long value) { + this.value = value; + } +} + Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongWrapperHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongWrapperHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongWrapperHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/LongWrapperHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,42 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>Long</code>s. + * + * @version 1.0 + */ +public final class LongWrapperHolder implements Holder { + + /** The <code>Long</code> contained by this holder. */ + public Long value; + + /** + * Make a new <code>LongWrapperHolder</code> with a <code>null</code> value. + */ + public LongWrapperHolder() {} + + /** + * Make a new <code>LongWrapperHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Long</code> to hold + */ + public LongWrapperHolder(Long value) { + this.value = value; + } +} Added: geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ObjectHolder.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ObjectHolder.java?view=auto&rev=153028 ============================================================================== --- geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ObjectHolder.java (added) +++ geronimo/trunk/specs/jaxrpc/src/javax/xml/rpc/holders/ObjectHolder.java Tue Feb 8 22:00:44 2005 @@ -0,0 +1,42 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed 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.holders; + +/** + * Holder for <code>Object</code>s. + * + * @version 1.0 + */ +public final class ObjectHolder implements Holder { + + /** The <code>Object</code> contained by this holder. */ + public Object value; + + /** + * Make a new <code>ObjectHolder</code> with a <code>null</code> value. + */ + public ObjectHolder() {} + + /** + * Make a new <code>ObjectHolder</code> with <code>value</code> as + * the value. + * + * @param value the <code>Object</code> to hold + */ + public ObjectHolder(Object value) { + this.value = value; + } +}