org.jdom
Class Attribute

java.lang.Object
  |
  +--org.jdom.Attribute
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class Attribute
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Attribute defines behavior for an XML attribute, modeled in Java. Methods allow the user to obtain the value of the attribute as well as namespace information.

Version:
$Revision: 1.40 $, $Date: 2002/03/19 04:25:37 $
Author:
Brett McLaughlin, Jason Hunter, Elliotte Rusty Harold, Wesley Biggs
See Also:
Serialized Form

Field Summary
static int CDATA_ATTRIBUTE
           Attribute type: the attribute value is a string.
static int ENTITIES_ATTRIBUTE
           Attribute type: the attribute value is a list of entity names.
static int ENTITY_ATTRIBUTE
           Attribute type: the attribute value is the name of an entity.
static int ENUMERATED_ATTRIBUTE
           Attribute type: the attribute value is a name token from an enumeration.
static int ID_ATTRIBUTE
           Attribute type: the attribute value is a unique identifier.
static int IDREF_ATTRIBUTE
           Attribute type: the attribute value is a reference to a unique identifier.
static int IDREFS_ATTRIBUTE
           Attribute type: the attribute value is a list of references to unique identifiers.
protected  java.lang.String name
          The local name of the Attribute
protected  Namespace namespace
          The Namespace of the Attribute
static int NMTOKEN_ATTRIBUTE
           Attribute type: the attribute value is a name token.
static int NMTOKENS_ATTRIBUTE
           Attribute type: the attribute value is a list of name tokens.
static int NOTATION_ATTRIBUTE
           Attribute type: the attribute value is the name of a notation.
protected  java.lang.Object parent
          Parent element, or null if none
protected  int type
          The type of the Attribute
static int UNDECLARED_ATTRIBUTE
           Attribute type: the attribute has not been declared or type is unknown.
protected  java.lang.String value
          The value of the Attribute
 
