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