antelder 2002/10/24 02:11:21 Modified: java/src/org/apache/wsif WSIFMessage.java Log: Improve WSIFMessage Javadoc Revision Changes Path 1.3 +36 -7 xml-axis-wsif/java/src/org/apache/wsif/WSIFMessage.java Index: WSIFMessage.java =================================================================== RCS file: /home/cvs/xml-axis-wsif/java/src/org/apache/wsif/WSIFMessage.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- WSIFMessage.java 4 Sep 2002 18:23:50 -0000 1.2 +++ WSIFMessage.java 24 Oct 2002 09:11:21 -0000 1.3 @@ -63,13 +63,42 @@ import javax.wsdl.Message; /** - * @author hughesj - * - * To change this generated comment edit the template variable "typecomment": - * Window>Preferences>Java>Templates. - */ -/** - * A WSIFMessage is a an interface representing a message. + * A WSIFMessage is a an interface representing a WSDL Message. + * <p> + * In WSDL, a Message describes the abstract type of the input + * or output to an operation. This is the corresponding WSIF + * class which represents in memory the actual input or output + * of an operation. + * <p> + * A WSIFMessage is a container for a set of named parts. The + * WSIFMessage interface separates the actual representation of + * the data from the abstract type defined by WSDL. + * <p> + * WSIFMessage implementations are free to represent the the + * actual part data in any way that is convenient to them. + * This could be a simple HashMap as in the WSIFDefaultMessage + * implementation, or it could be something more complex, such + * as a stream or tree representation. + * <p> + * In addition to the containing parts, a WSIFMessage also has + * a message name. This is required for operation overloading + * which is supported by WSDL and WSIF. + * <p> + * WSIFMessages are cloneable and serializable. If the parts set are + * not cloneable, the implementation should try to clone them using + * serialization. If the parts are not serializable either, then a + * CloneNotSupportedException will be thrown if cloning is attempted. + * <p> + * A WSIFMessage should be not created by directly instantiating + * a WSIFMessage, but should be created by calling one of the + * {@link WSIFOperation#createInputMessage()}, {@link WSIFOperation#createOutputMessage()}, + * or {@link WSIFOperation#createFaultMessage()} methods. + * <p> + * An instance of a WSIFMessage should only be used for the purpose + * it was created for, for example, a WSIFMessage created by the + * {@link WSIFOperation#createInputMessage(String)} should not be used as an + * output message. A WSIFMessage should only be used once, it should + * not be reused in any subsequent WSIFOperation requests. * * @author Paul Fremantle * @author Alekander Slominski