-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-package org.opendaylight.controller.sal.binding.generator.impl;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collections;\r
-import java.util.List;\r
-\r
-import org.opendaylight.controller.sal.binding.model.api.Enumeration;\r
-import org.opendaylight.controller.sal.binding.model.api.Type;\r
-import org.opendaylight.controller.sal.binding.model.api.type.builder.EnumBuilder;\r
-\r
-final class EnumerationBuilderImpl implements EnumBuilder {\r
- private final String packageName;\r
- private final String name;\r
- private final List<Enumeration.Pair> values;\r
-\r
- public EnumerationBuilderImpl(final String packageName, final String name) {\r
- super();\r
- this.packageName = GeneratedTypeBuilderImpl.validatePackage(packageName);\r
- this.name = name;\r
- values = new ArrayList<Enumeration.Pair>();\r
- }\r
-\r
- @Override\r
- public void addValue(final String name, final Integer value) {\r
- values.add(new EnumPairImpl(name, value));\r
- }\r
-\r
- @Override\r
- public Enumeration toInstance(final Type definingType) {\r
- return new EnumerationImpl(definingType, packageName, name, values);\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#hashCode()\r
- */\r
- @Override\r
- public int hashCode() {\r
- final int prime = 31;\r
- int result = 1;\r
- result = prime * result + ((name == null) ? 0 : name.hashCode());\r
- result = prime * result\r
- + ((packageName == null) ? 0 : packageName.hashCode());\r
- return result;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#equals(java.lang.Object)\r
- */\r
- @Override\r
- public boolean equals(Object obj) {\r
- if (this == obj) {\r
- return true;\r
- }\r
- if (obj == null) {\r
- return false;\r
- }\r
- if (getClass() != obj.getClass()) {\r
- return false;\r
- }\r
- EnumerationBuilderImpl other = (EnumerationBuilderImpl) obj;\r
- if (name == null) {\r
- if (other.name != null) {\r
- return false;\r
- }\r
- } else if (!name.equals(other.name)) {\r
- return false;\r
- }\r
- if (packageName == null) {\r
- if (other.packageName != null) {\r
- return false;\r
- }\r
- } else if (!packageName.equals(other.packageName)) {\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#toString()\r
- */\r
- @Override\r
- public String toString() {\r
- StringBuilder builder = new StringBuilder();\r
- builder.append("EnumerationBuilderImpl [packageName=");\r
- builder.append(packageName);\r
- builder.append(", name=");\r
- builder.append(name);\r
- builder.append(", values=");\r
- builder.append(values);\r
- builder.append("]");\r
- return builder.toString();\r
- }\r
-\r
- private static final class EnumPairImpl implements Enumeration.Pair {\r
-\r
- private final String name;\r
- private final Integer value;\r
-\r
- public EnumPairImpl(String name, Integer value) {\r
- super();\r
- this.name = name;\r
- this.value = value;\r
- }\r
-\r
- @Override\r
- public String getName() {\r
- return name;\r
- }\r
-\r
- @Override\r
- public Integer getValue() {\r
- return value;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#hashCode()\r
- */\r
- @Override\r
- public int hashCode() {\r
- final int prime = 31;\r
- int result = 1;\r
- result = prime * result + ((name == null) ? 0 : name.hashCode());\r
- result = prime * result + ((value == null) ? 0 : value.hashCode());\r
- return result;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#equals(java.lang.Object)\r
- */\r
- @Override\r
- public boolean equals(Object obj) {\r
- if (this == obj) {\r
- return true;\r
- }\r
- if (obj == null) {\r
- return false;\r
- }\r
- if (getClass() != obj.getClass()) {\r
- return false;\r
- }\r
- EnumPairImpl other = (EnumPairImpl) obj;\r
- if (name == null) {\r
- if (other.name != null) {\r
- return false;\r
- }\r
- } else if (!name.equals(other.name)) {\r
- return false;\r
- }\r
- if (value == null) {\r
- if (other.value != null) {\r
- return false;\r
- }\r
- } else if (!value.equals(other.value)) {\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#toString()\r
- */\r
- @Override\r
- public String toString() {\r
- StringBuilder builder = new StringBuilder();\r
- builder.append("EnumPairImpl [name=");\r
- builder.append(name);\r
- builder.append(", value=");\r
- builder.append(value);\r
- builder.append("]");\r
- return builder.toString();\r
- }\r
- }\r
-\r
- private static final class EnumerationImpl implements Enumeration {\r
-\r
- private final Type definingType;\r
- private final String packageName;\r
- private final String name;\r
- private final List<Pair> values;\r
-\r
- public EnumerationImpl(final Type definingType,\r
- final String packageName, final String name,\r
- final List<Pair> values) {\r
- super();\r
- this.definingType = definingType;\r
- this.packageName = packageName;\r
- this.name = name;\r
- this.values = Collections.unmodifiableList(values);\r
- }\r
-\r
- @Override\r
- public Type getDefiningType() {\r
- return definingType;\r
- }\r
-\r
- @Override\r
- public String getPackageName() {\r
- return packageName;\r
- }\r
-\r
- @Override\r
- public String getName() {\r
- return name;\r
- }\r
-\r
- @Override\r
- public List<Pair> getValues() {\r
- return values;\r
- }\r
-\r
- @Override\r
- public String toFormattedString() {\r
- StringBuilder builder = new StringBuilder();\r
- builder.append("public enum");\r
- builder.append(" ");\r
- builder.append(name);\r
- builder.append(" {");\r
- builder.append("\n");\r
-\r
- int i = 0;\r
- for (final Enumeration.Pair valPair : values) {\r
- builder.append("\t");\r
- builder.append(" ");\r
- builder.append(valPair.getName());\r
- builder.append(" (");\r
- builder.append(valPair.getValue());\r
-\r
- if (i == (values.size() - 1)) {\r
- builder.append(" );");\r
- } else {\r
- builder.append(" ),");\r
- }\r
- ++i;\r
- }\r
- return builder.toString();\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#hashCode()\r
- */\r
- @Override\r
- public int hashCode() {\r
- final int prime = 31;\r
- int result = 1;\r
- result = prime * result + ((name == null) ? 0 : name.hashCode());\r
- result = prime * result\r
- + ((packageName == null) ? 0 : packageName.hashCode());\r
- result = prime * result\r
- + ((values == null) ? 0 : values.hashCode());\r
-\r
- if (definingType != null) {\r
- result = prime\r
- * result\r
- + ((definingType.getPackageName() == null) ? 0\r
- : definingType.getPackageName().hashCode());\r
- result = prime\r
- * result\r
- + ((definingType.getName() == null) ? 0 : definingType\r
- .getName().hashCode());\r
- }\r
-\r
- return result;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#equals(java.lang.Object)\r
- */\r
- @Override\r
- public boolean equals(Object obj) {\r
- if (this == obj) {\r
- return true;\r
- }\r
- if (obj == null) {\r
- return false;\r
- }\r
- if (getClass() != obj.getClass()) {\r
- return false;\r
- }\r
- EnumerationImpl other = (EnumerationImpl) obj;\r
- if (name == null) {\r
- if (other.name != null) {\r
- return false;\r
- }\r
- } else if (!name.equals(other.name)) {\r
- return false;\r
- }\r
- if (packageName == null) {\r
- if (other.packageName != null) {\r
- return false;\r
- }\r
- } else if (!packageName.equals(other.packageName)) {\r
- return false;\r
- }\r
- if (values == null) {\r
- if (other.values != null) {\r
- return false;\r
- }\r
- } else if (!values.equals(other.values)) {\r
- return false;\r
- }\r
- if (definingType == null) {\r
- if (other.definingType != null) {\r
- return false;\r
- }\r
- } else if ((definingType != null) && (other.definingType != null)) {\r
- if (!definingType.getPackageName().equals(\r
- other.definingType.getPackageName())\r
- && !definingType.getName().equals(\r
- other.definingType.getName())) {\r
- return false;\r
- }\r
- }\r
- return true;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see java.lang.Object#toString()\r
- */\r
- @Override\r
- public String toString() {\r
- StringBuilder builder = new StringBuilder();\r
- builder.append("EnumerationImpl [packageName=");\r
- builder.append(packageName);\r
- if (definingType != null) {\r
- builder.append(", definingType=");\r
- builder.append(definingType.getPackageName());\r
- builder.append(".");\r
- builder.append(definingType.getName());\r
- } else {\r
- builder.append(", definingType= null");\r
- }\r
- builder.append(", name=");\r
- builder.append(name);\r
- builder.append(", values=");\r
- builder.append(values);\r
- builder.append("]");\r
- return builder.toString();\r
- }\r
- }\r
-}\r
+/*
+ * 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.sal.binding.generator.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.opendaylight.controller.sal.binding.model.api.Enumeration;
+import org.opendaylight.controller.sal.binding.model.api.Type;
+import org.opendaylight.controller.sal.binding.model.api.type.builder.EnumBuilder;
+
+final class EnumerationBuilderImpl implements EnumBuilder {
+ private final String packageName;
+ private final String name;
+ private final List<Enumeration.Pair> values;
+
+ public EnumerationBuilderImpl(final String packageName, final String name) {
+ super();
+ this.packageName = packageName;
+ this.name = name;
+ values = new ArrayList<Enumeration.Pair>();
+ }
+
+ @Override
+ public void addValue(final String name, final Integer value) {
+ values.add(new EnumPairImpl(name, value));
+ }
+
+ @Override
+ public Enumeration toInstance(final Type definingType) {
+ return new EnumerationImpl(definingType, packageName, name, values);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result
+ + ((packageName == null) ? 0 : packageName.hashCode());
+ return result;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ EnumerationBuilderImpl other = (EnumerationBuilderImpl) obj;
+ if (name == null) {
+ if (other.name != null) {
+ return false;
+ }
+ } else if (!name.equals(other.name)) {
+ return false;
+ }
+ if (packageName == null) {
+ if (other.packageName != null) {
+ return false;
+ }
+ } else if (!packageName.equals(other.packageName)) {
+ return false;
+ }
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("EnumerationBuilderImpl [packageName=");
+ builder.append(packageName);
+ builder.append(", name=");
+ builder.append(name);
+ builder.append(", values=");
+ builder.append(values);
+ builder.append("]");
+ return builder.toString();
+ }
+
+ private static final class EnumPairImpl implements Enumeration.Pair {
+
+ private final String name;
+ private final Integer value;
+
+ public EnumPairImpl(String name, Integer value) {
+ super();
+ this.name = name;
+ this.value = value;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ return result;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ EnumPairImpl other = (EnumPairImpl) obj;
+ if (name == null) {
+ if (other.name != null) {
+ return false;
+ }
+ } else if (!name.equals(other.name)) {
+ return false;
+ }
+ if (value == null) {
+ if (other.value != null) {
+ return false;
+ }
+ } else if (!value.equals(other.value)) {
+ return false;
+ }
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("EnumPairImpl [name=");
+ builder.append(name);
+ builder.append(", value=");
+ builder.append(value);
+ builder.append("]");
+ return builder.toString();
+ }
+ }
+
+ private static final class EnumerationImpl implements Enumeration {
+
+ private final Type definingType;
+ private final String packageName;
+ private final String name;
+ private final List<Pair> values;
+
+ public EnumerationImpl(final Type definingType,
+ final String packageName, final String name,
+ final List<Pair> values) {
+ super();
+ this.definingType = definingType;
+ this.packageName = packageName;
+ this.name = name;
+ this.values = Collections.unmodifiableList(values);
+ }
+
+ @Override
+ public Type getDefiningType() {
+ return definingType;
+ }
+
+ @Override
+ public String getPackageName() {
+ return packageName;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public List<Pair> getValues() {
+ return values;
+ }
+
+ @Override
+ public String toFormattedString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("public enum");
+ builder.append(" ");
+ builder.append(name);
+ builder.append(" {");
+ builder.append("\n");
+
+ int i = 0;
+ for (final Enumeration.Pair valPair : values) {
+ builder.append("\t");
+ builder.append(" ");
+ builder.append(valPair.getName());
+ builder.append(" (");
+ builder.append(valPair.getValue());
+
+ if (i == (values.size() - 1)) {
+ builder.append(" );");
+ } else {
+ builder.append(" ),");
+ }
+ ++i;
+ }
+ return builder.toString();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result
+ + ((packageName == null) ? 0 : packageName.hashCode());
+ result = prime * result
+ + ((values == null) ? 0 : values.hashCode());
+
+ if (definingType != null) {
+ result = prime
+ * result
+ + ((definingType.getPackageName() == null) ? 0
+ : definingType.getPackageName().hashCode());
+ result = prime
+ * result
+ + ((definingType.getName() == null) ? 0 : definingType
+ .getName().hashCode());
+ }
+
+ return result;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ EnumerationImpl other = (EnumerationImpl) obj;
+ if (name == null) {
+ if (other.name != null) {
+ return false;
+ }
+ } else if (!name.equals(other.name)) {
+ return false;
+ }
+ if (packageName == null) {
+ if (other.packageName != null) {
+ return false;
+ }
+ } else if (!packageName.equals(other.packageName)) {
+ return false;
+ }
+ if (values == null) {
+ if (other.values != null) {
+ return false;
+ }
+ } else if (!values.equals(other.values)) {
+ return false;
+ }
+ if (definingType == null) {
+ if (other.definingType != null) {
+ return false;
+ }
+ } else if ((definingType != null) && (other.definingType != null)) {
+ if (!definingType.getPackageName().equals(
+ other.definingType.getPackageName())
+ && !definingType.getName().equals(
+ other.definingType.getName())) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("EnumerationImpl [packageName=");
+ builder.append(packageName);
+ if (definingType != null) {
+ builder.append(", definingType=");
+ builder.append(definingType.getPackageName());
+ builder.append(".");
+ builder.append(definingType.getName());
+ } else {
+ builder.append(", definingType= null");
+ }
+ builder.append(", name=");
+ builder.append(name);
+ builder.append(", values=");
+ builder.append(values);
+ builder.append("]");
+ return builder.toString();
+ }
+ }
+}