[Java] Class GPathResult

  • groovy.xml.slurpersupport.GPathResult
All Implemented Interfaces and Traits:
Buildable, Writable, Iterable
public abstract class GPathResult
extends GroovyObjectSupport
implements Buildable, Writable, Iterable

Base class for representing lazy evaluated GPath expressions.

Field Summary

Fields
Modifiers Name Description
protected String name
protected Map namespaceMap
protected String namespacePrefix
protected Map<String, String> namespaceTagHints
protected GPathResult parent

Constructor Summary

Constructors
Constructor and description
GPathResult (GPathResult parent, String name, String namespacePrefix, Map<String, String> namespaceTagHints)
Creates a new GPathResult named name with the parent parent, the namespacePrefix namespacePrefix and the namespaceTagHints specified in the namespaceTagHints Map.

Methods Summary

Methods
Type Params Return Type Name and description
protected abstract void appendNode(Object newValue)
public Iterator breadthFirst()
Provides an Iterator over all the nodes of this GPathResult using a breadth-first traversal.
public abstract Iterator childNodes()
Returns an iterator over the child nodes of this GPathResult.
public GPathResult children()
Returns the children of this GPathResult as a GPathResult object.
protected Iterator createIterator(Object obj)
public GPathResult declareNamespace(Map newNamespaceMapping)
Adds the specified map of prefix to namespace mappings to this GPathResult.
public Iterator depthFirst()
Provides an Iterator over all the nodes of this GPathResult using a depth-first traversal.
public void doCall(Object[] args)
public void doCall(Object[] args)
public boolean equals(Object obj)
public abstract GPathResult find(Closure closure)
Returns the first child of this GPathResult matching the condition(s) specified in the passed closure.
public abstract GPathResult findAll(Closure closure)
Returns the children of this GPathResult matching the condition(s) specified in the passed closure.
public Object getAt(int index)
Supports the subscript operator for a GPathResult.
public Object getAt(IntRange range)
Supports the range subscript operator for a GPathResult.
public Object getAttribute(Object object, String attribute)
public Closure getBody()
Creates a Closure representing the body of this GPathResult.
public Object getProperty(String property)
Returns the specified Property of this GPathResult.
public boolean hasNext()
public boolean hasNext()
public boolean hasNext()
public int hashCode()
public boolean isEmpty()
Returns true if the GPathResult is empty, i.e. if, and only if, size() is 0.
public abstract Iterator iterator()
public Object leftShift(Object newValue)
Overloads the left shift operator to provide an easy way to lazily append Objects to this GPathResult.
public List list()
Creates a list of objects representing this GPathResult.
public String lookupNamespace(String prefix)
Returns the namespace mapped to the specified prefix.
public String name()
Returns the name of this GPathResult.
public Object next()
public Object next()
public Object next()
public abstract Iterator nodeIterator()
public GPathResult parent()
Returns as GPathResult with the parent nodes of the current GPathResult
public abstract GPathResult parents()
Returns the parents of this GPathResult as a GPathResult.
public Object plus(Object newValue)
Lazily adds the specified Object to this GPathResult.
public GPathResult pop()
Returns the parent of this GPathResult.
public void putAt(int index, Object newValue)
A helper method to allow GPathResults to work with subscript operators
public void remove()
public void remove()
public void remove()
protected abstract void replaceBody(Object newValue)
protected abstract void replaceNode(Closure newValue)
public void setAttribute(Object object, String attribute, Object newValue)
public void setMetaClass(MetaClass metaClass)
Replaces the MetaClass of this GPathResult.
public void setProperty(String property, Object newValue)
Replaces the specified property of this GPathResult with a new value.
public abstract int size()
Returns the size of this GPathResult.
public abstract String text()
Returns the text of this GPathResult as a String.
public BigDecimal toBigDecimal()
Converts the text of this GPathResult to a BigDecimal object.
public BigInteger toBigInteger()
Converts the text of this GPathResult to a BigInteger object.
public Boolean toBoolean()
Converts the text of this GPathResult to a Boolean object.
public Double toDouble()
Converts the text of this GPathResult to a Double object.
public Float toFloat()
Converts the text of this GPathResult to a Float object.
public Integer toInteger()
Converts the text of this GPathResult to a Integer object.
public Long toLong()
Converts the text of this GPathResult to a Long object.
public String toString()
Returns the text of this GPathResult.
public URI toURI()
Converts the text of this GPathResult to a URI object.
public URL toURL()
Converts the text of this GPathResult to a URL object.

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class GroovyObjectSupport getMetaClass, setMetaClass

Field Detail

protected final String name

protected final Map namespaceMap

protected final String namespacePrefix

protected final Map<String, String> namespaceTagHints

protected final GPathResult parent

Constructor Detail

public GPathResult(GPathResult parent, String name, String namespacePrefix, Map<String, String> namespaceTagHints)

Creates a new GPathResult named name with the parent parent, the namespacePrefix namespacePrefix and the namespaceTagHints specified in the namespaceTagHints Map.

Parameters:
parent - the GPathResult prior to the application of the expression creating this GPathResult
name - if the GPathResult corresponds to something with a name, e.g. a node
namespacePrefix - the namespace prefix if any
namespaceTagHints - the known tag to namespace mappings

Method Detail

protected abstract void appendNode(Object newValue)

public Iterator breadthFirst()

Provides an Iterator over all the nodes of this GPathResult using a breadth-first traversal.

Returns:
the Iterator of (breadth-first) ordered GPathResults

public abstract Iterator childNodes()

Returns an iterator over the child nodes of this GPathResult.

Returns:
an iterator over the child nodes of this GPathResult

