Fixing sonar issues 2
[yangtools.git] / code-generator / binding-generator-util / src / main / java / org / opendaylight / yangtools / binding / generator / util / generated / type / builder / AbstractGeneratedTypeBuilder.java
index f70e1f88e5177995451b35edb7e34e1d1fced142..3b6d2f3d0fb8dea7c08ad8904437595c5db14937 100644 (file)
-/*\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 org.opendaylight.yangtools.binding.generator.util.AbstractBaseType;\r
-import org.opendaylight.yangtools.sal.binding.model.api.AccessModifier;\r
-import org.opendaylight.yangtools.sal.binding.model.api.Constant;\r
-import org.opendaylight.yangtools.sal.binding.model.api.Type;\r
-import org.opendaylight.yangtools.sal.binding.model.api.type.builder.*;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-abstract class AbstractGeneratedTypeBuilder<T extends GeneratedTypeBuilderBase<T>> extends AbstractBaseType implements GeneratedTypeBuilderBase<T> {\r
-\r
-    private String comment = "";\r
-\r
-    private final List<AnnotationTypeBuilder> annotationBuilders = new ArrayList<>();\r
-    private final List<Type> implementsTypes = new ArrayList<>();\r
-    private final List<EnumBuilder> enumDefinitions = new ArrayList<>();\r
-    private final List<Constant> constants = new ArrayList<>();\r
-    private final List<MethodSignatureBuilder> methodDefinitions = new ArrayList<>();\r
-    private final List<GeneratedTypeBuilder> enclosedTypes = new ArrayList<>();\r
-    private final List<GeneratedTOBuilder> enclosedTransferObjects = new ArrayList<>();\r
-    private final List<GeneratedPropertyBuilder> properties = new ArrayList<>();\r
-    private boolean isAbstract;\r
-\r
-    public AbstractGeneratedTypeBuilder(final String packageName, final String name) {\r
-        super(packageName, name);\r
-    }\r
-\r
-    protected String getComment() {\r
-        return comment;\r
-    }\r
-\r
-    protected List<AnnotationTypeBuilder> getAnnotations() {\r
-        return annotationBuilders;\r
-    }\r
-\r
-    protected boolean isAbstract() {\r
-        return isAbstract;\r
-    }\r
-\r
-    protected List<Type> getImplementsTypes() {\r
-        return implementsTypes;\r
-    }\r
-\r
-    protected List<EnumBuilder> getEnumerations() {\r
-        return enumDefinitions;\r
-    }\r
-\r
-    protected List<Constant> getConstants() {\r
-        return constants;\r
-    }\r
-\r
-    protected List<MethodSignatureBuilder> getMethodDefinitions() {\r
-        return methodDefinitions;\r
-    }\r
-\r
-    protected List<GeneratedTypeBuilder> getEnclosedTypes() {\r
-        return enclosedTypes;\r
-    }\r
-\r
-    protected List<GeneratedTOBuilder> getEnclosedTransferObjects() {\r
-        return enclosedTransferObjects;\r
-    }\r
-\r
-    abstract protected T thisInstance();\r
-    \r
-    @Override\r
-    public GeneratedTOBuilder addEnclosingTransferObject(String name) {\r
-        if (name == null) {\r
-            throw new IllegalArgumentException("Name for Enclosing Generated Transfer Object cannot be null!");\r
-        }\r
-        GeneratedTOBuilder builder = new GeneratedTOBuilderImpl(getFullyQualifiedName(), name);\r
-        enclosedTransferObjects.add(builder);\r
-        return builder;\r
-    }\r
-\r
-    @Override\r
-    public T addEnclosingTransferObject(final GeneratedTOBuilder genTOBuilder) {\r
-        if (genTOBuilder == null) {\r
-            throw new IllegalArgumentException("Parameter genTOBuilder cannot be null!");\r
-        }\r
-        enclosedTransferObjects.add(genTOBuilder);\r
-        return thisInstance();\r
-    }\r
-\r
-    @Override\r
-    public T addComment(String comment) {\r
-        this.comment = comment;\r
-        return thisInstance();\r
-    }\r
-\r
-    @Override\r
-    public AnnotationTypeBuilder addAnnotation(final String packageName, final String name) {\r
-        if (packageName == null) {\r
-            throw new IllegalArgumentException("Package Name for Annotation Type cannot be null!");\r
-        }\r
-        if (name == null) {\r
-            throw new IllegalArgumentException("Name of Annotation Type cannot be null!");\r
-        }\r
-\r
-        final AnnotationTypeBuilder builder = new AnnotationTypeBuilderImpl(packageName, name);\r
-        annotationBuilders.add(builder);\r
-        return builder;\r
-    }\r
-\r
-    @Override\r
-    public T setAbstract(boolean isAbstract) {\r
-        this.isAbstract = isAbstract;\r
-        return thisInstance();\r
-    }\r
-\r
-    @Override\r
-    public T addImplementsType(Type genType) {\r
-        if (genType == null) {\r
-            throw new IllegalArgumentException("Type cannot be null");\r
-        }\r
-        implementsTypes.add(genType);\r
-        return thisInstance();\r
-    }\r
-\r
-    @Override\r
-    public Constant addConstant(Type type, String name, Object value) {\r
-        if (type == null) {\r
-            throw new IllegalArgumentException("Returning Type for Constant cannot be null!");\r
-        }\r
-        if (name == null) {\r
-            throw new IllegalArgumentException("Name of constant cannot be null!");\r
-        }\r
-\r
-        final Constant constant = new ConstantImpl(this, type, name, value);\r
-        constants.add(constant);\r
-        return constant;\r
-    }\r
-\r
-    @Override\r
-    public EnumBuilder addEnumeration(String name) {\r
-        if (name == null) {\r
-            throw new IllegalArgumentException("Name of enumeration cannot be null!");\r
-        }\r
-        final EnumBuilder builder = new EnumerationBuilderImpl(getFullyQualifiedName(), name);\r
-        enumDefinitions.add(builder);\r
-        return builder;\r
-    }\r
-\r
-    @Override\r
-    public MethodSignatureBuilder addMethod(String name) {\r
-        if (name == null) {\r
-            throw new IllegalArgumentException("Name of method cannot be null!");\r
-        }\r
-        final MethodSignatureBuilder builder = new MethodSignatureBuilderImpl(name);\r
-        builder.setAccessModifier(AccessModifier.PUBLIC);\r
-        builder.setAbstract(true);\r
-        methodDefinitions.add(builder);\r
-        return builder;\r
-    }\r
-\r
-    @Override\r
-    public boolean containsMethod(String name) {\r
-        if (name == null) {\r
-            throw new IllegalArgumentException("Parameter name can't be null");\r
-        }\r
-        for (MethodSignatureBuilder methodDefinition : methodDefinitions) {\r
-            if (name.equals(methodDefinition.getName())) {\r
-                return true;\r
-            }\r
-        }\r
-        return false;\r
-    }\r
-    \r
-    @Override\r
-    public GeneratedPropertyBuilder addProperty(String name) {\r
-        final GeneratedPropertyBuilder builder = new GeneratedPropertyBuilderImpl(name);\r
-        builder.setAccessModifier(AccessModifier.PUBLIC);\r
-        properties.add(builder);\r
-        return builder;\r
-    }\r
-\r
-    @Override\r
-    public boolean containsProperty(String name) {\r
-        if (name == null) {\r
-            throw new IllegalArgumentException("Parameter name can't be null");\r
-        }\r
-        for (GeneratedPropertyBuilder property : properties) {\r
-            if (name.equals(property.getName())) {\r
-                return true;\r
-            }\r
-        }\r
-        return false;\r
-    }\r
-\r
-    @Override\r
-    public int hashCode() {\r
-        final int prime = 31;\r
-        int result = 1;\r
-        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());\r
-        result = prime * result + ((getPackageName() == null) ? 0 : getPackageName().hashCode());\r
-        return result;\r
-    }\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
-        AbstractGeneratedTypeBuilder<T> other = (AbstractGeneratedTypeBuilder<T>) obj;\r
-        if (getName() == null) {\r
-            if (other.getName() != null) {\r
-                return false;\r
-            }\r
-        } else if (!getName().equals(other.getName())) {\r
-            return false;\r
-        }\r
-        if (getPackageName() == null) {\r
-            if (other.getPackageName() != null) {\r
-                return false;\r
-            }\r
-        } else if (!getPackageName().equals(other.getPackageName())) {\r
-            return false;\r
-        }\r
-        return true;\r
-    }\r
-\r
-    public Type getParent() {\r
-        return null;\r
-    }\r
-\r
-    protected List<GeneratedPropertyBuilder> getProperties() {\r
-        return properties;\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.yangtools.binding.generator.util.generated.type.builder;
+
+import org.opendaylight.yangtools.binding.generator.util.AbstractBaseType;
+import org.opendaylight.yangtools.sal.binding.model.api.AccessModifier;
+import org.opendaylight.yangtools.sal.binding.model.api.Constant;
+import org.opendaylight.yangtools.sal.binding.model.api.Type;
+import org.opendaylight.yangtools.sal.binding.model.api.type.builder.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+abstract class AbstractGeneratedTypeBuilder<T extends GeneratedTypeBuilderBase<T>> extends AbstractBaseType implements
+        GeneratedTypeBuilderBase<T> {
+
+    private String comment = "";
+
+    private final List<AnnotationTypeBuilder> annotationBuilders = new ArrayList<>();
+    private final List<Type> implementsTypes = new ArrayList<>();
+    private final List<EnumBuilder> enumDefinitions = new ArrayList<>();
+    private final List<Constant> constants = new ArrayList<>();
+    private final List<MethodSignatureBuilder> methodDefinitions = new ArrayList<>();
+    private final List<GeneratedTypeBuilder> enclosedTypes = new ArrayList<>();
+    private final List<GeneratedTOBuilder> enclosedTransferObjects = new ArrayList<>();
+    private final List<GeneratedPropertyBuilder> properties = new ArrayList<>();
+    private boolean isAbstract;
+
+    public AbstractGeneratedTypeBuilder(final String packageName, final String name) {
+        super(packageName, name);
+    }
+
+    protected String getComment() {
+        return comment;
+    }
+
+    protected List<AnnotationTypeBuilder> getAnnotations() {
+        return annotationBuilders;
+    }
+
+    protected boolean isAbstract() {
+        return isAbstract;
+    }
+
+    protected List<Type> getImplementsTypes() {
+        return implementsTypes;
+    }
+
+    protected List<EnumBuilder> getEnumerations() {
+        return enumDefinitions;
+    }
+
+    protected List<Constant> getConstants() {
+        return constants;
+    }
+
+    protected List<MethodSignatureBuilder> getMethodDefinitions() {
+        return methodDefinitions;
+    }
+
+    protected List<GeneratedTypeBuilder> getEnclosedTypes() {
+        return enclosedTypes;
+    }
+
+    protected List<GeneratedTOBuilder> getEnclosedTransferObjects() {
+        return enclosedTransferObjects;
+    }
+
+    protected abstract T thisInstance();
+
+    @Override
+    public GeneratedTOBuilder addEnclosingTransferObject(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException("Name for Enclosing Generated Transfer Object cannot be null!");
+        }
+        GeneratedTOBuilder builder = new GeneratedTOBuilderImpl(getFullyQualifiedName(), name);
+        enclosedTransferObjects.add(builder);
+        return builder;
+    }
+
+    @Override
+    public T addEnclosingTransferObject(final GeneratedTOBuilder genTOBuilder) {
+        if (genTOBuilder == null) {
+            throw new IllegalArgumentException("Parameter genTOBuilder cannot be null!");
+        }
+        enclosedTransferObjects.add(genTOBuilder);
+        return thisInstance();
+    }
+
+    @Override
+    public T addComment(String comment) {
+        this.comment = comment;
+        return thisInstance();
+    }
+
+    @Override
+    public AnnotationTypeBuilder addAnnotation(final String packageName, final String name) {
+        if (packageName == null) {
+            throw new IllegalArgumentException("Package Name for Annotation Type cannot be null!");
+        }
+        if (name == null) {
+            throw new IllegalArgumentException("Name of Annotation Type cannot be null!");
+        }
+
+        final AnnotationTypeBuilder builder = new AnnotationTypeBuilderImpl(packageName, name);
+        annotationBuilders.add(builder);
+        return builder;
+    }
+
+    @Override
+    public T setAbstract(boolean isAbstract) {
+        this.isAbstract = isAbstract;
+        return thisInstance();
+    }
+
+    @Override
+    public T addImplementsType(Type genType) {
+        if (genType == null) {
+            throw new IllegalArgumentException("Type cannot be null");
+        }
+        implementsTypes.add(genType);
+        return thisInstance();
+    }
+
+    @Override
+    public Constant addConstant(Type type, String name, Object value) {
+        if (type == null) {
+            throw new IllegalArgumentException("Returning Type for Constant cannot be null!");
+        }
+        if (name == null) {
+            throw new IllegalArgumentException("Name of constant cannot be null!");
+        }
+
+        final Constant constant = new ConstantImpl(this, type, name, value);
+        constants.add(constant);
+        return constant;
+    }
+
+    @Override
+    public EnumBuilder addEnumeration(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException("Name of enumeration cannot be null!");
+        }
+        final EnumBuilder builder = new EnumerationBuilderImpl(getFullyQualifiedName(), name);
+        enumDefinitions.add(builder);
+        return builder;
+    }
+
+    @Override
+    public MethodSignatureBuilder addMethod(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException("Name of method cannot be null!");
+        }
+        final MethodSignatureBuilder builder = new MethodSignatureBuilderImpl(name);
+        builder.setAccessModifier(AccessModifier.PUBLIC);
+        builder.setAbstract(true);
+        methodDefinitions.add(builder);
+        return builder;
+    }
+
+    @Override
+    public boolean containsMethod(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException("Parameter name can't be null");
+        }
+        for (MethodSignatureBuilder methodDefinition : methodDefinitions) {
+            if (name.equals(methodDefinition.getName())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public GeneratedPropertyBuilder addProperty(String name) {
+        final GeneratedPropertyBuilder builder = new GeneratedPropertyBuilderImpl(name);
+        builder.setAccessModifier(AccessModifier.PUBLIC);
+        properties.add(builder);
+        return builder;
+    }
+
+    @Override
+    public boolean containsProperty(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException("Parameter name can't be null");
+        }
+        for (GeneratedPropertyBuilder property : properties) {
+            if (name.equals(property.getName())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
+        result = prime * result + ((getPackageName() == null) ? 0 : getPackageName().hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        AbstractGeneratedTypeBuilder<T> other = (AbstractGeneratedTypeBuilder<T>) obj;
+        if (getName() == null) {
+            if (other.getName() != null) {
+                return false;
+            }
+        } else if (!getName().equals(other.getName())) {
+            return false;
+        }
+        if (getPackageName() == null) {
+            if (other.getPackageName() != null) {
+                return false;
+            }
+        } else if (!getPackageName().equals(other.getPackageName())) {
+            return false;
+        }
+        return true;
+    }
+
+    public Type getParent() {
+        return null;
+    }
+
+    protected List<GeneratedPropertyBuilder> getProperties() {
+        return properties;
+    }
+}