/*
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package javax.xml.soap;
A representation of an XML name. This interface provides methods for
getting the local and namespace-qualified names and also for getting the
prefix associated with the namespace for the name. It is also possible
to get the URI of the namespace.
The following is an example of a namespace declaration in an element. <wombat:GetLastTradePrice xmlns:wombat="http://www.wombat.org/trader">
("xmlns" stands for "XML namespace".) The following shows what the methods in the Name
interface will return.
getQualifiedName
will return "prefix:LocalName" = "WOMBAT:GetLastTradePrice" getURI
will return "http://www.wombat.org/trader" getLocalName
will return "GetLastTracePrice" getPrefix
will return "WOMBAT"
XML namespaces are used to disambiguate SOAP identifiers from
application-specific identifiers.
Name
objects are created using the method SOAPEnvelope.createName
, which has two versions. One method creates Name
objects with a local name, a namespace prefix, and a namespace URI. and the second creates Name
objects with just a local name. The following line of code, in which se is a SOAPEnvelope
object, creates a new Name
object with all three.
Name name = se.createName("GetLastTradePrice", "WOMBAT",
"http://www.wombat.org/trader");
The following line of code gives an example of how a Name
object can be used. The variable element is a SOAPElement
object. This code creates a new SOAPElement
object with the given name and adds it to element.
element.addChildElement(name);
The Name
interface may be deprecated in a future release of SAAJ in favor of javax.xml.namespace.QName
See Also: Since: 1.6
/**
* A representation of an XML name. This interface provides methods for
* getting the local and namespace-qualified names and also for getting the
* prefix associated with the namespace for the name. It is also possible
* to get the URI of the namespace.
* <P>
* The following is an example of a namespace declaration in an element.
* {@code <wombat:GetLastTradePrice xmlns:wombat="http://www.wombat.org/trader">}
* ("xmlns" stands for "XML namespace".)
* The following
* shows what the methods in the {@code Name} interface will return.
* <UL>
* <LI>{@code getQualifiedName} will return "prefix:LocalName" =
* "WOMBAT:GetLastTradePrice"
* <LI>{@code getURI} will return "http://www.wombat.org/trader"
* <LI>{@code getLocalName} will return "GetLastTracePrice"
* <LI>{@code getPrefix} will return "WOMBAT"
* </UL>
* <P>
* XML namespaces are used to disambiguate SOAP identifiers from
* application-specific identifiers.
* <P>
* {@code Name} objects are created using the method
* {@code SOAPEnvelope.createName}, which has two versions.
* One method creates {@code Name} objects with
* a local name, a namespace prefix, and a namespace URI.
* and the second creates {@code Name} objects with just a local name.
* The following line of
* code, in which <i>se</i> is a {@code SOAPEnvelope} object, creates a new
* {@code Name} object with all three.
* <pre>{@code
* Name name = se.createName("GetLastTradePrice", "WOMBAT",
* "http://www.wombat.org/trader");
* }</pre>
* The following line of code gives an example of how a {@code Name} object
* can be used. The variable <i>element</i> is a {@code SOAPElement} object.
* This code creates a new {@code SOAPElement} object with the given name and
* adds it to <i>element</i>.
* <pre>{@code
* element.addChildElement(name);
* }</pre>
* <P>
* The {@code Name} interface may be deprecated in a future release of SAAJ
* in favor of {@code javax.xml.namespace.QName}
* @see SOAPEnvelope#createName(String, String, String) SOAPEnvelope.createName
* @see SOAPFactory#createName(String, String, String) SOAPFactory.createName
* @since 1.6
*/
public interface Name {
Gets the local name part of the XML name that this Name
object represents. Returns: a string giving the local name
/**
* Gets the local name part of the XML name that this {@code Name}
* object represents.
*
* @return a string giving the local name
*/
String getLocalName();
Gets the namespace-qualified name of the XML name that this Name
object represents. Returns: the namespace-qualified name as a string
/**
* Gets the namespace-qualified name of the XML name that this
* {@code Name} object represents.
*
* @return the namespace-qualified name as a string
*/
String getQualifiedName();
Returns the prefix that was specified when this Name
object was initialized. This prefix is associated with the namespace for the XML name that this Name
object represents. Returns: the prefix as a string
/**
* Returns the prefix that was specified when this {@code Name} object
* was initialized. This prefix is associated with the namespace for the XML
* name that this {@code Name} object represents.
*
* @return the prefix as a string
*/
String getPrefix();
Returns the URI of the namespace for the XML name that this Name
object represents. Returns: the URI as a string
/**
* Returns the URI of the namespace for the XML
* name that this {@code Name} object represents.
*
* @return the URI as a string
*/
String getURI();
}