public GPathResult children()

Returns the children of this GPathResult as a GPathResult object.

Returns:
the children of this GPathResult

protected Iterator createIterator(Object obj)

public GPathResult declareNamespace(Map newNamespaceMapping)

Adds the specified map of prefix to namespace mappings to this GPathResult. Already existing prefixes are overwritten.

Parameters:
newNamespaceMapping - the mappings to add
Returns:
this

public Iterator depthFirst()

Provides an Iterator over all the nodes of this GPathResult using a depth-first traversal.

Returns:
the Iterator of (depth-first) ordered GPathResults

public void doCall(Object[] args)

public void doCall(Object[] args)

@Override public boolean equals(Object obj)

public abstract 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 abstract 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 Object getAt(IntRange range)

Supports the range subscript operator for a GPathResult.

 import groovy.xml.slurpersupport.*
 import groovy.xml.XmlSlurper
 def text = """
 <characterList>
   <character>Wallace</character>
   <character>Gromit</character>
   <character>Shaun</character>
 </characterList>"""

 GPathResult characterList = new XmlSlurper().parseText(text)

 assert characterList.character[1..2].join(',') == 'Gromit,Shaun'
 
Parameters:
range - a Range indicating the items to get
Returns:
a new list based on range borders

@Override public Object getAttribute(Object object, String attribute)

public Closure getBody()

Creates a Closure representing the body of this GPathResult.

Returns:
the body of this GPathResult, converted to a Closure

public Object getProperty(String property)

Returns the specified Property of this GPathResult.

Realizes the follow shortcuts:

  • '..' for parent()
  • '*' for children()
  • '**' for depthFirst()
  • '@' for attribute access
Parameters:
property - the Property to fetch

public boolean hasNext()

public boolean hasNext()

public boolean hasNext()

@Override public int hashCode()

public boolean isEmpty()

Returns true if the GPathResult is empty, i.e. if, and only if, size() is 0.

Returns:
true if the GPathResult is empty

public abstract Iterator iterator()

public Object leftShift(Object newValue)

Overloads the left shift operator to provide an easy way to lazily append Objects to this GPathResult.

Parameters:
newValue - the Object to append
Returns:
this

public List list()

Creates a list of objects representing this GPathResult.

Returns:
a list representing of this GPathResult

public String lookupNamespace(String prefix)

Returns the namespace mapped to the specified prefix.

Parameters:
prefix - the prefix lookup
Returns:
the namespace of the prefix

public String name()

Returns the name of this GPathResult.

Returns:
the name of this GPathResult

public Object next()

public Object next()

public Object next()

public abstract Iterator nodeIterator()

public GPathResult parent()

Returns as GPathResult with the parent nodes of the current GPathResult

Returns:
the parents GPathResult or this for the root

public abstract GPathResult parents()

Returns the parents of this GPathResult as a GPathResult. Warning: The subclasses of this package do not implement this method yet.

Returns:
the parents of this GPathResult

public Object plus(Object newValue)

Lazily adds the specified Object to this GPathResult.

Parameters:
newValue - the Object to add
Returns:
this

public GPathResult pop()

Returns the parent of this GPathResult. If this GPathResult has no parent the GPathResult itself is returned. This is no navigation in the XML tree. It is backtracking on the GPath expression chain. It is the behavior of parent() prior to 2.2.0. Backtracking on '..' actually goes down one level in the tree again. find() and findAll() are popped along with the level they have been applied to.

Returns:
the parent or this

public void putAt(int index, Object newValue)

A helper method to allow GPathResults to work with subscript operators

Parameters:
index - an index
newValue - the value to put at the given index

public void remove()

public void remove()

public void remove()

protected abstract void replaceBody(Object newValue)

protected abstract void replaceNode(Closure newValue)

@Override public void setAttribute(Object object, String attribute, Object newValue)

@Override public void setMetaClass(MetaClass metaClass)

Replaces the MetaClass of this GPathResult.

Parameters:
metaClass - the new MetaClass

public void setProperty(String property, Object newValue)

Replaces the specified property of this GPathResult with a new value.

Parameters:
property - the property of this GPathResult to replace
newValue - the new value of the property

public abstract int size()

Returns the size of this GPathResult.

Returns:
the size of this GPathResult

public abstract String text()

Returns the text of this GPathResult as a String.

Returns:
the text of this GPathResult

public BigDecimal toBigDecimal()

Converts the text of this GPathResult to a BigDecimal object.

Returns:
the GPathResult, converted to a BigDecimal

public BigInteger toBigInteger()

Converts the text of this GPathResult to a BigInteger object.

Returns:
the GPathResult, converted to a BigInteger

public Boolean toBoolean()

Converts the text of this GPathResult to a Boolean object.

Returns:
the GPathResult, converted to a Boolean

public Double toDouble()

Converts the text of this GPathResult to a Double object.

Returns:
the GPathResult, converted to a Double

public Float toFloat()

Converts the text of this GPathResult to a Float object.

Returns:
the GPathResult, converted to a Float

public Integer toInteger()

Converts the text of this GPathResult to a Integer object.

Returns:
the GPathResult, converted to a Integer

public Long toLong()

Converts the text of this GPathResult to a Long object.

Returns:
the GPathResult, converted to a Long

public String toString()

Returns the text of this GPathResult.

Returns:
the GPathResult, converted to a String

public URI toURI()

Converts the text of this GPathResult to a URI object.

Returns:
the GPathResult, converted to a URI

public URL toURL()

Converts the text of this GPathResult to a URL object.

Returns:
the GPathResult, converted to a URL

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/groovy/xml/slurpersupport/GPathResult.html