Constructor Summary
protected Attribute()
           Default, no-args constructor for implementations to use if needed.
  Attribute(java.lang.String name, java.lang.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(java.lang.String name, java.lang.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.
  Attribute(java.lang.String name, java.lang.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(java.lang.String name, java.lang.String value, Namespace namespace)
           This will create a new Attribute with the specified (local) name and value, and in the provided Namespace.
 
Method Summary
 java.lang.Object clone()
           This will return a clone of this Attribute.
 Attribute detach()
           This detaches the Attribute from its parent, or does nothing if the Attribute has no parent.
 boolean equals(java.lang.Object ob)
           This tests for equality of this Attribute to the supplied Object.
 int getAttributeType()
           This will return the actual declared type of this Attribute.
 boolean getBooleanValue()
           This gets the value of the attribute, in boolean form, and if no conversion can occur, throws a DataConversionException
 Document getDocument()
           This retrieves the owning Document for this Attribute, or null if not a currently a member of a Document.
 double getDoubleValue()
           This gets the value of the attribute, in double form, and if no conversion can occur, throws a DataConversionException
 float getFloatValue()
           This gets the value of the attribute, in float form, and if no conversion can occur, throws a DataConversionException
 int getIntValue()
           This gets the value of the attribute, in int form, and if no conversion can occur, throws a DataConversionException
 long getLongValue()
           This gets the value of the attribute, in long form, and if no conversion can occur, throws a DataConversionException
 java.lang.String getName()
           This will retrieve the local name of the Attribute.
 Namespace getNamespace()
           This will return this Attribute's Namespace.
 java.lang.String getNamespacePrefix()
           This will retrieve the namespace prefix of the Attribute.
 java.lang.String getNamespaceURI()
           This returns the URI mapped to this Attribute's prefix.
 Element getParent()
           This will return the parent of this Attribute.
 java.lang.String getQualifiedName()
           This will retrieve the qualified name of the Attribute.
 java.lang.String getValue()
           This will return the actual textual value of this Attribute.
 int hashCode()
           This returns the hash code for this Attribute.
 Attribute setAttributeType(int type)
           This will set the type of the Attribute.
 Attribute setName(java.lang.String name)
           This sets the local name of the Attribute.
 Attribute setNamespace(Namespace namespace)
           This sets this Attribute's Namespace.
protected  Attribute setParent(Element parent)
           This will set the parent of this Attribute.
 Attribute setValue(java.lang.String value)
           This will set the value of the Attribute.
 java.lang.String toString()
           This returns a String representation of the Attribute, suitable for debugging.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

UNDECLARED_ATTRIBUTE

public static final int UNDECLARED_ATTRIBUTE

Attribute type: the attribute has not been declared or type is unknown.

See Also:
getAttributeType()

CDATA_ATTRIBUTE

public static final int CDATA_ATTRIBUTE

Attribute type: the attribute value is a string.

See Also:
getAttributeType()

ID_ATTRIBUTE

public static final int ID_ATTRIBUTE

Attribute type: the attribute value is a unique identifier.

See Also:
getAttributeType()

IDREF_ATTRIBUTE

public static final int IDREF_ATTRIBUTE

Attribute type: the attribute value is a reference to a unique identifier.

See Also:
getAttributeType()

IDREFS_ATTRIBUTE

public static final int IDREFS_ATTRIBUTE

Attribute type: the attribute value is a list of references to unique identifiers.

See Also:
getAttributeType()

ENTITY_ATTRIBUTE

public static final int ENTITY_ATTRIBUTE

Attribute type: the attribute value is the name of an entity.

See Also:
getAttributeType()

ENTITIES_ATTRIBUTE

public static final int ENTITIES_ATTRIBUTE

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

See Also:
getAttributeType()

NMTOKEN_ATTRIBUTE

public static final int NMTOKEN_ATTRIBUTE

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_ATTRIBUTE.

See Also:
getAttributeType()

NMTOKENS_ATTRIBUTE

public static final int NMTOKENS_ATTRIBUTE

Attribute type: the attribute value is a list of name tokens.

See Also:
getAttributeType()

NOTATION_ATTRIBUTE

public static final int NOTATION_ATTRIBUTE

Attribute type: the attribute value is the name of a notation.

See Also:
getAttributeType()

ENUMERATED_ATTRIBUTE

public static final int ENUMERATED_ATTRIBUTE

Attribute type: the attribute value is a name token from an enumeration.

See Also:
getAttributeType()

name

protected java.lang.String name
The local name of the Attribute

namespace

protected transient Namespace namespace
The Namespace of the Attribute

value

protected java.lang.String value
The value of the Attribute

type

protected int type
The type of the Attribute

parent

protected java.lang.Object parent
Parent element, or null if none
Constructor Detail

Attribute

protected Attribute()

Default, no-args constructor for implementations to use if needed.


Attribute

public Attribute(java.lang.String name,
                 java.lang.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.

Attribute

public Attribute(java.lang.String name,
                 java.lang.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.

Attribute

public Attribute(java.lang.String name,
                 java.lang.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 (Namespace.NO_NAMESPACE).

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

Attribute

public Attribute(java.lang.String name,
                 java.lang.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 (Namespace.NO_NAMESPACE).

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

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

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.

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.

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.

getName

public java.lang.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.

setName

public Attribute setName(java.lang.String name)

This sets the local name of the Attribute.

Returns:
Attribute - the attribute modified.
Throws:
IllegalNameException - if the given name is illegal as an attribute name.

getQualifiedName

public java.lang.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.

getNamespacePrefix

public java.lang.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 java.lang.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.

getNamespace

public Namespace getNamespace()

This will return this Attribute's Namespace.

Returns:
Namespace - Namespace object for this Attribute

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.

Returns:
Element - the element modified.
Throws:
IllegalNameException - if the new namespace is the default namespace. Attributes cannot be in a default namespace.

getValue

public java.lang.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.

setValue

public Attribute setValue(java.lang.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.checkCharacterData(java.lang.String)).

getAttributeType

public int getAttributeType()

This will return the actual declared type of this Attribute.

Returns:
int - type for this attribute.

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.

toString

public java.lang.String toString()

This returns a String representation of the Attribute, suitable for debugging.

Overrides:
toString in class java.lang.Object
Returns:
String - information about the Attribute

equals

public final boolean equals(java.lang.Object ob)

This tests for equality of this Attribute to the supplied Object.

Overrides:
equals in class java.lang.Object
Parameters:
ob - Object to compare to.
Returns:
boolean - whether the Attribute is equal to the supplied Object.

hashCode

public final int hashCode()

This returns the hash code for this Attribute.

Overrides:
hashCode in class java.lang.Object
Returns:
int - hash code.

clone

public java.lang.Object clone()

This will return a clone of this Attribute.

Overrides:
clone in class java.lang.Object
Returns:
Object - clone of this Attribute.

getIntValue

public int getIntValue()
                throws DataConversionException

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()
                  throws DataConversionException

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.

getFloatValue

public float getFloatValue()
                    throws DataConversionException

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.

getDoubleValue

public double getDoubleValue()
                      throws DataConversionException

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.

getBooleanValue

public boolean getBooleanValue()
                        throws DataConversionException

This gets the value of the attribute, in boolean form, and if no conversion can occur, throws a DataConversionException

Returns:
boolean value of attribute.
Throws:
DataConversionException - when conversion fails.


Copyright © 2002 Jason Hunter, Brett McLaughlin. All Rights Reserved.