Skip to main content


The model package and the sub-package contains all types and methods that can be used to define and work with UOR data.

For more information on the concrete node types, see nodes.

Interface types defined in the model package.


Node is an interface that is used to represent different types of self-describing addressable data (typically stored in files locally or remotely). The methods defined in this interface are intended to be read-only. For methods that manipulate or assemble nodes, see NodeBuilder.


NodeBuilder is an interface that defines methods for building immutable Node types.


Nodes can be iterable (e.g. a UOR Collection). Using the iterator interface allows these structures to be iterated over during traversal.


Matcher is an interface that defines methods for node searching/matching that can guide Node graph traversal.


Attribute is an interface that defines a single attribute values with a key that is a type of string and a value that can be a string, boolean, integer, number, or null value.


AttributeSet is an interface that represents the methods that would be used by a structure containing a set of Node attributes.