/** * Create an InstanceIdentifierBuilder for a specific type of InstanceIdentifier as specified by container * * @param container * @param <T> * @return */ public static <T extends ChildOf<? extends DataRoot>> InstanceIdentifierBuilder<T> builder(final Class<T> container) { return new InstanceIdentifierBuilderImpl<T>().addNode(container); }
/** * Create an InstanceIdentifierBuilder for a specific type of InstanceIdentifier which represents an IdentifiableItem * * @param listItem * @param listKey * @param <N> * @param <K> * @return */ public static <N extends Identifiable<K> & ChildOf<? extends DataRoot>, K extends Identifier<N>> InstanceIdentifierBuilder<N> builder( final Class<N> listItem, final K listKey) { return new InstanceIdentifierBuilderImpl<N>().addNode(listItem, listKey); }
/** * Create a builder rooted at this key. * * @return A builder instance */ public InstanceIdentifierBuilder<T> builder() { return new InstanceIdentifierBuilderImpl<>(Item.of(targetType), pathArguments, hash, isWildcarded()); }
/** * Create an InstanceIdentifierBuilder for a specific type of InstanceIdentifier as specified by container. * * @param container Base container * @param <T> Type of the container * @return A new {@link InstanceIdentifierBuilder} * @throws NullPointerException if {@code container} is null */ public static <T extends ChildOf<? extends DataRoot>> InstanceIdentifierBuilder<T> builder( final Class<T> container) { return new InstanceIdentifierBuilderImpl<T>().addWildNode(Item.of(container)); }
/** * Create an InstanceIdentifierBuilder for a specific type of InstanceIdentifier which represents an * {@link IdentifiableItem}. * * @param listItem list item class * @param listKey key value * @param <N> List type * @param <K> List key * @return A new {@link InstanceIdentifierBuilder} * @throws NullPointerException if any argument is null */ public static <N extends Identifiable<K> & ChildOf<? extends DataRoot>, K extends Identifier<N>> InstanceIdentifierBuilder<N> builder(final Class<N> listItem, final K listKey) { return new InstanceIdentifierBuilderImpl<N>().addNode(IdentifiableItem.of(listItem, listKey)); }
/** * Create an InstanceIdentifierBuilder for a specific type of InstanceIdentifier as specified by container in * a {@code grouping} used in the {@code case} statement. * * @param caze Choice case class * @param container Base container * @param <C> Case type * @param <T> Type of the container * @return A new {@link InstanceIdentifierBuilder} * @throws NullPointerException if any argument is null */ public static <C extends ChoiceIn<? extends DataRoot> & DataObject, T extends ChildOf<? super C>> InstanceIdentifierBuilder<T> builder(final Class<C> caze, final Class<T> container) { return new InstanceIdentifierBuilderImpl<T>().addWildNode(Item.of(caze, container)); }
/** * Create an InstanceIdentifierBuilder for a specific type of InstanceIdentifier which represents an * {@link IdentifiableItem} in a {@code grouping} used in the {@code case} statement. * * @param caze Choice case class * @param listItem list item class * @param listKey key value * @param <C> Case type * @param <N> List type * @param <K> List key * @return A new {@link InstanceIdentifierBuilder} * @throws NullPointerException if any argument is null */ public static <C extends ChoiceIn<? extends DataRoot> & DataObject, N extends Identifiable<K> & ChildOf<? super C>, K extends Identifier<N>> InstanceIdentifierBuilder<N> builder(final Class<C> caze, final Class<N> listItem, final K listKey) { return new InstanceIdentifierBuilderImpl<N>().addNode(IdentifiableItem.of(caze, listItem, listKey)); }
/** * Create a builder rooted at this key. * * @return A builder instance */ public InstanceIdentifierBuilder<T> builder() { return new InstanceIdentifierBuilderImpl<T>(new Item<T>(targetType), pathArguments, hash, isWildcarded()); }
@Override public final InstanceIdentifierBuilder<T> builder() { return new InstanceIdentifierBuilderImpl<>(IdentifiableItem.of(getTargetType(), key), pathArguments, hashCode(), isWildcarded()); }
@Override public final InstanceIdentifierBuilder<T> builder() { return new InstanceIdentifierBuilderImpl<T>(new InstanceIdentifier.IdentifiableItem<T, K>(getTargetType(), key), pathArguments, hashCode(), isWildcarded()); }