org.jdom

Class Attribute

public class Attribute extends Object implements Serializable, Cloneable

An XML attribute. Methods allow the user to obtain the value of the attribute as well as namespace and type information.

Version: $Revision: 1.56 $, $Date: 2007/11/10 05:28:58 $

Author: Brett McLaughlin Jason Hunter Elliotte Rusty Harold Wesley Biggs Victor Toni

Field Summary
static intCDATA_TYPE
Attribute type: the attribute value is a string.
static intENTITIES_TYPE

Attribute type: the attribute value is a list of entity names.

static intENTITY_TYPE
Attribute type: the attribute value is the name of an entity.
static intENUMERATED_TYPE
Attribute type: the attribute value is a name token from an enumeration.
static intIDREFS_TYPE
Attribute type: the attribute value is a list of references to unique identifiers.
static intIDREF_TYPE
Attribute type: the attribute value is a reference to a unique identifier.
static intID_TYPE
Attribute type: the attribute value is a unique identifier.
protected Stringname
The local name of the Attribute
protected Namespacenamespace
The Namespace of the Attribute
static intNMTOKENS_TYPE
Attribute type: the attribute value is a list of name tokens.
static intNMTOKEN_TYPE
Attribute type: the attribute value is a name token.
static intNOTATION_TYPE
Attribute type: the attribute value is the name of a notation.
protected Elementparent
Parent element, or null if none
protected inttype
The type of the Attribute
static intUNDECLARED_TYPE
Attribute type: the attribute has not been declared or type is unknown.
protected Stringvalue
The value of the Attribute
Constructor Summary
protected Attribute()
Default, no-args constructor for implementations to use if needed.
Attribute(String name, String value, Namespace namespace)
This will create a new Attribute with the specified (local) name and value, and in the provided Namespace.
Attribute(String name, String value, int type, Namespace namespace)
This will create a new Attribute with the specified (local) name, value, and type, and in the provided Namespace.
Attribute(String name, String value)
This will create a new Attribute with the specified (local) name and value, and does not place the attribute in a Namespace.
Attribute(String name, String value, int type)
This will create a new Attribute with the specified (local) name, value and type, and does not place the attribute in a Namespace.
Method Summary
Objectclone()
This will return a clone of this Attribute.
Attributedetach()
This detaches the Attribute from its parent, or does nothing if the Attribute has no parent.
booleanequals(Object ob)
This tests for equality of this Attribute to the supplied Object.
intgetAttributeType()
This will return the actual declared type of this Attribute.
booleangetBooleanValue()
This gets the effective boolean value of the attribute, or throws a DataConversionException if a conversion can't be performed.
DocumentgetDocument()
This retrieves the owning Document for this Attribute, or null if not a currently a member of a Document.
doublegetDoubleValue()
This gets the value of the attribute, in double form, and if no conversion can occur, throws a DataConversionException
floatgetFloatValue()
This gets the value of the attribute, in float form, and if no conversion can occur, throws a DataConversionException
intgetIntValue()
This gets the value of the attribute, in int form, and if no conversion can occur, throws a DataConversionException
longgetLongValue()
This gets the value of the attribute, in long form, and if no conversion can occur, throws a DataConversionException
StringgetName()
This will retrieve the local name of the Attribute.
NamespacegetNamespace()
This will return this Attribute's Namespace.
StringgetNamespacePrefix()
This will retrieve the namespace prefix of the Attribute.
StringgetNamespaceURI()
This returns the URI mapped to this Attribute's prefix.
ElementgetParent()
This will return the parent of this Attribute.
StringgetQualifiedName()
This will retrieve the qualified name of the Attribute.
StringgetValue()
This will return the actual textual value of this Attribute.
inthashCode()
This returns the hash code for this Attribute.
AttributesetAttributeType(int type)
This will set the type of the Attribute.
AttributesetName(String name)
This sets the local name of the Attribute.
AttributesetNamespace(Namespace namespace)
This sets this Attribute's Namespace.
protected AttributesetParent(Element parent)
This will set the parent of this Attribute.
AttributesetValue(String value)
This will set the value of the Attribute.
StringtoString()
This returns a String representation of the Attribute, suitable for debugging.

Field Detail

CDATA_TYPE

public static final int CDATA_TYPE
Attribute type: the attribute value is a string.

See Also: Attribute

ENTITIES_TYPE

public static final int ENTITIES_TYPE

Attribute type: the attribute value is a list of entity names.

See Also: Attribute

ENTITY_TYPE

