public abstract class YangInstanceIdentifier extends Object implements Path<YangInstanceIdentifier>, Immutable, Serializable
Java representation of YANG Built-in type instance-identifier,
which conceptually is XPath expression minimized to uniquely identify element
in data tree which conforms to constraints maintained by YANG Model,
effectively this makes Instance Identifier a path to element in data tree.
Constraints put in YANG specification on instance-identifier allowed it to be effectively represented in Java and it's evaluation does not require full-blown XPath processor.
YangInstanceIdentifier.PathArgument which carries necessary information to uniquely identify
node on particular level in the subtree.
YangInstanceIdentifier.NodeIdentifier - Identifier of node, which has cardinality
0..1 in particular subtree in data tree.YangInstanceIdentifier.NodeIdentifierWithPredicates - Identifier of node (list item),
which has cardinality 0..n.YangInstanceIdentifier.NodeWithValue - Identifier of instance leaf node or
leaf-list node.YangInstanceIdentifier.AugmentationIdentifier - Identifier of instance of
augmentation node.| Modifier and Type | Class and Description |
|---|---|
static class |
YangInstanceIdentifier.AugmentationIdentifier
Composite path argument identifying a
AugmentationNode
node in particular subtree. |
static interface |
YangInstanceIdentifier.InstanceIdentifierBuilder
Fluent Builder of Instance Identifier instances.
|
static class |
YangInstanceIdentifier.NodeIdentifier
Simple path argument identifying a
ContainerNode or
LeafNode leaf in particular subtree. |
static class |
YangInstanceIdentifier.NodeIdentifierWithPredicates
Composite path argument identifying a
MapEntryNode leaf
overall data tree. |
static class |
YangInstanceIdentifier.NodeWithValue<T>
Simple path argument identifying a
LeafSetEntryNode leaf
overall data tree. |
static interface |
YangInstanceIdentifier.PathArgument
Path argument / component of InstanceIdentifier.
|
| Modifier and Type | Field and Description |
|---|---|
static YangInstanceIdentifier |
EMPTY
An empty
YangInstanceIdentifier. |
| Modifier and Type | Method and Description |
|---|---|
static YangInstanceIdentifier.InstanceIdentifierBuilder |
builder()
Returns new builder for InstanceIdentifier with empty path arguments.
|
static YangInstanceIdentifier.InstanceIdentifierBuilder |
builder(YangInstanceIdentifier origin)
Returns new builder for InstanceIdentifier with path arguments copied from original instance identifier.
|
boolean |
contains(YangInstanceIdentifier other)
Check if this path contains some other.
|
static YangInstanceIdentifier |
create(Iterable<? extends YangInstanceIdentifier.PathArgument> path) |
static YangInstanceIdentifier |
create(YangInstanceIdentifier.PathArgument... path) |
boolean |
equals(Object obj) |
abstract YangInstanceIdentifier |
getAncestor(int depth)
Return the ancestor
YangInstanceIdentifier with a particular depth, e.g. |
abstract YangInstanceIdentifier.PathArgument |
getLastPathArgument()
Returns the last PathArgument.
|
abstract YangInstanceIdentifier |
getParent()
Return the conceptual parent
YangInstanceIdentifier, which has
one item less in getPathArguments(). |
abstract List<YangInstanceIdentifier.PathArgument> |
getPathArguments()
Returns an ordered iteration of path arguments.
|
abstract List<YangInstanceIdentifier.PathArgument> |
getReversePathArguments()
Returns an iterable of path arguments in reverse order.
|
int |
hashCode() |
abstract boolean |
isEmpty()
Check if this instance identifier has empty path arguments, e.g.
|
YangInstanceIdentifier |
node(QName name)
Constructs a new Instance Identifier with new
YangInstanceIdentifier.NodeIdentifier added to the end of path arguments. |
YangInstanceIdentifier |
node(YangInstanceIdentifier.PathArgument arg)
Constructs a new Instance Identifier with new
YangInstanceIdentifier.PathArgument added to the end of path arguments. |
static YangInstanceIdentifier |
of(QName name)
Returns a new InstanceIdentifier with only one path argument of type
YangInstanceIdentifier.NodeIdentifier with supplied
QName. |
Optional<YangInstanceIdentifier> |
relativeTo(YangInstanceIdentifier ancestor)
Get the relative path from an ancestor.
|
abstract YangInstanceIdentifier |
toOptimized()
Return an optimized version of this identifier, useful when the identifier
will be used very frequently.
|
String |
toString() |
public static final YangInstanceIdentifier EMPTY
YangInstanceIdentifier. It corresponds to the path of the conceptual root of the YANG namespace.public abstract boolean isEmpty()
EMPTY.@Beta public abstract YangInstanceIdentifier toOptimized()
@Nullable public abstract YangInstanceIdentifier getParent()
YangInstanceIdentifier, which has
one item less in getPathArguments().YangInstanceIdentifier, or null if this object is EMPTY.@Nonnull public abstract YangInstanceIdentifier getAncestor(int depth)
YangInstanceIdentifier with a particular depth, e.g. number of path arguments.depth - Ancestor depthYangInstanceIdentifierIllegalArgumentException - if the specified depth is negative or is greater than the depth of this object.public abstract List<YangInstanceIdentifier.PathArgument> getPathArguments()
public abstract List<YangInstanceIdentifier.PathArgument> getReversePathArguments()
public abstract YangInstanceIdentifier.PathArgument getLastPathArgument()
getPathArguments().public static YangInstanceIdentifier create(Iterable<? extends YangInstanceIdentifier.PathArgument> path)
public static YangInstanceIdentifier create(YangInstanceIdentifier.PathArgument... path)
public final YangInstanceIdentifier node(QName name)
YangInstanceIdentifier.NodeIdentifier added to the end of path arguments.name - QName of YangInstanceIdentifier.NodeIdentifierpublic final YangInstanceIdentifier node(YangInstanceIdentifier.PathArgument arg)
YangInstanceIdentifier.PathArgument added to the end of path arguments.arg - Path argument which should be added to the endpublic Optional<YangInstanceIdentifier> relativeTo(YangInstanceIdentifier ancestor)
ancestor - Ancestor against which the relative path should be calculatedpublic final boolean contains(@Nonnull YangInstanceIdentifier other)
Pathcontains in interface Path<YangInstanceIdentifier>other - Other path, may not be null.public static YangInstanceIdentifier of(QName name)
YangInstanceIdentifier.NodeIdentifier with supplied
QName.name - QName of first node identifierYangInstanceIdentifier.NodeIdentifierpublic static YangInstanceIdentifier.InstanceIdentifierBuilder builder()
public static YangInstanceIdentifier.InstanceIdentifierBuilder builder(YangInstanceIdentifier origin)
origin - InstanceIdentifier from which path arguments are copied.Copyright © 2019 OpenDaylight. All rights reserved.