[Java] Class GPathResult

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

Base class for representing lazy evaluated GPath expressions.

Authors:
John Wilson

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

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

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

@Override public boolean equals(Object obj)

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.util.slurpersupport.*
 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.util.slurpersupport.*
 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

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

@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 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 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 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

protected void replaceBody(Object newValue)

protected void replaceNode(Closure 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 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 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/2.4.21/html/gapi/groovy/util/slurpersupport/GPathResult.html