yang model revise: neutron-secgroups.yang
[neutron.git] / model / src / main / java / org / opendaylight / yang / gen / v1 / urn / opendaylight / neutron / constants / rev150712 / NeutronUtils.java
index 377f3908f3d35467e60dde1ad1e5e8d97ec8c3b1..7ad71137e258743ac52563a4b56c6b98e62269b3 100644 (file)
@@ -14,6 +14,13 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.FwProtocolIcmp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.FwProtocolTcp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.FwProtocolUdp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolBase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolIcmp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolIcmpV6;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolHttp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolHttps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolTcp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolUdp;
 
 
 public final class NeutronUtils {
@@ -43,4 +50,28 @@ public final class NeutronUtils {
             return inverseMapper.get(key);
         }
     }
+
+    // For security group
+    public static class ProtocolMapper {
+        private ProtocolMapper() {
+            throw new UnsupportedOperationException("Utility class should not be instantiated.");
+        }
+
+        private static final ImmutableBiMap<String, Class<? extends ProtocolBase>> MAPPER
+            = new ImmutableBiMap.Builder<String, Class<? extends ProtocolBase>>()
+            .put("icmp", ProtocolIcmp.class)
+            .put("tcp", ProtocolTcp.class)
+            .put("udp", ProtocolUdp.class)
+            .put("icmpv6", ProtocolIcmpV6.class)
+            .build();
+
+        public static Class<? extends ProtocolBase> get(String key) {
+            return MAPPER.get(key);
+        }
+
+        public static String getName(Class<? extends ProtocolBase> key) {
+            ImmutableBiMap<Class<? extends ProtocolBase>, String> inverseMapper = MAPPER.inverse();
+            return inverseMapper.get(key);
+        }
+    }
 }