groovy.util.slurpersupport
Class FilteredNodeChildren

java.lang.Object
  extended by groovy.lang.GroovyObjectSupport
      extended by groovy.util.slurpersupport.GPathResult
          extended by groovy.util.slurpersupport.FilteredNodeChildren
All Implemented Interfaces:
Buildable, GroovyObject, Writable

public class FilteredNodeChildren
extends GPathResult

Lazy evaluated representation of child nodes filtered by a Closure.


Field Summary
 
Fields inherited from class groovy.util.slurpersupport.GPathResult
name, namespaceMap, namespacePrefix, namespaceTagHints, parent
 
Constructor Summary
FilteredNodeChildren(GPathResult parent, Closure closure, java.util.Map<java.lang.String,java.lang.String> namespaceTagHints)
           
 
Method Summary
protected  void appendNode(java.lang.Object newValue)
           
 void build(GroovyObject builder)
           
 java.util.Iterator childNodes()
           
 GPathResult find(Closure closure)
           
 GPathResult findAll(Closure closure)
           
 java.util.Iterator iterator()
           
 java.util.Iterator nodeIterator()
           
 GPathResult parents()
           
protected  void replaceBody(java.lang.Object newValue)
           
protected  void replaceNode(Closure newValue)
           
 int size()
           
 java.lang.String text()
           
 java.io.Writer writeTo(java.io.Writer out)
          Writes this object to the given writer.
 
Methods inherited from class groovy.util.slurpersupport.GPathResult
breadthFirst, children, declareNamespace, depthFirst, equals, getAt, getAt, getBody, getProperty, isEmpty, leftShift, list, lookupNamespace, name, parent, plus, putAt, setMetaClass, setProperty, toBigDecimal, toBigInteger, toBoolean, toDouble, toFloat, toInteger, toLong, toString, toURI, toURL
 
Methods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, invokeMethod
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FilteredNodeChildren

public FilteredNodeChildren(GPathResult parent,
                            Closure closure,
                            java.util.Map<java.lang.String,java.lang.String> namespaceTagHints)
Parameters:
parent - the GPathResult prior to the application of the expression creating this GPathResult
closure - the Closure to use to filter the nodes
namespaceTagHints - the known tag to namespace mappings
Method Detail

iterator

public java.util.Iterator iterator()

nodeIterator

public java.util.Iterator nodeIterator()

childNodes

public java.util.Iterator childNodes()
Specified by:
childNodes in class GPathResult

parents

public GPathResult parents()
Specified by:
parents in class GPathResult

size

public int size()
Specified by:
size in class GPathResult

text

public java.lang.String text()
Specified by:
text in class GPathResult

find

public GPathResult find(Closure closure)
Specified by:
find in class GPathResult

findAll

public GPathResult findAll(Closure closure)
Specified by:
findAll in class GPathResult

build

public void build(GroovyObject builder)

writeTo

public java.io.Writer writeTo(java.io.Writer out)
                       throws java.io.IOException
Description copied from interface: Writable

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

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

replaceNode

protected void replaceNode(Closure newValue)
Specified by:
replaceNode in class GPathResult

replaceBody

protected void replaceBody(java.lang.Object newValue)
Specified by:
replaceBody in class GPathResult

appendNode

protected void appendNode(java.lang.Object newValue)
Specified by:
appendNode in class GPathResult