Package com.github.javaparser.ast
Class NodeList<N extends Node>
java.lang.Object
com.github.javaparser.ast.NodeList<N>
- Type Parameters:
N
- the type of nodes contained.
- All Implemented Interfaces:
Observable
,Visitable
,HasParentNode<NodeList<N>>
,Iterable<N>
,Collection<N>
,List<N>
public class NodeList<N extends Node>
extends Object
implements List<N>, Iterable<N>, HasParentNode<NodeList<N>>, Visitable, Observable
A list of nodes.
It usually has a parent node.
Unlike normal Nodes, this does not mean that it is a child of that parent.
Instead, this list will make every node it contains a child of its parent.
This way, a NodeList does not create an extra level inside the AST.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<R, A> R
accept(GenericVisitor<R,A> v, A arg)
Accept method for visitor support.<A> void
accept(VoidVisitor<A> v, A arg)
Accept method for visitor support.void
boolean
Inserts the node after afterThisNode.boolean
addAll(int index, Collection<? extends N> c)
void
boolean
addAll(Collection<? extends N> c)
Inserts the node before beforeThisNode.Inserts the node before all other nodes.Inserts the node after all other nodes.void
clear()
boolean
boolean
boolean
containsAll(Collection<?> c)
boolean
void
get(int i)
getFirst()
getLast()
Returns the parent node, orOptional.empty
if no parent is set.Returns the parent node from the perspective of the children of this node.int
hashCode()
void
ifNonEmpty(Consumer<? super NodeList<N>> consumer)
int
boolean
isEmpty()
boolean
boolean
isRegistered(AstObserver observer)
Was this observer registered? Note that equals is used to determine if the given observer was registered.iterator()
int
lastIndexOf(Object o)
listIterator(int index)
nodeList(Collection<X> nodes)
nodeList(X... nodes)
void
register(AstObserver observer)
Register an observer.remove(int index)
boolean
boolean
boolean
removeAll(Collection<?> c)
boolean
boolean
Replaces the first node that is equal to "old" with "replacement".void
replaceAll(UnaryOperator<N> operator)
boolean
retainAll(Collection<?> c)
setParentNode(Node parentNode)
Sets the parentNodeint
size()
void
sort(Comparator<? super N> comparator)
subList(int fromIndex, int toIndex)
Object[]
toArray()
<T> T[]
toArray(T[] a)
toString()
void
unregister(AstObserver observer)
Unregister an observer.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
stream, toArray
Methods inherited from interface com.github.javaparser.HasParentNode
findAncestor, findAncestor, hasParentNode, isDescendantOf
-
Constructor Details
-
NodeList
public NodeList() -
NodeList
-
NodeList
-
-
Method Details
-
add
-
remove
-
removeFirst
-
removeLast
-
nodeList
-
nodeList
-
nodeList
-
contains
-
size
public int size() -
get
-
iterator
-
set
-
remove
-
isEmpty
public boolean isEmpty() -
sort
-
addAll
-
add
-
addFirst
Inserts the node before all other nodes. -
addLast
Inserts the node after all other nodes. (This is simply an alias for add.) -
addAfter
Inserts the node after afterThisNode.- Throws:
IllegalArgumentException
- when afterThisNode is not in this list.
-
addBefore
Inserts the node before beforeThisNode.- Throws:
IllegalArgumentException
- when beforeThisNode is not in this list.
-
getFirst
- Returns:
- the first node, or empty if the list is empty.
-
getLast
- Returns:
- the last node, or empty if the list is empty.
-
getParentNode
Description copied from interface:HasParentNode
Returns the parent node, orOptional.empty
if no parent is set.- Specified by:
getParentNode
in interfaceHasParentNode<N extends Node>
-
setParentNode
Sets the parentNode- Specified by:
setParentNode
in interfaceHasParentNode<N extends Node>
- Parameters:
parentNode
- the parentNode- Returns:
- this, the NodeList
-
getParentNodeForChildren
Description copied from interface:HasParentNode
Returns the parent node from the perspective of the children of this node.That is, this method returns
this
for everything exceptNodeList
. ANodeList
returns its parent node instead. This is because aNodeList
sets the parent of all its children to its own parent node (seeNodeList
for details).- Specified by:
getParentNodeForChildren
in interfaceHasParentNode<N extends Node>
-
accept
Description copied from interface:Visitable
Accept method for visitor support.- Specified by:
accept
in interfaceVisitable
- Type Parameters:
R
- the type of the return value of the visitorA
- the type the user argument passed to the visitor- Parameters:
v
- the visitor implementationarg
- the argument passed to the visitor (of type A)- Returns:
- the result of the visit (of type R)
-
accept
Description copied from interface:Visitable
Accept method for visitor support. -
forEach
- Specified by:
forEach
in interfaceIterable<N extends Node>
- See Also:
Iterable.forEach(java.util.function.Consumer)
-
contains
- Specified by:
contains
in interfaceCollection<N extends Node>
- Specified by:
contains
in interfaceList<N extends Node>
- See Also:
List.contains(java.lang.Object)
-
toArray
- Specified by:
toArray
in interfaceCollection<N extends Node>
- Specified by:
toArray
in interfaceList<N extends Node>
- See Also:
List.toArray()
-
toArray
public <T> T[] toArray(T[] a)- Specified by:
toArray
in interfaceCollection<N extends Node>
- Specified by:
toArray
in interfaceList<N extends Node>
- See Also:
List.toArray(java.lang.Object[])
-
remove
- Specified by:
remove
in interfaceCollection<N extends Node>
- Specified by:
remove
in interfaceList<N extends Node>
- See Also:
List.remove(java.lang.Object)
-
containsAll
- Specified by:
containsAll
in interfaceCollection<N extends Node>
- Specified by:
containsAll
in interfaceList<N extends Node>
- See Also:
List.containsAll(java.util.Collection)
-
addAll
- Specified by:
addAll
in interfaceCollection<N extends Node>
- Specified by:
addAll
in interfaceList<N extends Node>
- See Also:
List.addAll(java.util.Collection)
-
addAll
- Specified by:
addAll
in interfaceList<N extends Node>
- See Also:
List.addAll(int, java.util.Collection)
-
removeAll
- Specified by:
removeAll
in interfaceCollection<N extends Node>
- Specified by:
removeAll
in interfaceList<N extends Node>
- See Also:
List.removeAll(java.util.Collection)
-
retainAll
- Specified by:
retainAll
in interfaceCollection<N extends Node>
- Specified by:
retainAll
in interfaceList<N extends Node>
- See Also:
List.retainAll(java.util.Collection)
-
replaceAll
- Specified by:
replaceAll
in interfaceList<N extends Node>
- See Also:
List.replaceAll(java.util.function.UnaryOperator)
-
removeIf
- Specified by:
removeIf
in interfaceCollection<N extends Node>
- See Also:
Collection.removeIf(java.util.function.Predicate)
-
clear
public void clear()- Specified by:
clear
in interfaceCollection<N extends Node>
- Specified by:
clear
in interfaceList<N extends Node>
- See Also:
List.clear()
-
equals
-
hashCode
public int hashCode() -
indexOf
- Specified by:
indexOf
in interfaceList<N extends Node>
- See Also:
List.indexOf(java.lang.Object)
-
lastIndexOf
- Specified by:
lastIndexOf
in interfaceList<N extends Node>
- See Also:
List.lastIndexOf(java.lang.Object)
-
listIterator
- Specified by:
listIterator
in interfaceList<N extends Node>
- See Also:
List.listIterator()
-
listIterator
- Specified by:
listIterator
in interfaceList<N extends Node>
- See Also:
List.listIterator(int)
-
parallelStream
- Specified by:
parallelStream
in interfaceCollection<N extends Node>
- See Also:
Collection.parallelStream()
-
subList
- Specified by:
subList
in interfaceList<N extends Node>
- See Also:
List.subList(int, int)
-
spliterator
- Specified by:
spliterator
in interfaceCollection<N extends Node>
- Specified by:
spliterator
in interfaceIterable<N extends Node>
- Specified by:
spliterator
in interfaceList<N extends Node>
- See Also:
List.spliterator()
-
unregister
Description copied from interface:Observable
Unregister an observer. If the given observer was not registered there are no effects.- Specified by:
unregister
in interfaceObservable
-
register
Description copied from interface:Observable
Register an observer.- Specified by:
register
in interfaceObservable
-
isRegistered
Description copied from interface:Observable
Was this observer registered? Note that equals is used to determine if the given observer was registered.- Specified by:
isRegistered
in interfaceObservable
-
replace
Replaces the first node that is equal to "old" with "replacement".- Returns:
- true if a replacement has happened.
-
isNonEmpty
public boolean isNonEmpty()- Returns:
- the opposite of isEmpty()
-
ifNonEmpty
-
toNodeList
-
toString
-