Package groovy.util.slurpersupport
Class GPathResult
- java.lang.Object
- 
- groovy.lang.GroovyObjectSupport
- 
- groovy.util.slurpersupport.GPathResult
 
 
- 
- All Implemented Interfaces:
- Buildable,- GroovyObject,- Writable,- java.lang.Iterable
 - Direct Known Subclasses:
- Attribute,- NoChildren,- NodeChild,- NodeChildren
 
 public abstract class GPathResult extends GroovyObjectSupport implements Writable, Buildable, java.lang.Iterable Base class for representing lazy evaluated GPath expressions.
- 
- 
Field SummaryFields Modifier and Type Field Description protected java.lang.Stringnameprotected java.util.MapnamespaceMapprotected java.lang.StringnamespacePrefixprotected java.util.Map<java.lang.String,java.lang.String>namespaceTagHintsprotected GPathResultparent
 - 
Constructor SummaryConstructors Constructor Description GPathResult(GPathResult parent, java.lang.String name, java.lang.String namespacePrefix, java.util.Map<java.lang.String,java.lang.String> namespaceTagHints)Creates a new GPathResult namednamewith the parentparent, the namespacePrefixnamespacePrefixand the namespaceTagHints specified in thenamespaceTagHintsMap.
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidappendNode(java.lang.Object newValue)java.util.IteratorbreadthFirst()Provides an Iterator over all the nodes of this GPathResult using a breadth-first traversal.abstract java.util.IteratorchildNodes()Returns an iterator over the child nodes of this GPathResult.GPathResultchildren()Returns the children of this GPathResult as a GPathResult object.protected java.util.IteratorcreateIterator(java.lang.Object obj)GPathResultdeclareNamespace(java.util.Map newNamespaceMapping)Adds the specified map of prefix to namespace mappings to this GPathResult.java.util.IteratordepthFirst()Provides an Iterator over all the nodes of this GPathResult using a depth-first traversal.booleanequals(java.lang.Object obj)abstract GPathResultfind(Closure closure)Returns the first child of this GPathResult matching the condition(s) specified in the passed closure.abstract GPathResultfindAll(Closure closure)Returns the children of this GPathResult matching the condition(s) specified in the passed closure.java.lang.ObjectgetAt(int index)Supports the subscript operator for a GPathResult.java.lang.ObjectgetAt(IntRange range)Supports the range subscript operator for a GPathResult.ClosuregetBody()Creates a Closure representing the body of this GPathResult.java.lang.ObjectgetProperty(java.lang.String property)Returns the specified Property of this GPathResult.inthashCode()booleanisEmpty()Returns true if the GPathResult is empty, i.e.abstract java.util.Iteratoriterator()java.lang.ObjectleftShift(java.lang.Object newValue)Overloads the left shift operator to provide an easy way to lazily append Objects to this GPathResult.java.util.Listlist()Creates a list of objects representing this GPathResult.java.lang.StringlookupNamespace(java.lang.String prefix)Returns the namespace mapped to the specified prefix.java.lang.Stringname()Returns the name of this GPathResult.abstract java.util.IteratornodeIterator()GPathResultparent()Returns as GPathResult with the parent nodes of the current GPathResultabstract GPathResultparents()Returns the parents of this GPathResult as aGPathResult.java.lang.Objectplus(java.lang.Object newValue)Lazily adds the specified Object to this GPathResult.GPathResultpop()Returns the parent of this GPathResult.voidputAt(int index, java.lang.Object newValue)A helper method to allow GPathResults to work with subscript operatorsprotected abstract voidreplaceBody(java.lang.Object newValue)protected abstract voidreplaceNode(Closure newValue)voidsetMetaClass(MetaClass metaClass)Replaces the MetaClass of this GPathResult.voidsetProperty(java.lang.String property, java.lang.Object newValue)Replaces the specified property of this GPathResult with a new value.abstract intsize()Returns the size of this GPathResult.abstract java.lang.Stringtext()Returns the text of this GPathResult as aString.java.math.BigDecimaltoBigDecimal()Converts the text of this GPathResult to a BigDecimal object.java.math.BigIntegertoBigInteger()Converts the text of this GPathResult to a BigInteger object.java.lang.BooleantoBoolean()Converts the text of this GPathResult to a Boolean object.java.lang.DoubletoDouble()Converts the text of this GPathResult to a Double object.java.lang.FloattoFloat()Converts the text of this GPathResult to a Float object.java.lang.IntegertoInteger()Converts the text of this GPathResult to a Integer object.java.lang.LongtoLong()Converts the text of this GPathResult to a Long object.java.lang.StringtoString()Returns the text of this GPathResult.java.net.URItoURI()Converts the text of this GPathResult to a URI object.java.net.URLtoURL()Converts the text of this GPathResult to a URL object.- 
Methods inherited from class groovy.lang.GroovyObjectSupportgetMetaClass, invokeMethod
 
