Updated code generation
[yangtools.git] / code-generator / binding-generator-util / src / main / java / org / opendaylight / yangtools / binding / generator / util / generated / type / builder / EnumerationBuilderImpl.java
index c25868406537d5a39d4c55b299160e84f9a3bffd..5291f67c82121dfbe6712dfd1b3dc6d0f940e12c 100644 (file)
-/*
- * 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.yangtools.binding.generator.util.generated.type.builder;
-
-import static org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil.parseToClassName;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.opendaylight.yangtools.binding.generator.util.AbstractBaseType;
-import org.opendaylight.yangtools.sal.binding.model.api.AnnotationType;
-import org.opendaylight.yangtools.sal.binding.model.api.Enumeration;
-import org.opendaylight.yangtools.sal.binding.model.api.Type;
-import org.opendaylight.yangtools.sal.binding.model.api.type.builder.AnnotationTypeBuilder;
-import org.opendaylight.yangtools.sal.binding.model.api.type.builder.EnumBuilder;
-import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
-
-public final class EnumerationBuilderImpl extends AbstractBaseType implements EnumBuilder {
-    private final String packageName;
-    private final String name;
-    private final List<Enumeration.Pair> values;
-    private final List<AnnotationTypeBuilder> annotationBuilders = new ArrayList<>();
-
-    public EnumerationBuilderImpl(final String packageName, final String name) {
-        super(packageName, name);
-        this.packageName = packageName;
-        this.name = name;
-        values = new ArrayList<>();
-    }
-
-    @Override
-    public AnnotationTypeBuilder addAnnotation(final String packageName, final String name) {
-        if (packageName != null && name != null) {
-            final AnnotationTypeBuilder builder = new AnnotationTypeBuilderImpl(packageName, name);
-            if (annotationBuilders.add(builder)) {
-                return builder;
-            }
-        }
-        return null;
-    }
-
-    @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, annotationBuilders, 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();
-    }
-
-    @Override
-    public void updateEnumPairsFromEnumTypeDef(final EnumTypeDefinition enumTypeDef) {
-        final List<EnumPair> enums = enumTypeDef.getValues();
-        if (enums != null) {
-            int listIndex = 0;
-            for (final EnumPair enumPair : enums) {
-                if (enumPair != null) {
-                    final String enumPairName = parseToClassName(enumPair.getName());
-                    Integer enumPairValue = enumPair.getValue();
-
-                    if (enumPairValue == null) {
-                        enumPairValue = listIndex;
-                    }
-                    this.addValue(enumPairName, enumPairValue);
-                    listIndex++;
-                }
-            }
-        }
-
-    }
-
-    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("EnumPair [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;
-        private List<AnnotationType> annotations = new ArrayList<>();
-
-        public EnumerationImpl(final Type definingType, final List<AnnotationTypeBuilder> annotationBuilders,
-                final String packageName, final String name, final List<Pair> values) {
-            super();
-            this.definingType = definingType;
-            for (final AnnotationTypeBuilder builder : annotationBuilders) {
-                annotations.add(builder.toInstance());
-            }
-            this.annotations = Collections.unmodifiableList(annotations);
-            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 String getFullyQualifiedName() {
-            return packageName + "." + name;
-        }
-
-        @Override
-        public List<Pair> getValues() {
-            return values;
-        }
-
-        @Override
-        public List<AnnotationType> getAnnotations() {
-            return annotations;
-        }
-
-        @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;
-            }
-            builder.append("\n}");
-            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());
-
-            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;
-            }
-            return true;
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see java.lang.Object#toString()
-         */
-        @Override
-        public String toString() {
-            StringBuilder builder = new StringBuilder();
-            builder.append("Enumeration [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();
-        }
-    }
-}
+/*\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.yangtools.binding.generator.util.generated.type.builder;\r
+\r
+import static org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil.parseToClassName;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Collections;\r
+import java.util.List;\r
+\r
+import org.opendaylight.yangtools.binding.generator.util.AbstractBaseType;\r
+import org.opendaylight.yangtools.sal.binding.model.api.AnnotationType;\r
+import org.opendaylight.yangtools.sal.binding.model.api.Constant;\r
+import org.opendaylight.yangtools.sal.binding.model.api.Enumeration;\r
+import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;\r
+import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature;\r
+import org.opendaylight.yangtools.sal.binding.model.api.Type;\r
+import org.opendaylight.yangtools.sal.binding.model.api.type.builder.AnnotationTypeBuilder;\r
+import org.opendaylight.yangtools.sal.binding.model.api.type.builder.EnumBuilder;\r
+import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;\r
+import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;\r
+\r
+public final class EnumerationBuilderImpl extends AbstractBaseType implements EnumBuilder {\r
+    private final String packageName;\r
+    private final String name;\r
+    private final List<Enumeration.Pair> values;\r
+    private final List<AnnotationTypeBuilder> annotationBuilders = new ArrayList<>();\r
+\r
+    public EnumerationBuilderImpl(final String packageName, final String name) {\r
+        super(packageName, name);\r
+        this.packageName = packageName;\r
+        this.name = name;\r
+        values = new ArrayList<>();\r
+    }\r
+\r
+    @Override\r
+    public AnnotationTypeBuilder addAnnotation(final String packageName, final String name) {\r
+        if (packageName != null && name != null) {\r
+            final AnnotationTypeBuilder builder = new AnnotationTypeBuilderImpl(packageName, name);\r
+            if (annotationBuilders.add(builder)) {\r
+                return builder;\r
+            }\r
+        }\r
+        return null;\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, annotationBuilders, 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 + ((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
+    @Override\r
+    public void updateEnumPairsFromEnumTypeDef(final EnumTypeDefinition enumTypeDef) {\r
+        final List<EnumPair> enums = enumTypeDef.getValues();\r
+        if (enums != null) {\r
+            int listIndex = 0;\r
+            for (final EnumPair enumPair : enums) {\r
+                if (enumPair != null) {\r
+                    final String enumPairName = parseToClassName(enumPair.getName());\r
+                    Integer enumPairValue = enumPair.getValue();\r
+\r
+                    if (enumPairValue == null) {\r
+                        enumPairValue = listIndex;\r
+                    }\r
+                    this.addValue(enumPairName, enumPairValue);\r
+                    listIndex++;\r
+                }\r
+            }\r
+        }\r
+\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("EnumPair [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
+        private List<AnnotationType> annotations = new ArrayList<>();\r
+\r
+        public EnumerationImpl(final Type definingType, final List<AnnotationTypeBuilder> annotationBuilders,\r
+                final String packageName, final String name, final List<Pair> values) {\r
+            super();\r
+            this.definingType = definingType;\r
+            for (final AnnotationTypeBuilder builder : annotationBuilders) {\r
+                annotations.add(builder.toInstance());\r
+            }\r
+            this.annotations = Collections.unmodifiableList(annotations);\r
+            this.packageName = packageName;\r
+            this.name = name;\r
+            this.values = Collections.unmodifiableList(values);\r
+        }\r
+\r
+        @Override\r
+        public Type getParentType() {\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 String getFullyQualifiedName() {\r
+            return packageName + "." + name;\r
+        }\r
+\r
+        @Override\r
+        public List<Pair> getValues() {\r
+            return values;\r
+        }\r
+\r
+        @Override\r
+        public List<AnnotationType> getAnnotations() {\r
+            return annotations;\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
+            builder.append("\n}");\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 + ((packageName == null) ? 0 : packageName.hashCode());\r
+            result = prime * result + ((values == null) ? 0 : values.hashCode());\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
+            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("Enumeration [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
+        @Override\r
+        public String getComment() {\r
+            return null;\r
+        }\r
+\r
+        @Override\r
+        public boolean isAbstract() {\r
+            return false;\r
+        }\r
+\r
+        @Override\r
+        public List<Type> getImplements() {\r
+            return Collections.emptyList();\r
+        }\r
+\r
+        @Override\r
+        public List<GeneratedType> getEnclosedTypes() {\r
+            return Collections.emptyList();\r
+        }\r
+\r
+        @Override\r
+        public List<Enumeration> getEnumerations() {\r
+            return Collections.emptyList();\r
+        }\r
+\r
+        @Override\r
+        public List<Constant> getConstantDefinitions() {\r
+            return Collections.emptyList();\r
+        }\r
+\r
+        @Override\r
+        public List<MethodSignature> getMethodDefinitions() {\r
+            // TODO Auto-generated method stub\r
+            return Collections.emptyList();\r
+        }\r
+    }\r
+}\r