[Java] Class GPathResult
- groovy.util.slurpersupport.GPathResult
public abstract class GPathResult extends GroovyObjectSupport
Base class for representing lazy evaluated GPath expressions.
- Authors:
- John Wilson
Field Summary
Modifiers | Name | Description |
---|---|---|
protected String | name | |
protected Map | namespaceMap | |
protected String | namespacePrefix | |
protected Map<String, String> | namespaceTagHints | |
protected GPathResult | parent |
Constructor Summary
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
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
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:
-
'..'
forparent()
-
'*'
forchildren()
-
'**'
fordepthFirst()
-
'@'
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