aa72a29af151e23c54e81589ee96888011ae2b65
[hc2vpp.git] /
1 package org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.v3po2vpp.rev160406;
2
3 import io.fd.honeycomb.v3po.translate.impl.read.CompositeChildReader;
4 import io.fd.honeycomb.v3po.translate.impl.read.CompositeListReader;
5 import io.fd.honeycomb.v3po.translate.impl.read.CompositeRootReader;
6 import io.fd.honeycomb.v3po.translate.read.ChildReader;
7 import io.fd.honeycomb.v3po.translate.util.RWUtils;
8 import io.fd.honeycomb.v3po.translate.util.read.CloseableReader;
9 import io.fd.honeycomb.v3po.translate.util.read.ReflexiveRootReaderCustomizer;
10 import io.fd.honeycomb.v3po.translate.v3po.interfacesstate.InterfaceCustomizer;
11 import io.fd.honeycomb.v3po.translate.v3po.interfacesstate.VppInterfaceStateCustomizer;
12 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesState;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfacesStateBuilder;
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
15 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceBuilder;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceKey;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev150105.VppInterfaceStateAugmentation;
18 import org.openvpp.vppjapi.vppApi;
19
20 public class InterfacesStateHoneycombReaderModule extends org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.v3po2vpp.rev160406.AbstractInterfacesStateHoneycombReaderModule {
21     public InterfacesStateHoneycombReaderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
22         super(identifier, dependencyResolver);
23     }
24
25     public InterfacesStateHoneycombReaderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.v3po2vpp.rev160406.InterfacesStateHoneycombReaderModule oldModule, java.lang.AutoCloseable oldInstance) {
26         super(identifier, dependencyResolver, oldModule, oldInstance);
27     }
28
29     @Override
30     public void customValidation() {
31         // add custom validation form module attributes here.
32     }
33
34     @Override
35     public java.lang.AutoCloseable createInstance() {
36         final vppApi vppApi = getVppJapiDependency();
37
38         final ChildReader<VppInterfaceStateAugmentation> vppInterfaceStateAugmentationChildReader =
39                 new CompositeChildReader<>(VppInterfaceStateAugmentation.class,
40                         new VppInterfaceStateCustomizer(vppApi));
41
42         final CompositeListReader<Interface, InterfaceKey, InterfaceBuilder> interfaceReader =
43                 new CompositeListReader<>(Interface.class,
44                         RWUtils.<Interface>emptyChildReaderList(),
45                         RWUtils.<Interface>singletonAugReaderList(vppInterfaceStateAugmentationChildReader),
46                         new InterfaceCustomizer(vppApi));
47
48         return new CloseableReader<>(new CompositeRootReader<>(
49                 InterfacesState.class,
50                 RWUtils.singletonChildReaderList(interfaceReader),
51                 RWUtils.<InterfacesState>emptyAugReaderList(),
52                 new ReflexiveRootReaderCustomizer<>(InterfacesStateBuilder.class)));
53     }
54 }