summaryrefslogtreecommitdiffstats
path: root/v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/trans/impl/spi/ListVppReaderCustomizer.java
diff options
context:
space:
mode:
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.java24
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);
}