11de4e7b86ef4efe7ae7de94f2ba978c6d463761
[honeycomb.git] / lisp / lisp2vpp / src / main / java / io / fd / honeycomb / lisp / translate / util / EidMetadataProvider.java
1 package io.fd.honeycomb.lisp.translate.util;
2
3 import javax.annotation.Nonnull;
4 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
5 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddressFamily;
6
7 /**
8  * Trait providing metadata for eid's
9  */
10 public interface EidMetadataProvider {
11
12     /**
13      * Returns new {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.EidBuilder}
14      * binded with metadata
15      */
16     default org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.EidBuilder newRemoteEidBuilder(
17             @Nonnull final Class<? extends LispAddressFamily> eidAddressType,
18             final int vni) {
19         return new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.remote.mappings.remote.mapping.EidBuilder()
20                 .setAddressType(eidAddressType)
21                 .setVirtualNetworkId(new InstanceIdType(Long.valueOf(vni)));
22     }
23
24     /**
25      * Returns new {@link org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder}
26      * binded with metadata
27      */
28     default org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder newLocalEidBuilder(
29             @Nonnull final Class<? extends LispAddressFamily> eidAddressType,
30             final int vni) {
31         return new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder()
32                 .setAddressType(eidAddressType)
33                 .setVirtualNetworkId(new InstanceIdType(Long.valueOf(vni)));
34     }
35
36 }