## org.jdom
Class Attribute

    java.lang.Object
      |
      +--org.jdom.Attribute

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.