Package: groovy.util.slurpersupport

## [Java] Class Attribute

- groovy.util.slurpersupport.Attribute

- Lazy evaluated representation of a node attribute.

  Authors:
    John Wilson

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class GPathResult` | `name, namespaceMap, namespacePrefix, namespaceTagHints, parent`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `Attribute (String name, String value, GPathResult parent, String namespacePrefix, Map<String, String> namespaceTagHints)` @param name of the attribute

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected void` | `appendNode(Object newValue)` NOP, because an node can not be appended to an attribute.
    `` | `void` | `build(GroovyObject builder)`
    `` | `Iterator` | `childNodes()` Throws a `GroovyRuntimeException`, because an attribute can have no children.
    `` | `GPathResult` | `find(Closure closure)`
    `` | `GPathResult` | `findAll(Closure closure)`
    `` | `Iterator` | `iterator()`
    `` | `String` | `name()`
    `` | `String` | `namespaceURI()` Returns the URI of the namespace of this Attribute.
    `` | `Iterator` | `nodeIterator()`
    `` | `GPathResult` | `parents()` Throws a `GroovyRuntimeException`, because this method is not implemented yet.
    `` | `protected void` | `replaceBody(Object newValue)` NOP, because an attribute does not have a Body.
    `` | `protected void` | `replaceNode(Closure newValue)` NOP, because an attribute does not have any Node to replace.
    `` | `int` | `size()` Returns the size of this Attribute, which is always `1`.
    `` | `String` | `text()` Returns the value of this Attribute.
    `` | `Writer` | `writeTo(Writer out)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---

    `class GPathResult`

    `appendNode, breadthFirst, childNodes, children, declareNamespace, depthFirst, equals, find, findAll, getAt, getAt, getBody, getProperty, hashCode, isEmpty, iterator, leftShift, list, lookupNamespace, name, nodeIterator, parent, parents, plus, pop, putAt, replaceBody, replaceNode, setMetaClass, setProperty, size, text, toBigDecimal, toBigInteger, toBoolean, toDouble, toFloat, toInteger, toLong, toString, toURI, toURL`

    `class GroovyObjectSupport` | `getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty`
    `class Object` | `equals, toString, hashCode, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### public Attribute(String name, String value, GPathResult parent, String namespacePrefix, Map<String, String> namespaceTagHints)

      Parameters:
        `name` - of the attribute
        `value` - of the attribute
        `parent` - the GPathResult prior to the application of the expression creating this GPathResult
        `namespacePrefix` - the namespace prefix if any
        `namespaceTagHints` - the known tag to namespace mappings

  - ### Method Detail

    - #### protected void appendNode(Object newValue)

      NOP, because an node can not be appended to an attribute.

    - #### public void build(GroovyObject builder)

    - #### public Iterator childNodes()

      Throws a `GroovyRuntimeException`, because an attribute can have no children.

    - #### public GPathResult find(Closure closure)

    - #### public GPathResult findAll(Closure closure)

    - #### public Iterator iterator()

    - #### public String name()

    - #### public String namespaceURI()

      Returns the URI of the namespace of this Attribute.

      Returns:
        the namespace of this Attribute

    - #### public Iterator nodeIterator()

    - #### public GPathResult parents()

      Throws a `GroovyRuntimeException`, because this method is not implemented yet.

    - #### protected void replaceBody(Object newValue)

      NOP, because an attribute does not have a Body.

    - #### protected void replaceNode(Closure newValue)

      NOP, because an attribute does not have any Node to replace.

    - #### public int size()

      Returns the size of this Attribute, which is always `1`.

      Returns:
        `1`

    - #### public String text()

      Returns the value of this Attribute.

      Returns:
        the value of this Attribute

    - #### public Writer writeTo(Writer out)