Package: groovy.xml.slurpersupport

## [Java] Class Attribute

- groovy.xml.slurpersupport.Attribute

-     public class Attribute
      extends GPathResult

  Lazy evaluated representation of a node attribute.

- - 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)` Parameters: `name` - of the attribute

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected void` | `appendNode(Object newValue)` NOP, because a node can not be appended to an attribute.
    `` | `public void` | `build(GroovyObject builder)` * Builds this object into the supplied builder. * * Parameters: `builder` - the target builder
    `` | `public Iterator` | `childNodes()` Throws a `GroovyRuntimeException`, because an attribute can have no children.
    `` | `public GPathResult` | `find(Closure closure)` * Returns the first child of this GPathResult matching the condition(s) * specified in the passed closure. * Parameters: `closure` - a closure to filters the children of this GPathResult * Returns: the first child matching the closure
    `` | `public GPathResult` | `findAll(Closure closure)` * Returns the children of this GPathResult matching the condition(s) * specified in the passed closure. * Parameters: `closure` - a closure to filters the children of this GPathResult * Returns: the children matching the closure
    `` | `public Iterator` | `iterator()` Returns an iterator over elements of type `T`. Returns: an Iterator.
    `` | `public String` | `name()` Returns this attribute name without the leading `@` used in GPath selectors.
    `` | `public String` | `namespaceURI()` Returns the URI of the namespace of this Attribute.
    `` | `public Iterator` | `nodeIterator()` * Returns the raw node iterator backing this lazy result. * * Returns: the underlying node iterator
    `` | `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`.
    `` | `public String` | `text()` Returns the value of this Attribute.
    `` | `public Writer` | `writeTo(Writer out)` * Writes this object to the given writer. * * This is used to defer content creation until the point when it is * streamed to the output destination. Oftentimes, content will be defined * but not necessarily created (as it may be the case with a Closure * definition.) In that case, the output is then 'deferred' to the point * when it is serialized to the writer. This class may be used whenever an * object should be responsible for creating its own textual representation, * but creating the entire output as a single String would be inefficient * (such as outputting a multi-gigabyte XML document.) * * throws: IOException if an error occurred while outputting data to the writer Parameters: `out` - the Writer to which this Writable should output its data. * Returns: the Writer that was passed *

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class GPathResult` | `appendNode, breadthFirst, childNodes, children, createIterator, declareNamespace, depthFirst, equals, find, findAll, getAt, getAt, getBody, getProperty, hashCode, isEmpty, iterator, leftShift, list, lookupNamespace, name, nodeIterator, parent, parents, plus, plus, pop, putAt, replaceBody, replaceNode, setMetaClass, setProperty, size, text, toBigDecimal, toBigInteger, toBoolean, toDouble, toFloat, toInteger, toLong, toString, toURI, toURL`
    `class GroovyObjectSupport` | `getMetaClass, setMetaClass`

- - ### 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 a node can not be appended to an attribute.

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

      * Builds this object into the supplied builder. * *

      Parameters:
        `builder` - the target builder

    - #### public Iterator childNodes()

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

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

      * Returns the first child of this GPathResult matching the condition(s) * specified in the passed closure. *

      Parameters:
        `closure` - a closure to filters the children of this GPathResult *
      Returns:
        the first child matching the closure

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

      * Returns the children of this GPathResult matching the condition(s) * specified in the passed closure. *

      Parameters:
        `closure` - a closure to filters the children of this GPathResult *
      Returns:
        the children matching the closure

    - #### public Iterator iterator()

      Returns an iterator over elements of type `T`.

      Returns:
        an Iterator.

    - #### public String name()

      Returns this attribute name without the leading `@` used in GPath selectors.

    - #### public String namespaceURI()

      Returns the URI of the namespace of this Attribute.

      Returns:
        the namespace of this Attribute

    - #### public Iterator nodeIterator()

      * Returns the raw node iterator backing this lazy result. * *

      Returns:
        the underlying node iterator

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

      * Writes this object to the given writer. *

      * This is used to defer content creation until the point when it is * streamed to the output destination. Oftentimes, content will be defined * but not necessarily created (as it may be the case with a Closure * definition.) In that case, the output is then 'deferred' to the point * when it is serialized to the writer. This class may be used whenever an * object should be responsible for creating its own textual representation, * but creating the entire output as a single String would be inefficient * (such as outputting a multi-gigabyte XML document.) * *

      throws:
        IOException if an error occurred while outputting data to the writer
      Parameters:
        `out` - the Writer to which this Writable should output its data. *
      Returns:
        the Writer that was passed *