public abstract class GPathResult extends GroovyObjectSupport implements Writable, Buildable
Modifier and Type | Field and Description |
---|---|
protected String |
name |
protected Map |
namespaceMap |
protected String |
namespacePrefix |
protected Map<String,String> |
namespaceTagHints |
protected GPathResult |
parent |
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. |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
appendNode(Object newValue) |
Iterator |
breadthFirst()
Provides an Iterator over all the nodes of this GPathResult using a breadth-first traversal.
|
abstract 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) |
abstract GPathResult |
find(Closure closure)
Returns the first child of this GPathResult matching the condition(s)
specified in the passed closure.
|
abstract 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.
|
boolean |
isEmpty()
Returns true if the GPathResult is empty, i.e. if, and only if,
size() is 0. |
abstract 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.
|
abstract Iterator |
nodeIterator() |
GPathResult |
parent()
Returns the parent of this GPathResult.
|
abstract GPathResult |
parents()
Returns the parents of this GPathResult as a
GPathResult . |
Object |
plus(Object newValue)
Lazily adds the specified Object to this GPathResult.
|
void |
putAt(int index,
Object newValue)
A helper method to allow GPathResults to work with subscript operators
|
protected abstract void |
replaceBody(Object newValue) |
protected abstract 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.
|
abstract int |
size()
Returns the size of this GPathResult.
|
abstract 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.
|
getMetaClass, invokeMethod
protected final GPathResult parent
protected final String name
protected final String namespacePrefix
protected final Map namespaceMap
public GPathResult(GPathResult parent, String name, String namespacePrefix, Map<String,String> namespaceTagHints)
name
with the parent parent
,
the namespacePrefix namespacePrefix
and the namespaceTagHints specified in
the namespaceTagHints
Map.parent
- the GPathResult prior to the application of the expression creating this GPathResultname
- if the GPathResult corresponds to something with a name, e.g. a nodenamespacePrefix
- the namespace prefix if anynamespaceTagHints
- the known tag to namespace mappingspublic void setMetaClass(MetaClass metaClass)
setMetaClass
in interface GroovyObject
setMetaClass
in class GroovyObjectSupport
metaClass
- the new MetaClasspublic Object getProperty(String property)
Realizes the follow shortcuts:
'..'
for parent()
'*'
for children()
'**'
for depthFirst()
'@'
for attribute access
getProperty
in interface GroovyObject
getProperty
in class GroovyObjectSupport
property
- the Property to fetchpublic void setProperty(String property, Object newValue)
setProperty
in interface GroovyObject
setProperty
in class GroovyObjectSupport
property
- the property of this GPathResult to replacenewValue
- the new value of the propertypublic Object leftShift(Object newValue)
newValue
- the Object to appendthis
public Object plus(Object newValue)
newValue
- the Object to addthis
protected abstract void replaceNode(Closure newValue)
protected abstract void replaceBody(Object newValue)
protected abstract void appendNode(Object newValue)
public String name()
public GPathResult parent()
this
public GPathResult children()
public String lookupNamespace(String prefix)
prefix
- the prefix lookuppublic String toString()
public Integer toInteger()
Integer
public Long toLong()
Long
public Float toFloat()
Float
public Double toDouble()
Double
public BigDecimal toBigDecimal()
BigDecimal
public BigInteger toBigInteger()
BigInteger
public URL toURL() throws MalformedURLException
URL
MalformedURLException
public URI toURI() throws URISyntaxException
URI
URISyntaxException
public Boolean toBoolean()
Boolean
public GPathResult declareNamespace(Map newNamespaceMapping)
newNamespaceMapping
- the mappings to addthis
public Object getAt(int index)
def text = """ <characterList> <character/> <character> <name>Gromit</name> </character> </characterList>""" GPathResult characterList = new XmlSlurper().parseText(text) assert characterList.character[1].name == 'Gromit'
index
- an indexpublic Object getAt(IntRange range)
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'
range
- a Range indicating the items to getpublic void putAt(int index, Object newValue)
index
- an indexnewValue
- the value to put at the given indexpublic Iterator depthFirst()
Iterator
of (depth-first) ordered GPathResultspublic Iterator breadthFirst()
Iterator
of (breadth-first) ordered GPathResultspublic List list()
public boolean isEmpty()
size()
is 0.public Closure getBody()
Closure
public abstract int size()
public abstract String text()
String
.public abstract GPathResult parents()
GPathResult
.
Warning: The subclasses of this package do not implement this method yet.public abstract Iterator childNodes()
public abstract Iterator iterator()
public abstract GPathResult find(Closure closure)
closure
- a closure to filters the children of this GPathResultpublic abstract GPathResult findAll(Closure closure)
closure
- a closure to filters the children of this GPathResultpublic abstract Iterator nodeIterator()