- 
 
- 
- 
- 
Field Detail- 
parentprotected final GPathResult parent 
 - 
nameprotected final java.lang.String name 
 - 
namespacePrefixprotected final java.lang.String namespacePrefix 
 - 
namespaceMapprotected final java.util.Map namespaceMap 
 - 
namespaceTagHintsprotected final java.util.Map<java.lang.String,java.lang.String> namespaceTagHints 
 
- 
 - 
Constructor Detail- 
GPathResultpublic GPathResult(GPathResult parent, java.lang.String name, java.lang.String namespacePrefix, java.util.Map<java.lang.String,java.lang.String> namespaceTagHints) Creates a new GPathResult namednamewith the parentparent, the namespacePrefixnamespacePrefixand the namespaceTagHints specified in thenamespaceTagHintsMap.- 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- 
setMetaClasspublic void setMetaClass(MetaClass metaClass) Replaces the MetaClass of this GPathResult.- Specified by:
- setMetaClassin interface- GroovyObject
- Overrides:
- setMetaClassin class- GroovyObjectSupport
- Parameters:
- metaClass- the new MetaClass
 
 - 
getPropertypublic java.lang.Object getProperty(java.lang.String property) Returns the specified Property of this GPathResult.Realizes the follow shortcuts: - '..'for- parent()
- '*'for- children()
- '**'for- depthFirst()
- '@'for attribute access
 - Specified by:
- getPropertyin interface- GroovyObject
- Overrides:
- getPropertyin class- GroovyObjectSupport
- Parameters:
- property- the Property to fetch
- Returns:
- the given property
 
 - 
setPropertypublic void setProperty(java.lang.String property, java.lang.Object newValue)Replaces the specified property of this GPathResult with a new value.- Specified by:
- setPropertyin interface- GroovyObject
- Overrides:
- setPropertyin class- GroovyObjectSupport
- Parameters:
- property- the property of this GPathResult to replace
- newValue- the new value of the property
 
 - 
