X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Fattributes%2FAttributeIfcSwitchStatement.java;fp=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Fattributes%2FAttributeIfcSwitchStatement.java;h=5e3f54221470906fc86df848efe60673e887975b;hb=a92d9d6a21a0f6ca8d2153795721f500eaf29ee9;hp=0000000000000000000000000000000000000000;hpb=fbc3092ca33990f0fc4a47f008786a416c484488;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/AttributeIfcSwitchStatement.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/AttributeIfcSwitchStatement.java new file mode 100644 index 0000000000..5e3f542214 --- /dev/null +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/attributes/AttributeIfcSwitchStatement.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes; + +import org.opendaylight.controller.config.yangjmxgenerator.attribute.*; + +public abstract class AttributeIfcSwitchStatement { + + public T switchAttribute(AttributeIfc attributeIfc) { + + if (attributeIfc instanceof JavaAttribute) { + return caseJavaAttribute((JavaAttribute) attributeIfc); + } else if (attributeIfc instanceof DependencyAttribute) { + return caseDependencyAttribute((DependencyAttribute) attributeIfc); + } else if (attributeIfc instanceof ListAttribute) { + return caseListAttribute((ListAttribute) attributeIfc); + } else if (attributeIfc instanceof TOAttribute) { + return caseTOAttribute((TOAttribute) attributeIfc); + } + + throw new IllegalArgumentException("Unknown attribute type " + attributeIfc.getClass() + ", " + attributeIfc); + } + + protected abstract T caseJavaAttribute(JavaAttribute attributeIfc); + + protected abstract T caseDependencyAttribute(DependencyAttribute attributeIfc); + + protected abstract T caseTOAttribute(TOAttribute attributeIfc); + + protected abstract T caseListAttribute(ListAttribute attributeIfc); +}