public static YangInstanceIdentifier create(final PathArgument... path) { // We are forcing a copy, since we cannot trust the user return create(Arrays.asList(path)); }
public static YangInstanceIdentifier create(final PathArgument... path) { // We are forcing a copy, since we cannot trust the user return create(Arrays.asList(path)); }
/** * Returns a new InstanceIdentifier with only one path argument of type {@link NodeIdentifier} with supplied * QName. * * @param name QName of first node identifier * @return Instance Identifier with only one path argument of type {@link NodeIdentifier} */ public static YangInstanceIdentifier of(final QName name) { return create(new NodeIdentifier(name)); }
/** * Returns a new InstanceIdentifier with only one path argument of type {@link NodeIdentifier} with supplied * QName. * * @param name QName of first node identifier * @return Instance Identifier with only one path argument of type {@link NodeIdentifier} */ public static YangInstanceIdentifier of(final QName name) { return create(new NodeIdentifier(name)); }
@Override public YangInstanceIdentifier getParent() { if (path.isEmpty()) { return null; } YangInstanceIdentifier ret = parent; if (ret == null) { ret = YangInstanceIdentifier.create(path.subList(0, path.size() - 1)); parent = ret; } return ret; }
@Override public YangInstanceIdentifier getParent() { if (path.isEmpty()) { return null; } YangInstanceIdentifier ret = parent; if (ret == null) { ret = YangInstanceIdentifier.create(path.subList(0, path.size() - 1)); parent = ret; } return ret; }
@Override public YangInstanceIdentifier serialize(final InstanceIdentifier<?> input) { final List<PathArgument> domArgs = new ArrayList<>(); context.getCodecContextNode(input, domArgs); return YangInstanceIdentifier.create(domArgs); }
private YangInstanceIdentifier readYangInstanceIdentifierInternal() throws IOException { int size = input.readInt(); List<PathArgument> pathArguments = new ArrayList<>(size); for(int i = 0; i < size; i++) { pathArguments.add(readPathArgument()); } return YangInstanceIdentifier.create(pathArguments); }
@Override public YangInstanceIdentifier serialize(final InstanceIdentifier<?> input) { final List<PathArgument> domArgs = new ArrayList<>(); context.getCodecContextNode(input, domArgs); return YangInstanceIdentifier.create(domArgs); }
private YangInstanceIdentifier readYangInstanceIdentifierInternal() throws IOException { int size = input.readInt(); final Builder<PathArgument> pathArguments = ImmutableList.builderWithExpectedSize(size); for (int i = 0; i < size; i++) { pathArguments.add(readPathArgument()); } return YangInstanceIdentifier.create(pathArguments.build()); }
@Nonnull @Override public YangInstanceIdentifier getAncestor(final int depth) { checkArgument(depth >= 0, "Negative depth is not allowed"); checkArgument(depth <= path.size(), "Depth %s exceeds maximum depth %s", depth, path.size()); if (depth == path.size()) { return this; } if (depth == path.size() - 1) { // Use the parent cache return getParent(); } return YangInstanceIdentifier.create(path.subList(0, depth)); }
public Entry<YangInstanceIdentifier, BindingStreamEventWriter> newWriter(final InstanceIdentifier<?> path, final NormalizedNodeStreamWriter domWriter) { final List<YangInstanceIdentifier.PathArgument> yangArgs = new LinkedList<>(); final DataContainerCodecContext<?,?> codecContext = getCodecContextNode(path, yangArgs); return new SimpleEntry<>(YangInstanceIdentifier.create(yangArgs), codecContext.createWriter(domWriter)); }
@Nonnull @Override YangInstanceIdentifier createRelativeIdentifier(final int skipFromRoot) { // TODO: can we optimize this one? return YangInstanceIdentifier.create(Iterables.skip(getPathArguments(), skipFromRoot)); }
@Nonnull @Override YangInstanceIdentifier createRelativeIdentifier(final int skipFromRoot) { // TODO: can we optimize this one? return YangInstanceIdentifier.create(Iterables.skip(getPathArguments(), skipFromRoot)); }
@Override public final YangInstanceIdentifier deserialize(final String data) { XpathStringParsingPathArgumentBuilder builder = new XpathStringParsingPathArgumentBuilder(this, requireNonNull(data)); return YangInstanceIdentifier.create(builder.build()); }
@Override public final YangInstanceIdentifier deserialize(final String data) { XpathStringParsingPathArgumentBuilder builder = new XpathStringParsingPathArgumentBuilder(this, requireNonNull(data)); return YangInstanceIdentifier.create(builder.build()); }
public YangInstanceIdentifier toLegacy(final YangInstanceIdentifier normalized) throws DataNormalizationException { ImmutableList.Builder<PathArgument> legacyArgs = ImmutableList.builder(); DataNormalizationOperation<?> currentOp = operation; for (PathArgument normalizedArg : normalized.getPathArguments()) { currentOp = currentOp.getChild(normalizedArg); if (!currentOp.isMixin()) { legacyArgs.add(normalizedArg); } } return YangInstanceIdentifier.create(legacyArgs.build()); }
private static YangInstanceIdentifier extractEntityPath(YangInstanceIdentifier candidatePath) { List<PathArgument> newPathArgs = new ArrayList<>(); for(PathArgument pathArg: candidatePath.getPathArguments()) { newPathArgs.add(pathArg); if(pathArg instanceof NodeIdentifierWithPredicates) { NodeIdentifierWithPredicates nodeKey = (NodeIdentifierWithPredicates) pathArg; Entry<QName, Object> key = nodeKey.getKeyValues().entrySet().iterator().next(); if(ENTITY_ID_QNAME.equals(key.getKey())) { break; } } } return YangInstanceIdentifier.create(newPathArgs); } }
public static YangInstanceIdentifier fromSerializable(NormalizedNodeMessages.InstanceIdentifier path, QNameDeSerializationContext context) { List<PathArgument> pathArguments = new ArrayList<>(); for(NormalizedNodeMessages.PathArgument pathArgument : path.getArgumentsList()) { if(context == null || pathArgument.hasType()) { pathArguments.add(parsePathArgument(pathArgument)); } else { pathArguments.add(PathArgumentSerializer.deSerialize(context, pathArgument)); } } return YangInstanceIdentifier.create(pathArguments); }
private static YangInstanceIdentifier firstIdentifierOf(final YangInstanceIdentifier id, final Predicate<PathArgument> match) { final int idx = Iterables.indexOf(id.getPathArguments(), match); Preconditions.checkArgument(idx != -1, "Failed to find %s in %s", match, id); // we want the element at index idx to be included in the list return YangInstanceIdentifier.create(Iterables.limit(id.getPathArguments(), idx + 1)); }