groovy.util.slurpersupport

## Class FilteredAttributes

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - groovy.util.slurpersupport.GPathResult
    - - groovy.util.slurpersupport.FilteredAttributes

All Implemented Interfaces:
  Buildable, GroovyObject, Writable

    public class FilteredAttributes
    extends GPathResult

Lazy evaluated representation of a node's attributes filtered by a Closure.

Author:
  John Wilson

### Field Summary

### Fields inherited from class groovy.util.slurpersupport.GPathResult

`name, namespaceMap, namespacePrefix, namespaceTagHints, parent`

### Constructor Summary

Constructors
Constructor and Description
`FilteredAttributes(GPathResult parent, Closure closure, Map<String,String> namespaceTagHints)`

### Method Summary

Methods
`protected void` `appendNode(Object newValue)`
`void` `build(GroovyObject builder)`
`Iterator` `childNodes()`
`GPathResult` `find(Closure closure)`
`GPathResult` `findAll(Closure closure)`
`Iterator` `iterator()`
`List` `list()`
`String` `name()`
`Iterator` `nodeIterator()`
`GPathResult` `parents()`
`protected void` `replaceBody(Object newValue)`
`protected void` `replaceNode(Closure newValue)`
`int` `size()`
`String` `text()`
`Writer` `writeTo(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, lookupNamespace, 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

#### FilteredAttributes

    public FilteredAttributes(GPathResult parent,
                      Closure closure,
                      Map<String,String> namespaceTagHints)

Parameters:
  `parent` - the GPathResult prior to the application of the expression creating this GPathResult
  `closure` - the Closure to use to filter the attributes
  `namespaceTagHints` - the known tag to namespace mappings

### Method Detail

#### nodeIterator

    public Iterator nodeIterator()

#### name

    public String name()

Overrides:
  `name` in class `GPathResult`

#### childNodes

    public Iterator childNodes()

#### iterator

    public Iterator iterator()

#### parents

    public GPathResult parents()

#### text

    public String text()

#### list

    public List list()

Overrides:
  `list` in class `GPathResult`

#### findAll

    public GPathResult findAll(Closure closure)

#### writeTo

    public Writer writeTo(Writer out)
                   throws 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.)

Specified by:
  `writeTo` in interface `Writable`
Parameters:
  `out` - the Writer to which this Writable should output its data.
Returns:
  the Writer that was passed
Throws:
  `IOException` - if an error occurred while outputting data to the writer

#### build

    public void build(GroovyObject builder)

Specified by:
  `build` in interface `Buildable`

#### size

    public int size()

Specified by:
  `size` in class `GPathResult`

#### find

    public GPathResult find(Closure closure)

Specified by:
  `find` in class `GPathResult`

#### replaceNode

    protected void replaceNode(Closure newValue)

Specified by:
  `replaceNode` in class `GPathResult`

#### replaceBody

    protected void replaceBody(Object newValue)

Specified by:
  `replaceBody` in class `GPathResult`

#### appendNode

    protected void appendNode(Object newValue)

Specified by:
  `appendNode` in class `GPathResult`