public static Optional<NormalizedNode<?, ?>> findNode(final NormalizedNode<?, ?> parent, final SchemaPath relativePath) { checkArgument(!relativePath.isAbsolute(), "%s is not a relative path", relativePath); return findNode(Optional.ofNullable(parent), Iterables.transform(relativePath.getPathFromRoot(), NodeIdentifier::new)); }
public static Optional<NormalizedNode<?, ?>> findNode(final NormalizedNode<?, ?> parent, final SchemaPath relativePath) { checkArgument(!relativePath.isAbsolute(), "%s is not a relative path", relativePath); return findNode(Optional.ofNullable(parent), Iterables.transform(relativePath.getPathFromRoot(), NodeIdentifier::new)); }
@Override public void writeSchemaPath(final SchemaPath path) throws IOException { ensureHeaderWritten(); output.writeBoolean(path.isAbsolute()); final Collection<QName> qnames = path.getPath(); output.writeInt(qnames.size()); for (QName qname : qnames) { writeQName(qname); } }
@Override public void writeArgument(final SchemaPath targetPath) { checkArgumentApplicable(); final StringBuilder valueStr = new StringBuilder(); if (targetPath.isAbsolute()) { valueStr.append("/"); } final Iterator<QName> argIt = targetPath.getPathFromRoot().iterator(); while (argIt.hasNext()) { valueStr.append(toPrefixedString(argIt.next())); if (argIt.hasNext()) { valueStr.append("/"); } } writeArgument0(valueStr.toString()); }
/** * Create a child path based on concatenation of this path and a relative path. * * @param relative Relative SchemaPath * @return A new child path */ public @NonNull SchemaPath createChild(final SchemaPath relative) { checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); return createChild(relative.getPathFromRoot()); }
/** * Create a child path based on concatenation of this path and a relative path. * * @param relative Relative SchemaPath * @return A new child path */ public @NonNull SchemaPath createChild(final SchemaPath relative) { checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); return createChild(relative.getPathFromRoot()); }