Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JDOM 1.0beta10
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

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

Version:
  $Revision: 1.49 $, $Date: 2004/02/06 09:28:30 $
Author:
  Brett McLaughlin, Jason Hunter, Elliotte Rusty Harold, Wesley Biggs
See Also:
  Serialized Form

Field Summary
`static int` | `CDATA_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use CDATA_TYPE
`static int` | `CDATA_TYPE` Attribute type: the attribute value is a string.
`static int` | `ENTITIES_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use ENTITIES_TYPE
`static int` | `ENTITIES_TYPE` Attribute type: the attribute value is a list of entity names.
`static int` | `ENTITY_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use ENTITY_TYPE
`static int` | `ENTITY_TYPE` Attribute type: the attribute value is the name of an entity.
`static int` | `ENUMERATED_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use ENUMERATED_TYPE
`static int` | `ENUMERATED_TYPE` Attribute type: the attribute value is a name token from an enumeration.
`static int` | `ID_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use ID_TYPE
`static int` | `ID_TYPE` Attribute type: the attribute value is a unique identifier.
`static int` | `IDREF_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use IDREF_TYPE
`static int` | `IDREF_TYPE` Attribute type: the attribute value is a reference to a unique identifier.
`static int` | `IDREFS_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use IDREFS_TYPE
`static int` | `IDREFS_TYPE` 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` Deprecated. Deprecated in Beta 10 use NMTOKEN_TYPE
`static int` | `NMTOKEN_TYPE` Attribute type: the attribute value is a name token.
`static int` | `NMTOKENS_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use NMTOKENS_TYPE
`static int` | `NMTOKENS_TYPE` Attribute type: the attribute value is a list of name tokens.
`static int` | `NOTATION_ATTRIBUTE` Deprecated. Deprecated in Beta 10 use NOTATION_TYPE
`static int` | `NOTATION_TYPE` 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` Deprecated. Deprecated in Beta 10 use UNDECLARED_TYPE
`static int` | `UNDECLARED_TYPE` 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 effective boolean value of the attribute, or throws a ``DataConversionException`` if a conversion can't be performed.
`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_TYPE

    public static final int UNDECLARED_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### CDATA_TYPE

    public static final int CDATA_TYPE

  Attribute type: the attribute value is a string.

  See Also:
    `getAttributeType()`, Constant Field Values

### ID_TYPE

    public static final int ID_TYPE

  Attribute type: the attribute value is a unique identifier.

  See Also:
    `getAttributeType()`, Constant Field Values

### IDREF_TYPE

    public static final int IDREF_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### IDREFS_TYPE

    public static final int IDREFS_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### ENTITY_TYPE

    public static final int ENTITY_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### ENTITIES_TYPE

    public static final int ENTITIES_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### 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:
    `getAttributeType()`, Constant Field Values

### NMTOKENS_TYPE

    public static final int NMTOKENS_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### NOTATION_TYPE

    public static final int NOTATION_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### ENUMERATED_TYPE

    public static final int ENUMERATED_TYPE

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

  See Also:
    `getAttributeType()`, Constant Field Values

### UNDECLARED_ATTRIBUTE

    public static final int UNDECLARED_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use UNDECLARED_TYPE

  See Also:
    Constant Field Values

### CDATA_ATTRIBUTE

    public static final int CDATA_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use CDATA_TYPE

  See Also:
    Constant Field Values

### ID_ATTRIBUTE

    public static final int ID_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use ID_TYPE

  See Also:
    Constant Field Values

### IDREF_ATTRIBUTE

    public static final int IDREF_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use IDREF_TYPE

  See Also:
    Constant Field Values

### IDREFS_ATTRIBUTE

    public static final int IDREFS_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use IDREFS_TYPE

  See Also:
    Constant Field Values

### ENTITY_ATTRIBUTE

    public static final int ENTITY_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use ENTITY_TYPE

  See Also:
    Constant Field Values

### ENTITIES_ATTRIBUTE

    public static final int ENTITIES_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use ENTITIES_TYPE

  See Also:
    Constant Field Values

### NMTOKEN_ATTRIBUTE

    public static final int NMTOKEN_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use NMTOKEN_TYPE

  See Also:
    Constant Field Values

### NMTOKENS_ATTRIBUTE

    public static final int NMTOKENS_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use NMTOKENS_TYPE

  See Also:
    Constant Field Values

### NOTATION_ATTRIBUTE

    public static final int NOTATION_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use NOTATION_TYPE

  See Also:
    Constant Field Values

### ENUMERATED_ATTRIBUTE

    public static final int ENUMERATED_ATTRIBUTE

  Deprecated. Deprecated in Beta 10 use ENUMERATED_TYPE

  See Also:
    Constant Field Values

### 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.
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.checkCharacterData(java.lang.String)`).

### 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.
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.checkCharacterData(java.lang.String)`) or if the given attribute type is not one of the supported types.

### 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.
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.checkCharacterData(java.lang.String)`).

### 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.
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.checkCharacterData(java.lang.String)`) or if the given attribute type is not one of the supported types.

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JDOM 1.0beta10
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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