package org.opendaylight.controller.sal.binding.generator.impl;\r
\r
import java.util.ArrayList;\r
+import java.util.Arrays;\r
import java.util.Collections;\r
+import java.util.HashSet;\r
import java.util.List;\r
+import java.util.Set;\r
\r
import org.opendaylight.controller.sal.binding.model.api.AccessModifier;\r
import org.opendaylight.controller.sal.binding.model.api.Constant;\r
import org.opendaylight.controller.sal.binding.model.api.type.builder.GeneratedTOBuilder;\r
\r
final class GeneratedTOBuilderImpl implements GeneratedTOBuilder {\r
-\r
- private final String packageName;\r
+ \r
+ private static final String[] SET_VALUES = new String[] { "abstract",\r
+ "assert", "boolean", "break", "byte", "case", "catch", "char",\r
+ "class", "const", "continue", "default", "double", "do", "else",\r
+ "enum", "extends", "false", "final", "finally", "float", "for",\r
+ "goto", "if", "implements", "import", "instanceof", "int",\r
+ "interface", "long", "native", "new", "null", "package", "private",\r
+ "protected", "public", "return", "short", "static", "strictfp",\r
+ "super", "switch", "synchronized", "this", "throw", "throws",\r
+ "transient", "true", "try", "void", "volatile", "while" };\r
+\r
+ public static final Set<String> JAVA_RESERVED_WORDS = new HashSet<String>(\r
+ Arrays.asList(SET_VALUES));\r
+ \r
+ private String packageName;\r
private final String name;\r
\r
private final List<EnumBuilder> enumerations = new ArrayList<EnumBuilder>();\r
\r
public GeneratedTOBuilderImpl(String packageName, String name) {\r
super();\r
- this.packageName = packageName;\r
+ this.packageName = GeneratedTypeBuilderImpl.validatePackage(packageName);\r
this.name = name;\r
}\r
-\r
+ \r
@Override\r
public String getPackageName() {\r
return packageName;\r
public String getName() {\r
return name;\r
}\r
-\r
+ \r
@Override\r
public EnumBuilder addEnumeration(String name) {\r
final EnumBuilder builder = new EnumerationBuilderImpl(packageName,\r
\r
@Override\r
public GeneratedTransferObject toInstance() {\r
+ \r
return new GeneratedTransferObjectImpl(packageName, name, enumerations,\r
properties, equalsProperties, hashProperties,\r
toStringProperties);\r