Package org.exolab.castor.types
Class AnyNode
java.lang.Object
org.exolab.castor.types.AnyNode
- All Implemented Interfaces:
Serializable
A class used to represent an XML node. This is an alternative to DOM which is
too heavy for our purpose (mainly handle XML Fragment when <any>
is used in an XML schema). The model is based on XPath Node. An AnyNode can
be a:
- ELEMENT
- ATTRIBUTE
- NAMESPACE
- COMMENT
- TEXT
- PROCESSING INSTRUCTION
- Version:
- $Revision: 7289 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
- Author:
- Assaf Arkin, Arnaud Blandin, Keith Visco
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final short
Representation for an attribute node.static final short
Representation for a comment node.static final short
Representation for an element node.static final short
Representation for a Namespace node.static final short
Representation for a processing instruction node.static final short
Representation for a text node. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAnyNode
(AnyNode node) Adds an AnyNode to the current nodevoid
addAttribute
(AnyNode node) Adds an attribute to the current node.void
Adds a child AnyNode to this node.void
addNamespace
(AnyNode node) Appends an namespace to the current node.protected void
appendSibling
(AnyNode node) Appends a sibling AnyNode to the current node.Returns the first attribute of the current ELEMENT node or null.Returns the first Child node of this node.protected AnyNode
Returns the first child node in the tree.Returns the first namespace of the current ELEMENT node or null.Returns the local name of the node.Returns the namespace prefix associated with the namespace URI of this node.Returns the namespace URI of the node.Returns the next sibling of the current node.short
Returns the type of this node.Returns the string value of the node.toString()
Returns the String representation of this AnyNode.
-
Field Details
-
ELEMENT
public static final short ELEMENTRepresentation for an element node.- See Also:
-
ATTRIBUTE
public static final short ATTRIBUTERepresentation for an attribute node.- See Also:
-
NAMESPACE
public static final short NAMESPACERepresentation for a Namespace node.- See Also:
-
PI
public static final short PIRepresentation for a processing instruction node.- See Also:
-
COMMENT
public static final short COMMENTRepresentation for a comment node.- See Also:
-
TEXT
public static final short TEXTRepresentation for a text node.- See Also:
-
-
Constructor Details
-
AnyNode
public AnyNode()Default constructor: creates an empty element node -
AnyNode
Creates a node given all the necessary information: type, localName, prefix, uri and value. This constructor is not user-friendly and launched RunTime exception is you try to instantiate non-valid node.- Parameters:
type
- the node type.localName
- the name of the node.prefix
- the prefix if any of the namespace.uri
- the namespace uri of this node.value
- the value of this node.
-
-
Method Details
-
addAnyNode
Adds an AnyNode to the current node- Parameters:
node
- the node to append
-
addChild
Adds a child AnyNode to this node. A 'child' can be either an ELEMENT node, a COMMENT node, a TEXT node or a PROCESSING INSTRUCTION. If the current node already has a child then the node to add will be append as a sibling.
Note: you cannot add a child to a TEXT node.
- Parameters:
node
- the node to add.
-
addAttribute
Adds an attribute to the current node.- Parameters:
node
- the attribute to add.
-
addNamespace
Appends an namespace to the current node.- Parameters:
node
- the attribute to add.
-
getFirstAttribute
Returns the first attribute of the current ELEMENT node or null. The next attribute,if any,is the sibling of the returned node. -
getFirstNamespace
Returns the first namespace of the current ELEMENT node or null. The next attribute if any is the sibling of the returned node.- Returns:
- the first namespace of the current ELEMENT node or null.
-
getFirstChild
Returns the first Child node of this node. A 'child' can be either an ELEMENT node, a COMMENT node, a TEXT node or a PROCESSING INSTRUCTION.- Returns:
- the first child of this node
-
getNextSibling
Returns the next sibling of the current node. When the AnyNode is an ATTRIBUTE, it will return the next ATTRIBUTE node. When the AnyNode is a NAMESPACE, it will return the next NAMESPACE node.- Returns:
- the next sibling of the current node
-
getNodeType
public short getNodeType()Returns the type of this node.- Returns:
- The type of this node
-
getLocalName
Returns the local name of the node. Returns the local name of an element or attribute, the prefix of a namespace node, the target of a processing instruction, or null for all other node types.- Returns:
- The local name of the node, or null if the node has no name
-
getNamespaceURI
Returns the namespace URI of the node. Returns the namespace URI of an element, attribute or namespace node, or null for all other node types.- Returns:
- The namespace URI of the node, or null if the node has no namespace URI
-
getStringValue
Returns the string value of the node. The string value of a text node or an attribute node is its text value. The string value of an element or a root node is the concatenation of the string value of all its child nodes. The string value of a namespace node is its namespace URI. The string value of a processing instruction is the instruction, and the string value of a comment is the comment text.- Returns:
- The string value of the node
-
getNamespacePrefix
Returns the namespace prefix associated with the namespace URI of this node. Returns null if no prefix. is defined for this namespace URI. Returns an empty string if the default prefix is associated with this namespace URI.- Returns:
- The namespace prefix, or null
-
toString
Returns the String representation of this AnyNode. The String representation is a xml well-formed fragment corresponding to the representation of this node. -
appendSibling
Appends a sibling AnyNode to the current node. The node to append will be added at the end of the sibling branch.- Parameters:
node
- the node to add
-
getFirstChildNode
Returns the first child node in the tree.- Returns:
- the first child node in the tree.
-