*/
package org.opendaylight.yangtools.yang.data.api.schema;
+import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
import com.google.common.annotations.Beta;
import com.google.common.base.Strings;
+import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import java.util.Arrays;
import java.util.Iterator;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
+import org.opendaylight.yangtools.yang.model.api.SchemaPath;
/**
* A set of utility methods for interacting with {@link NormalizedNode} objects.
return findNode(Optional.ofNullable(parent), relativePath);
}
+ 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 PathArgument... relativePath) {
return findNode(parent, Arrays.asList(relativePath));