diff options
Diffstat (limited to 'v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/trans/impl/spi/ListVppReaderCustomizer.java')
-rw-r--r-- | v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/trans/impl/spi/ListVppReaderCustomizer.java | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/trans/impl/spi/ListVppReaderCustomizer.java b/v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/trans/impl/spi/ListVppReaderCustomizer.java index 855e8488d..8a6812dd6 100644 --- a/v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/trans/impl/spi/ListVppReaderCustomizer.java +++ b/v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/trans/impl/spi/ListVppReaderCustomizer.java @@ -18,20 +18,30 @@ package io.fd.honeycomb.v3po.impl.trans.impl.spi; import com.google.common.annotations.Beta; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.Identifiable; import org.opendaylight.yangtools.yang.binding.Identifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +/** + * io.fd.honeycomb.v3po.impl.trans.impl.CompositeListVppReader SPI to customize its behavior + */ @Beta -public interface ListVppReaderCustomizer<C extends DataObject & Identifiable<K>, K extends Identifier<C>, B extends Builder<C>> { - - void readCurrentAttributes(final InstanceIdentifier<C> id, B builder); - - B getBuilder(K id); +public interface ListVppReaderCustomizer<C extends DataObject & Identifiable<K>, K extends Identifier<C>, B extends Builder<C>> + extends RootVppReaderCustomizer<C, B> { - List<InstanceIdentifier<C>> getAllIds(InstanceIdentifier<C> id); + /** + * Return list with IDs of all list nodes to be read. + * + * @param id wildcarded ID pointing to list node managed by enclosing reader + */ + @Nonnull + List<K> getAllIds(@Nonnull final InstanceIdentifier<C> id); - void merge(Builder<?> builder, List<C> currentBuilder); + /** + * Merge read data into provided parent builder + */ + void merge(@Nonnull final Builder<? extends DataObject> builder, @Nonnull final List<C> readData); } |