public static final int ENTITY_TYPE
Attribute type: the attribute value is the name of an entity.

See Also: Attribute

ENUMERATED_TYPE

public static final int ENUMERATED_TYPE
Attribute type: the attribute value is a name token from an enumeration.

See Also: Attribute

IDREFS_TYPE

public static final int IDREFS_TYPE
Attribute type: the attribute value is a list of references to unique identifiers.

See Also: Attribute

IDREF_TYPE

public static final int IDREF_TYPE
Attribute type: the attribute value is a reference to a unique identifier.

See Also: Attribute

ID_TYPE

public static final int ID_TYPE
Attribute type: the attribute value is a unique identifier.

See Also: Attribute

name

protected String name
The local name of the Attribute

namespace

protected transient Namespace namespace
The Namespace of the Attribute

NMTOKENS_TYPE

public static final int NMTOKENS_TYPE
Attribute type: the attribute value is a list of name tokens.

See Also: Attribute

NMTOKEN_TYPE

public static final int NMTOKEN_TYPE
Attribute type: the attribute value is a name token.

According to SAX 2.0 specification, attributes of enumerated types should be reported as "NMTOKEN" by SAX parsers. But the major parsers (Xerces and Crimson) provide specific values that permit to recognize them as ENUMERATED_TYPE.

See Also: Attribute

NOTATION_TYPE

public static final int NOTATION_TYPE
Attribute type: the attribute value is the name of a notation.

See Also: Attribute

parent

protected Element parent
Parent element, or null if none

type

protected int type
The type of the Attribute

UNDECLARED_TYPE

public static final int UNDECLARED_TYPE
Attribute type: the attribute has not been declared or type is unknown.

See Also: Attribute

value

protected String value
The value of the Attribute

Constructor Detail

Attribute

protected Attribute()
Default, no-args constructor for implementations to use if needed.

Attribute

public Attribute(String name, String value, Namespace namespace)
This will create a new Attribute with the specified (local) name and value, and in the provided Namespace.

Parameters: name String name of Attribute. value String value for new attribute. namespace Namespace namespace for new attribute.

Throws: IllegalNameException if the given name is illegal as an attribute name or if if the new namespace is the default namespace. Attributes cannot be in a default namespace. IllegalDataException if the given attribute value is illegal character data (as determined by Verifier).

Attribute

public Attribute(String name, String value, int type, Namespace namespace)
This will create a new Attribute with the specified (local) name, value, and type, and in the provided Namespace.

Parameters: name String name of Attribute. value String value for new attribute. type int type for new attribute. namespace Namespace namespace for new attribute.

Throws: IllegalNameException if the given name is illegal as an attribute name or if if the new namespace is the default namespace. Attributes cannot be in a default namespace. IllegalDataException if the given attribute value is illegal character data (as determined by Verifier) or if the given attribute type is not one of the supported types.

Attribute

public Attribute(String name, String value)
This will create a new Attribute with the specified (local) name and value, and does not place the attribute in a Namespace.

Note: This actually explicitly puts the Attribute in the "empty" Namespace (NO_NAMESPACE).

Parameters: name String name of Attribute. value String value for new attribute.

Throws: IllegalNameException if the given name is illegal as an attribute name. IllegalDataException if the given attribute value is illegal character data (as determined by Verifier).

Attribute

public Attribute(String name, String value, int type)
This will create a new Attribute with the specified (local) name, value and type, and does not place the attribute in a Namespace.

Note: This actually explicitly puts the Attribute in the "empty" Namespace (NO_NAMESPACE).

Parameters: name String name of Attribute. value String value for new attribute. type int type for new attribute.

Throws: IllegalNameException if the given name is illegal as an attribute name. IllegalDataException if the given attribute value is illegal character data (as determined by Verifier) or if the given attribute type is not one of the supported types.

Method Detail

clone

public Object clone()
This will return a clone of this Attribute.

Returns: Object - clone of this Attribute.

detach

public Attribute detach()
This detaches the Attribute from its parent, or does nothing if the Attribute has no parent.

Returns: Attribute - this Attribute modified.

equals

public final boolean equals(Object ob)
This tests for equality of this Attribute to the supplied Object.

Parameters: ob Object to compare to.

Returns: boolean - whether the Attribute is equal to the supplied Object.

getAttributeType

public int getAttributeType()
This will return the actual declared type of this Attribute.

Returns: int - type for this attribute.

getBooleanValue

