47 */
48 public abstract class SOAPFactory {
49
50 /**
51 * Class name of default {@code SOAPFactory} implementation.
52 */
53 private static final String DEFAULT_SOAP_FACTORY
54 = "com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl";
55
56 /**
57 * Creates a {@code SOAPElement} object from an existing DOM
58 * {@code Element}. If the DOM {@code Element} that is passed in
59 * as an argument is already a {@code SOAPElement} then this method
60 * must return it unmodified without any further work. Otherwise, a new
61 * {@code SOAPElement} is created and a deep copy is made of the
62 * {@code domElement} argument. The concrete type of the return value
63 * will depend on the name of the {@code domElement} argument. If any
64 * part of the tree rooted in {@code domElement} violates SOAP rules, a
65 * {@code SOAPException} will be thrown.
66 *
67 * @param domElement - the {@code Element} to be copied.
68 *
69 * @return a new {@code SOAPElement} that is a copy of {@code domElement}.
70 *
71 * @exception SOAPException if there is an error in creating the
72 * {@code SOAPElement} object
73 *
74 * @since 1.6, SAAJ 1.3
75 */
76 public SOAPElement createElement(Element domElement) throws SOAPException {
77 throw new UnsupportedOperationException("createElement(org.w3c.dom.Element) must be overridden by all subclasses of SOAPFactory.");
78 }
79
80 /**
81 * Creates a {@code SOAPElement} object initialized with the
82 * given {@code Name} object. The concrete type of the return value
83 * will depend on the name given to the new {@code SOAPElement}. For
84 * instance, a new {@code SOAPElement} with the name
85 * "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause a
86 * {@code SOAPEnvelope} that supports SOAP 1.2 behavior to be created.
87 *
|
47 */
48 public abstract class SOAPFactory {
49
50 /**
51 * Class name of default {@code SOAPFactory} implementation.
52 */
53 private static final String DEFAULT_SOAP_FACTORY
54 = "com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl";
55
56 /**
57 * Creates a {@code SOAPElement} object from an existing DOM
58 * {@code Element}. If the DOM {@code Element} that is passed in
59 * as an argument is already a {@code SOAPElement} then this method
60 * must return it unmodified without any further work. Otherwise, a new
61 * {@code SOAPElement} is created and a deep copy is made of the
62 * {@code domElement} argument. The concrete type of the return value
63 * will depend on the name of the {@code domElement} argument. If any
64 * part of the tree rooted in {@code domElement} violates SOAP rules, a
65 * {@code SOAPException} will be thrown.
66 *
67 * @param domElement the {@code Element} to be copied.
68 *
69 * @return a new {@code SOAPElement} that is a copy of {@code domElement}.
70 *
71 * @exception SOAPException if there is an error in creating the
72 * {@code SOAPElement} object
73 *
74 * @since 1.6, SAAJ 1.3
75 */
76 public SOAPElement createElement(Element domElement) throws SOAPException {
77 throw new UnsupportedOperationException("createElement(org.w3c.dom.Element) must be overridden by all subclasses of SOAPFactory.");
78 }
79
80 /**
81 * Creates a {@code SOAPElement} object initialized with the
82 * given {@code Name} object. The concrete type of the return value
83 * will depend on the name given to the new {@code SOAPElement}. For
84 * instance, a new {@code SOAPElement} with the name
85 * "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause a
86 * {@code SOAPEnvelope} that supports SOAP 1.2 behavior to be created.
87 *
|