001 /*
002 * Copyright 2001-2004 The Apache Software Foundation.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package javax.xml.soap;
017
018 /**
019 * <P><CODE>SOAPElementFactory</CODE> is a factory for XML
020 * fragments that will eventually end up in the SOAP part. These
021 * fragments can be inserted as children of the <CODE>
022 * SOAPHeader</CODE> or <CODE>SOAPBody</CODE> or <CODE>
023 * SOAPEnvelope</CODE>.</P>
024 *
025 * <P>Elements created using this factory do not have the
026 * properties of an element that lives inside a SOAP header
027 * document. These elements are copied into the XML document tree
028 * when they are inserted.</P>
029 * @deprecated - Use javax.xml.soap.SOAPFactory for creating SOAPElements.
030 * @see SOAPFactory SOAPFactory
031 */
032 public class SOAPElementFactory {
033
034 /**
035 * Create a new <code>SOAPElementFactory from a <code>SOAPFactory</code>.
036 *
037 * @param soapfactory the <code>SOAPFactory</code> to use
038 */
039 private SOAPElementFactory(SOAPFactory soapfactory) {
040 sf = soapfactory;
041 }
042
043 /**
044 * Create a <CODE>SOAPElement</CODE> object initialized with
045 * the given <CODE>Name</CODE> object.
046 * @param name a <CODE>Name</CODE> object with
047 * the XML name for the new element
048 * @return the new <CODE>SOAPElement</CODE> object that was
049 * created
050 * @throws SOAPException if there is an error in
051 * creating the <CODE>SOAPElement</CODE> object
052 * @deprecated Use javax.xml.soap.SOAPFactory.createElement(javax.xml.soap.Name) instead
053 * @see SOAPFactory#createElement(javax.xml.soap.Name) SOAPFactory.createElement(javax.xml.soap.Name)
054 */
055 public SOAPElement create(Name name) throws SOAPException {
056 return sf.createElement(name);
057 }
058
059 /**
060 * Create a <CODE>SOAPElement</CODE> object initialized with
061 * the given local name.
062 * @param localName a <CODE>String</CODE> giving
063 * the local name for the new element
064 * @return the new <CODE>SOAPElement</CODE> object that was
065 * created
066 * @throws SOAPException if there is an error in
067 * creating the <CODE>SOAPElement</CODE> object
068 * @deprecated Use javax.xml.soap.SOAPFactory.createElement(String localName) instead
069 * @see SOAPFactory#createElement(java.lang.String) SOAPFactory.createElement(java.lang.String)
070 */
071 public SOAPElement create(String localName) throws SOAPException {
072 return sf.createElement(localName);
073 }
074
075 /**
076 * Create a new <CODE>SOAPElement</CODE> object with the
077 * given local name, prefix and uri.
078 * @param localName a <CODE>String</CODE> giving
079 * the local name for the new element
080 * @param prefix the prefix for this <CODE>
081 * SOAPElement</CODE>
082 * @param uri a <CODE>String</CODE> giving the
083 * URI of the namespace to which the new element
084 * belongs
085 * @return the new <CODE>SOAPElement</CODE> object that was
086 * created
087 * @throws SOAPException if there is an error in
088 * creating the <CODE>SOAPElement</CODE> object
089 * @deprecated Use javax.xml.soap.SOAPFactory.createElement(String localName, String prefix, String uri) instead
090 * @see SOAPFactory#createElement(java.lang.String, java.lang.String, java.lang.String) SOAPFactory.createElement(java.lang.String, java.lang.String, java.lang.String)
091 */
092 public SOAPElement create(String localName, String prefix, String uri)
093 throws SOAPException {
094 return sf.createElement(localName, prefix, uri);
095 }
096
097 /**
098 * Creates a new instance of <CODE>SOAPElementFactory</CODE>.
099 *
100 * @return a new instance of a <CODE>
101 * SOAPElementFactory</CODE>
102 * @throws SOAPException if there was an error creating
103 * the default <CODE>SOAPElementFactory
104 */
105 public static SOAPElementFactory newInstance() throws SOAPException {
106
107 try {
108 return new SOAPElementFactory(SOAPFactory.newInstance());
109 } catch (Exception exception) {
110 throw new SOAPException("Unable to create SOAP Element Factory: "
111 + exception.getMessage());
112 }
113 }
114
115 private SOAPFactory sf;
116 }