public boolean getBooleanValue()
This gets the effective boolean value of the attribute, or throws a DataConversionException if a conversion can't be performed. True values are: "true", "on", "1", and "yes". False values are: "false", "off", "0", and "no". Values are trimmed before comparison. Values other than those listed here throw the exception.

Returns: boolean value of attribute.

Throws: DataConversionException when conversion fails.

getDocument

public Document getDocument()
This retrieves the owning Document for this Attribute, or null if not a currently a member of a Document.

Returns: Document owning this Attribute, or null.

getDoubleValue

public double getDoubleValue()
This gets the value of the attribute, in double form, and if no conversion can occur, throws a DataConversionException

Returns: double value of attribute.

Throws: DataConversionException when conversion fails.

getFloatValue

public float getFloatValue()
This gets the value of the attribute, in float form, and if no conversion can occur, throws a DataConversionException

Returns: float value of attribute.

Throws: DataConversionException when conversion fails.

getIntValue

public int getIntValue()
This gets the value of the attribute, in int form, and if no conversion can occur, throws a DataConversionException

Returns: int value of attribute.

Throws: DataConversionException when conversion fails.

getLongValue

public long getLongValue()
This gets the value of the attribute, in long form, and if no conversion can occur, throws a DataConversionException

Returns: long value of attribute.

Throws: DataConversionException when conversion fails.

getName

public String getName()
This will retrieve the local name of the Attribute. For any XML attribute which appears as [namespacePrefix]:[attributeName], the local name of the attribute would be [attributeName]. When the attribute has no namespace, the local name is simply the attribute name.

To obtain the namespace prefix for this attribute, the getNamespacePrefix method should be used.

Returns: String - name of this attribute, without any namespace prefix.

getNamespace

public Namespace getNamespace()
This will return this Attribute's Namespace.

Returns: Namespace - Namespace object for this Attribute

getNamespacePrefix

public String getNamespacePrefix()
This will retrieve the namespace prefix of the Attribute. For any XML attribute which appears as [namespacePrefix]:[attributeName], the namespace prefix of the attribute would be [namespacePrefix]. When the attribute has no namespace, an empty String is returned.

Returns: String - namespace prefix of this attribute.

getNamespaceURI

public String getNamespaceURI()
This returns the URI mapped to this Attribute's prefix. If no mapping is found, an empty String is returned.

Returns: String - namespace URI for this Attribute.

getParent

public Element getParent()
This will return the parent of this Attribute. If there is no parent, then this returns null.

Returns: parent of this Attribute

getQualifiedName

public String getQualifiedName()
This will retrieve the qualified name of the Attribute. For any XML attribute whose name is [namespacePrefix]:[elementName], the qualified name of the attribute would be everything (both namespace prefix and element name). When the attribute has no namespace, the qualified name is simply the attribute's local name.

To obtain the local name of the attribute, the getName method should be used.

To obtain the namespace prefix for this attribute, the getNamespacePrefix method should be used.

Returns: String - full name for this element.

getValue

public String getValue()
This will return the actual textual value of this Attribute. This will include all text within the quotation marks.

Returns: String - value for this attribute.

hashCode

public final int hashCode()
This returns the hash code for this Attribute.

Returns: int - hash code.

setAttributeType

public Attribute setAttributeType(int type)
This will set the type of the Attribute.

Parameters: type int type for the attribute.

Returns: Attribute - this Attribute modified.

Throws: IllegalDataException if the given attribute type is not one of the supported types.

setName

public Attribute setName(String name)
This sets the local name of the Attribute.

Parameters: name the new local name to set

Returns: Attribute - the attribute modified.

Throws: IllegalNameException if the given name is illegal as an attribute name.

setNamespace

public Attribute setNamespace(Namespace namespace)
This sets this Attribute's Namespace. If the provided namespace is null, the attribute will have no namespace. The namespace must have a prefix.

Parameters: namespace the new namespace

Returns: Element - the element modified.

Throws: IllegalNameException if the new namespace is the default namespace. Attributes cannot be in a default namespace.

setParent

protected Attribute setParent(Element parent)
This will set the parent of this Attribute.

Parameters: parent Element to be new parent.

Returns: this Attribute modified.

setValue

public Attribute setValue(String value)
This will set the value of the Attribute.

Parameters: value String value for the attribute.

Returns: Attribute - this Attribute modified.

Throws: IllegalDataException if the given attribute value is illegal character data (as determined by Verifier).

toString

public String toString()
This returns a String representation of the Attribute, suitable for debugging.

Returns: String - information about the Attribute

Copyright B) 2007 Jason Hunter, Brett McLaughlin. All Rights Reserved.