leftShiftpublic java.lang.Object leftShift(java.lang.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
 
 - 
pluspublic java.lang.Object plus(java.lang.Object newValue) Lazily adds the specified Object to this GPathResult.- Parameters:
- newValue- the Object to add
- Returns:
- this
 
 - 
replaceNodeprotected abstract void replaceNode(Closure newValue) 
 - 
replaceBodyprotected abstract void replaceBody(java.lang.Object newValue) 
 - 
appendNodeprotected abstract void appendNode(java.lang.Object newValue) 
 - 
namepublic java.lang.String name() Returns the name of this GPathResult.- Returns:
- the name of this GPathResult
 
 - 
poppublic 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
 
 - 
parentpublic GPathResult parent() Returns as GPathResult with the parent nodes of the current GPathResult- Returns:
- the parents GPathResult or thisfor the root
 
 - 
childrenpublic GPathResult children() Returns the children of this GPathResult as a GPathResult object.- Returns:
- the children of this GPathResult
 
 - 
lookupNamespacepublic java.lang.String lookupNamespace(java.lang.String prefix) Returns the namespace mapped to the specified prefix.- Parameters:
- prefix- the prefix lookup
- Returns:
- the namespace of the prefix
 
 - 
toStringpublic java.lang.String toString() Returns the text of this GPathResult.- Overrides:
- toStringin class- java.lang.Object
- Returns:
- the GPathResult, converted to a String
 
 - 
toIntegerpublic java.lang.Integer toInteger() Converts the text of this GPathResult to a Integer object.- Returns:
- the GPathResult, converted to a Integer
 
 - 
toLongpublic java.lang.Long toLong() Converts the text of this GPathResult to a Long object.- Returns:
- the GPathResult, converted to a Long
 
 - 
toFloatpublic java.lang.Float toFloat() Converts the text of this GPathResult to a Float object.- Returns:
- the GPathResult, converted to a Float
 
 - 
toDoublepublic java.lang.Double toDouble() Converts the text of this GPathResult to a Double object.- Returns:
- the GPathResult, converted to a Double
 
 - 
toBigDecimalpublic java.math.BigDecimal toBigDecimal() Converts the text of this GPathResult to a BigDecimal object.- Returns:
- the GPathResult, converted to a BigDecimal
 
 - 
toBigIntegerpublic java.math.BigInteger toBigInteger() Converts the text of this GPathResult to a BigInteger object.- Returns:
- the GPathResult, converted to a BigInteger
 
 - 
toURLpublic java.net.URL toURL() throws java.net.MalformedURLExceptionConverts the text of this GPathResult to a URL object.- Returns:
- the GPathResult, converted to a URL
- Throws:
- java.net.MalformedURLException
 
 - 
toURIpublic java.net.URI toURI() throws java.net.URISyntaxExceptionConverts the text of this GPathResult to a URI object.- Returns:
- the GPathResult, converted to a URI
- Throws:
- java.net.URISyntaxException
 
 - 
toBooleanpublic java.lang.Boolean toBoolean() Converts the text of this GPathResult to a Boolean object.- Returns:
- the GPathResult, converted to a Boolean
 
 - 
declareNamespacepublic GPathResult declareNamespace(java.util.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
 
 - 
hashCodepublic int hashCode() - Overrides:
- hashCodein class- java.lang.Object
 
 - 
equalspublic boolean equals(java.lang.Object obj) - Overrides:
- equalsin class- java.lang.Object
 
 - 
getAtpublic java.lang.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
 
 - 
getAtpublic java.lang.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
 
 - 
putAtpublic void putAt(int index, java.lang.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
 
 - 
depthFirstpublic java.util.Iterator depthFirst() Provides an Iterator over all the nodes of this GPathResult using a depth-first traversal.- Returns:
- the Iteratorof (depth-first) ordered GPathResults
 
 - 
breadthFirstpublic java.util.Iterator breadthFirst() Provides an Iterator over all the nodes of this GPathResult using a breadth-first traversal.- Returns:
- the Iteratorof (breadth-first) ordered GPathResults
 
 - 
listpublic java.util.List list() Creates a list of objects representing this GPathResult.- Returns:
- a list representing of this GPathResult
 
 - 
isEmptypublic 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
 
 - 
getBodypublic Closure getBody() Creates a Closure representing the body of this GPathResult.- Returns:
- the body of this GPathResult, converted to a Closure
 
 - 
sizepublic abstract int size() Returns the size of this GPathResult.- Returns:
- the size of this GPathResult
 
 - 
textpublic abstract java.lang.String text() Returns the text of this GPathResult as aString.- Returns:
- the text of this GPathResult
 
 - 
parentspublic abstract GPathResult parents() Returns the parents of this GPathResult as aGPathResult. Warning: The subclasses of this package do not implement this method yet.- Returns:
- the parents of this GPathResult
 
 - 
childNodespublic abstract java.util.Iterator childNodes() Returns an iterator over the child nodes of this GPathResult.- Returns:
- an iterator over the child nodes of this GPathResult
 
 - 
iteratorpublic abstract java.util.Iterator iterator() - Specified by:
- iteratorin interface- java.lang.Iterable
 
 - 
findpublic 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
 
 - 
findAllpublic 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
 
 - 
nodeIteratorpublic abstract java.util.Iterator nodeIterator() 
 - 
createIteratorprotected java.util.Iterator createIterator(java.lang.Object obj) 
 
- 
 
-