/** * Build an identifier which refers to a specific augmentation of the current InstanceIdentifier referenced by * the builder * * @param container * @param <N> * @return */ @Override public <N extends DataObject & Augmentation<? super T>> InstanceIdentifierBuilderImpl<N> augmentation(final Class<N> container) { return addNode(container); }
@Override public <N extends ChildOf<? super T>> InstanceIdentifierBuilderImpl<N> child(final Class<N> container) { return addNode(container); }
@Override public <N extends Identifiable<K> & ChildOf<? super T>, K extends Identifier<N>> InstanceIdentifierBuilderImpl<N> child(final Class<N> listItem, final K listKey) { return addNode(listItem, listKey); }
@Override public <N extends ChildOf<? super T>> InstanceIdentifierBuilderImpl<N> child(final Class<N> container) { return addNode(container); }
/** * Build an identifier which refers to a specific augmentation of the current InstanceIdentifier referenced by * the builder. * * @param container Augmentation to be added * @param <N> Augmentation type * @return This builder */ @Override public <N extends DataObject & Augmentation<? super T>> InstanceIdentifierBuilderImpl<N> augmentation( final Class<N> container) { return addNode(container); }
<N extends DataObject> InstanceIdentifierBuilderImpl<N> addWildNode(final PathArgument newArg) { if (Identifiable.class.isAssignableFrom(newArg.getType())) { wildcard = true; } return addNode(newArg); }
@Override public <N extends Identifiable<K> & ChildOf<? super T>, K extends Identifier<N>> InstanceIdentifierBuilderImpl<N> child(final Class<N> listItem, final K listKey) { return addNode(IdentifiableItem.of(listItem, listKey)); }
@Override public <C extends ChoiceIn<? super T> & DataObject, K extends Identifier<N>, N extends Identifiable<K> & ChildOf<? super C>> InstanceIdentifierBuilder<N> child(final Class<C> caze, final Class<N> listItem, final K listKey) { return addNode(IdentifiableItem.of(caze, listItem, listKey)); }
/** * 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 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 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)); }