public abstract class YangInstanceIdentifier implements Path<YangInstanceIdentifier>, Immutable, Serializable {
/**
* An empty {@link YangInstanceIdentifier}. It corresponds to the path of the conceptual root of the YANG namespace.
+ *
+ * @deprecated Use {@link #empty()} instead.
*/
+ @Deprecated
public static final @NonNull YangInstanceIdentifier EMPTY = FixedYangInstanceIdentifier.EMPTY_INSTANCE;
private static final AtomicReferenceFieldUpdater<YangInstanceIdentifier, String> TOSTRINGCACHE_UPDATER =
this.hash = hash;
}
+ /**
+ * Return An empty {@link YangInstanceIdentifier}. It corresponds to the path of the conceptual root of the YANG
+ * namespace.
+ *
+ * @return An empty YangInstanceIdentifier
+ */
+ public static @NonNull YangInstanceIdentifier empty() {
+ return FixedYangInstanceIdentifier.EMPTY_INSTANCE;
+ }
+
abstract @NonNull YangInstanceIdentifier createRelativeIdentifier(int skipFromRoot);
abstract @Nullable Collection<PathArgument> tryPathArguments();
public static @NonNull YangInstanceIdentifier create(final Iterable<? extends PathArgument> path) {
if (Iterables.isEmpty(path)) {
- return EMPTY;
+ return empty();
}
final HashCodeBuilder<PathArgument> hash = new HashCodeBuilder<>();
*/
public Optional<YangInstanceIdentifier> relativeTo(final YangInstanceIdentifier ancestor) {
if (this == ancestor) {
- return Optional.of(EMPTY);
+ return Optional.of(empty());
}
if (ancestor.isEmpty()) {
return Optional.of(this);
return Optional.of(this);
}
if (!lit.hasNext()) {
- return Optional.of(EMPTY);
+ return Optional.of(empty());
}
return Optional.of(createRelativeIdentifier(common));
*/
static Map<NormalizedNode<?, ?>, DuplicateEntry> findDuplicates(final NormalizedNode<?, ?> node) {
final DuplicateFinder finder = new DuplicateFinder();
- finder.findDuplicates(YangInstanceIdentifier.EMPTY, node);
+ finder.findDuplicates(YangInstanceIdentifier.empty(), node);
return finder.identities;
}
}
*/
@Override
default DataTreeModificationCursor openCursor() {
- return openCursor(YangInstanceIdentifier.EMPTY).get();
+ return openCursor(YangInstanceIdentifier.empty()).get();
}
}
* @throws IllegalStateException if there is another cursor currently open.
*/
default DataTreeSnapshotCursor openCursor() {
- return openCursor(YangInstanceIdentifier.EMPTY).get();
+ return openCursor(YangInstanceIdentifier.empty()).get();
}
@Override
case OPERATIONAL:
return DEFAULT_OPERATIONAL;
default:
- return new DataTreeConfiguration(treeType, YangInstanceIdentifier.EMPTY, false, true);
+ return new DataTreeConfiguration(treeType, YangInstanceIdentifier.empty(), false, true);
}
}
public Builder(final TreeType treeType) {
this.treeType = requireNonNull(treeType);
- this.rootPath = YangInstanceIdentifier.EMPTY;
+ this.rootPath = YangInstanceIdentifier.empty();
}
public Builder setUniqueIndexes(final boolean uniqueIndexes) {
new NodeIdentifier(NODENAME2));
assertEquals(fixed, serdes(fixed));
- final YangInstanceIdentifier stacked = YangInstanceIdentifier.EMPTY.node(new NodeIdentifier(NODENAME1));
+ final YangInstanceIdentifier stacked = YangInstanceIdentifier.empty().node(new NodeIdentifier(NODENAME1));
assertEquals(stacked, serdes(stacked));
- final YangInstanceIdentifier empty = serdes(YangInstanceIdentifier.EMPTY);
- assertSame(YangInstanceIdentifier.EMPTY, empty);
+ final YangInstanceIdentifier empty = serdes(YangInstanceIdentifier.empty());
+ assertSame(YangInstanceIdentifier.empty(), empty);
}
@Test
public void testToOptimized() {
final YangInstanceIdentifier fixed = YangInstanceIdentifier.create(new NodeIdentifier(NODENAME1),
new NodeIdentifier(NODENAME2));
- final YangInstanceIdentifier stacked = YangInstanceIdentifier.EMPTY.node(NodeIdentifier.create(NODENAME1))
+ final YangInstanceIdentifier stacked = YangInstanceIdentifier.empty().node(NodeIdentifier.create(NODENAME1))
.node(NodeIdentifier.create(NODENAME2));
assertSame(fixed, fixed.toOptimized());
@Test
public void testGetParent() {
final YangInstanceIdentifier fixed = YangInstanceIdentifier.create(new NodeIdentifier(NODENAME1));
- final YangInstanceIdentifier stacked = YangInstanceIdentifier.EMPTY.node(new NodeIdentifier(NODENAME1));
+ final YangInstanceIdentifier stacked = YangInstanceIdentifier.empty().node(new NodeIdentifier(NODENAME1));
final YangInstanceIdentifier twoStacked = stacked.node(new NodeIdentifier(NODENAME2));
- assertNull(YangInstanceIdentifier.EMPTY.getParent());
- assertSame(YangInstanceIdentifier.EMPTY, fixed.getParent());
- assertSame(YangInstanceIdentifier.EMPTY, stacked.getParent());
+ assertNull(YangInstanceIdentifier.empty().getParent());
+ assertSame(YangInstanceIdentifier.empty(), fixed.getParent());
+ assertSame(YangInstanceIdentifier.empty(), stacked.getParent());
assertSame(stacked, twoStacked.getParent());
}
@Test
public void testIsEmpty() {
final YangInstanceIdentifier fixed = YangInstanceIdentifier.create(new NodeIdentifier(NODENAME1));
- final YangInstanceIdentifier stacked = YangInstanceIdentifier.EMPTY.node(new NodeIdentifier(NODENAME1));
+ final YangInstanceIdentifier stacked = YangInstanceIdentifier.empty().node(new NodeIdentifier(NODENAME1));
- assertTrue(YangInstanceIdentifier.EMPTY.isEmpty());
+ assertTrue(YangInstanceIdentifier.empty().isEmpty());
assertFalse(fixed.isEmpty());
assertFalse(stacked.isEmpty());
}
final TreeNode currentRoot = getTipRoot();
if (root.getOperation() == LogicalOperation.NONE) {
- return new NoopDataTreeCandidate(YangInstanceIdentifier.EMPTY, root, currentRoot);
+ return new NoopDataTreeCandidate(YangInstanceIdentifier.empty(), root, currentRoot);
}
final Optional<TreeNode> newRoot = m.getStrategy().apply(m.getRootModification(), Optional.of(currentRoot),
m.getVersion());
checkState(newRoot.isPresent(), "Apply strategy failed to produce root node for modification %s", modification);
- return new InMemoryDataTreeCandidate(YangInstanceIdentifier.EMPTY, root, currentRoot, newRoot.get());
+ return new InMemoryDataTreeCandidate(YangInstanceIdentifier.empty(), root, currentRoot, newRoot.get());
}
private static InMemoryDataTreeModification checkedCast(final DataTreeModification mod) {
final DataTree ret = create(treeConfig, initialSchemaContext, false);
final DataTreeModification mod = ret.takeSnapshot().newModification();
- mod.write(YangInstanceIdentifier.EMPTY, initialRoot);
+ mod.write(YangInstanceIdentifier.empty(), initialRoot);
mod.ready();
ret.validate(mod);
}
final Builder<YangInstanceIdentifier> builder = ImmutableList.builder();
- findMandatoryNodes(builder, YangInstanceIdentifier.EMPTY, schema, treeConfig.getTreeType());
+ findMandatoryNodes(builder, YangInstanceIdentifier.empty(), schema, treeConfig.getTreeType());
final ImmutableList<YangInstanceIdentifier> mandatoryNodes = builder.build();
return mandatoryNodes.isEmpty() ? Optional.empty() : Optional.of(new MandatoryLeafEnforcer(mandatoryNodes));
}
@Test
public void testEmptyInstanceIdentifier() {
assertEquals(ImmutableNodes.containerNode(SchemaContext.NAME),
- ImmutableNodes.fromInstanceId(ctx, YangInstanceIdentifier.EMPTY));
+ ImmutableNodes.fromInstanceId(ctx, YangInstanceIdentifier.empty()));
}
}
inMemoryDataTree.commit(prepare);
// Empty list should have disappeared, along with the container, as we are not enforcing root
- final NormalizedNode<?, ?> data = inMemoryDataTree.takeSnapshot().readNode(YangInstanceIdentifier.EMPTY).get();
+ final NormalizedNode<?, ?> data = inMemoryDataTree.takeSnapshot()
+ .readNode(YangInstanceIdentifier.empty()).get();
assertTrue(data instanceof ContainerNode);
assertEquals(0, ((ContainerNode) data).getValue().size());
}
dataTree.validate(modification);
final DataTreeCandidate candidate = dataTree.prepare(modification);
- assertEquals(YangInstanceIdentifier.EMPTY, candidate.getRootPath());
+ assertEquals(YangInstanceIdentifier.empty(), candidate.getRootPath());
final DataTreeCandidateNode node = candidate.getRootNode();
assertEquals(ModificationType.UNMODIFIED, node.getModificationType());
// The entire transaction needs to fizzle to a no-op
final DataTreeCandidate candidate = dataTree.prepare(modification);
- assertEquals(YangInstanceIdentifier.EMPTY, candidate.getRootPath());
+ assertEquals(YangInstanceIdentifier.empty(), candidate.getRootPath());
final DataTreeCandidateNode node = candidate.getRootNode();
assertEquals(ModificationType.UNMODIFIED, node.getModificationType());
}
YangInstanceIdentifier getPath() {
- return (parent == null ? YangInstanceIdentifier.EMPTY : parent.getPath()).node(node.getIdentifier());
+ return (parent == null ? YangInstanceIdentifier.empty() : parent.getPath()).node(node.getIdentifier());
}
DataSchemaContextNode<?> getSchema() {
return Iterators.transform(collection.iterator(), this::createChild);
}
- static NormalizedNodeContext cast(@Nullable Context context) {
+ static NormalizedNodeContext cast(@Nullable final Context context) {
verify(context instanceof NormalizedNodeContext);
return (@NonNull NormalizedNodeContext) context;
}