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 depthYangInstanceIdentifier
IllegalArgumentException
- 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.NodeIdentifier
public 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)
Path
contains
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.NodeIdentifier
public 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.