From ec78f178f542369fdfd696fdc6e4bb872780ac87 Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Fri, 24 Feb 2017 10:39:55 +0100 Subject: HONEYCOMB-344 - structural reader for list Change-Id: Ia02ed73daaeea547d49c9ec2d4d7d10f4db85b5e Signed-off-by: Jan Srnicek --- .../io/fd/honeycomb/translate/impl/read/GenericListReader.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java') diff --git a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java index b06ac060f..9e2ccd7e5 100644 --- a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java +++ b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java @@ -23,12 +23,15 @@ import com.google.common.base.Optional; import io.fd.honeycomb.translate.read.ListReader; import io.fd.honeycomb.translate.read.ReadContext; import io.fd.honeycomb.translate.read.ReadFailedException; +import io.fd.honeycomb.translate.read.Reader; import io.fd.honeycomb.translate.spi.read.ListReaderCustomizer; import io.fd.honeycomb.translate.util.RWUtils; import java.util.ArrayList; import java.util.List; import javax.annotation.Nonnull; import javax.annotation.concurrent.ThreadSafe; + +import io.fd.honeycomb.translate.util.read.ReflexiveListReaderCustomizer; import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.Identifiable; @@ -97,4 +100,10 @@ public class GenericListReader, K extends public void merge(@Nonnull final Builder builder, @Nonnull final List readData) { ((ListReaderCustomizer) customizer).merge(builder, readData); } + + public static ,K extends Identifier, B extends Builder> Reader createReflexive( + final InstanceIdentifier id, Class builderClass, + final List staticKeys) { + return new GenericListReader<>(id, new ReflexiveListReaderCustomizer<>(id.getTargetType(), builderClass, staticKeys)); + } } -- cgit 1.2.3-korg