Package com.apicatalog.tree.io
Class NodeModel
java.lang.Object
com.apicatalog.tree.io.NodeModel
Immutable representation of a tree structure accessed through a
NodeAdapter.
A NodeModel instance binds a node with its adapter, providing a
uniform way to traverse or compare trees of arbitrary underlying object
models.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionNodeModel(Object node, NodeAdapter adapter) Creates a new immutable tree with the given root node and adapter. -
Method Summary
Modifier and TypeMethodDescriptionadapter()static Comparator<Map.Entry<?,?>> comparingEntry(Function<Map.Entry<?, ?>, Comparable> keyExtractor) static Comparator<?>comparingNode(Function<Object, Comparable> keyExtractor) (package private) static final booleandeepEquals(Object left, NodeAdapter leftAdapter, Object right, NodeAdapter rightAdapter) protected static booleandeepEqualsCollection(Iterable<? extends Object> left, NodeAdapter leftAdapter, Iterable<? extends Object> right, NodeAdapter rightAdapter) node()
-
Field Details
-
adapter
-
node
-
-
Constructor Details
-
NodeModel
Creates a new immutable tree with the given root node and adapter.- Parameters:
node- the root node of the tree, must not benulladapter- the adapter providing access to node types and values, must not benull- Throws:
NullPointerException- ifrootoradapterisnull
-
-
Method Details
-
adapter
-
node
-
deepEquals
static final boolean deepEquals(Object left, NodeAdapter leftAdapter, Object right, NodeAdapter rightAdapter) -
deepEqualsCollection
protected static boolean deepEqualsCollection(Iterable<? extends Object> left, NodeAdapter leftAdapter, Iterable<? extends Object> right, NodeAdapter rightAdapter) -
comparingEntry
public static Comparator<Map.Entry<?,?>> comparingEntry(Function<Map.Entry<?, ?>, Comparable> keyExtractor) -
comparingNode
-