Package: groovy.xml.slurpersupport

## [Java] Class NodeChild

- groovy.xml.slurpersupport.NodeChild

-     public class NodeChild
      extends GPathResult

  Lazy evaluated representation of a child node.

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

  - ### Constructor Summary

    Constructors
    Constructor and description
    `NodeChild(Node node, GPathResult parent, String namespacePrefix, Map<String, String> namespaceTagHints)` Parameters: `node` - a node
    `NodeChild(Node node, GPathResult parent, Map<String, String> namespaceTagHints)` Parameters: `node` - a node

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected void` | `appendNode(Object newValue)` * Lazily appends content to the nodes represented by this result. * * Parameters: `newValue` - content to append
    `` | `public Map` | `attributes()` Returns a map containing all attributes of the Node of this NodeChild.
    `` | `public void` | `build(GroovyObject builder)` * Builds this object into the supplied builder. * * Parameters: `builder` - the target builder
    `` | `public Iterator` | `childNodes()` * Returns an iterator over the child nodes of this GPathResult. * Returns: an iterator over the child nodes of this GPathResult
    `` | `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 Object` | `getAt(int index)` * Supports the subscript operator for a GPathResult. *
             * import groovy.xml.slurpersupport.*
             * import groovy.xml.XmlSlurper
             * def text = """
             * <characterList>
             *   <character/>
             *   <character>
             *     <name>Gromit</name>
             *   </character>
             * </characterList>"""
             *
             * GPathResult characterList = new XmlSlurper().parseText(text)
             *
             * assert characterList.character[1].name == 'Gromit'
             *
    * Parameters: `index` - an index * Returns: the value at the given index
    `` | `public Iterator` | `iterator()` Returns an iterator over elements of type `T`. Returns: an Iterator.
    `` | `public List<String>` | `localText()` Returns the list of any direct String nodes of this NodeChild.
    `` | `public String` | `namespaceURI()` Returns the URI of the namespace of this NodeChild.
    `` | `public Iterator` | `nodeIterator()` * Returns the raw node iterator backing this lazy result. * * Returns: the underlying node iterator
    `` | `public GPathResult` | `parent()` * Returns as GPathResult with the parent nodes of the current GPathResult * * Returns: the parents GPathResult or `this` for the root
    `` | `public GPathResult` | `parents()` Throws a `GroovyRuntimeException`, because this method is not implemented yet.
    `` | `protected void` | `replaceBody(Object newValue)` * Lazily replaces the body content represented by this result. * * Parameters: `newValue` - replacement body content
    `` | `protected void` | `replaceNode(Closure newValue)` * Lazily replaces the nodes represented by this result. * * Parameters: `newValue` - closure generating the replacement content
    `` | `public int` | `size()` * Returns the size of this GPathResult. * Returns: the size of this GPathResult
    `` | `public String` | `text()` * Returns the text of this GPathResult as a `String`. * Returns: the text of this GPathResult
    `` | `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 NodeChild(Node node, GPathResult parent, String namespacePrefix, Map<String, String> namespaceTagHints)

      Parameters:
        `node` - a node
        `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

    - #### public NodeChild(Node node, GPathResult parent, Map<String, String> namespaceTagHints)

      Parameters:
        `node` - a node
        `parent` - the GPathResult prior to the application of the expression creating this GPathResult
        `namespaceTagHints` - the known tag to namespace mappings

  - ### Method Detail

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

      * Lazily appends content to the nodes represented by this result. * *

      Parameters:
        `newValue` - content to append

    - #### public Map attributes()

      Returns a map containing all attributes of the Node of this NodeChild.

      Returns:
        a map containing all attributes

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

      * Builds this object into the supplied builder. * *

      Parameters:
        `builder` - the target builder

    - #### public Iterator childNodes()

      * Returns an iterator over the child nodes of this GPathResult. *

      Returns:
        an iterator over the child nodes of this GPathResult

    - #### 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 Object getAt(int index)

      * Supports the subscript operator for a GPathResult. *

               * import groovy.xml.slurpersupport.*
               * import groovy.xml.XmlSlurper
               * def text = """
               * <characterList>
               *   <character/>
               *   <character>
               *     <name>Gromit</name>
               *   </character>
               * </characterList>"""
               *
               * GPathResult characterList = new XmlSlurper().parseText(text)
               *
               * assert characterList.character[1].name == 'Gromit'
               *

      *
      Parameters:
        `index` - an index *
      Returns:
        the value at the given index

    - #### public Iterator iterator()

      Returns an iterator over elements of type `T`.

      Returns:
        an Iterator.

    - #### public List<String> localText()

      Returns the list of any direct String nodes of this NodeChild.

      Returns:
        the list of String values from this node
      Since:
        2.3.0

    - #### public String namespaceURI()

      Returns the URI of the namespace of this NodeChild.

      Returns:
        the namespace of this NodeChild

    - #### public Iterator nodeIterator()

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

      Returns:
        the underlying node iterator

    - #### public GPathResult parent()

      * Returns as GPathResult with the parent nodes of the current GPathResult * *

      Returns:
        the parents GPathResult or `this` for the root

    - #### public GPathResult parents()

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

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

      * Lazily replaces the body content represented by this result. * *

      Parameters:
        `newValue` - replacement body content

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

      * Lazily replaces the nodes represented by this result. * *

      Parameters:
        `newValue` - closure generating the replacement content

    - #### public int size()

      * Returns the size of this GPathResult. *

      Returns:
        the size of this GPathResult

    - #### public String text()

      * Returns the text of this GPathResult as a `String`. *

      Returns:
        the text of this GPathResult

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