multiFileYangTranslator
Change-Id: I2adfef3acaec4bd74ba2c487404d2c655b800988
diff --git a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
index 10d98c8..a1bb801 100644
--- a/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
+++ b/utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/TempJavaCodeFragmentFiles.java
@@ -16,112 +16,17 @@
package org.onosproject.yangutils.translator.tojava;
-import java.io.File;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import org.onosproject.yangutils.datamodel.HasType;
-import org.onosproject.yangutils.datamodel.YangEnum;
-import org.onosproject.yangutils.datamodel.YangEnumeration;
-import org.onosproject.yangutils.datamodel.YangLeaf;
-import org.onosproject.yangutils.datamodel.YangLeafList;
-import org.onosproject.yangutils.datamodel.YangLeavesHolder;
+
+import org.onosproject.yangutils.datamodel.YangTypeContainer;
import org.onosproject.yangutils.datamodel.YangNode;
-import org.onosproject.yangutils.datamodel.YangType;
-import org.onosproject.yangutils.datamodel.YangCase;
import org.onosproject.yangutils.translator.exception.TranslatorException;
-import static org.onosproject.yangutils.datamodel.YangNodeType.MODULE_NODE;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER;
import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_RPC_INTERFACE;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.IMPL_CLASS_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.ATTRIBUTES_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.CONSTRUCTOR_FOR_TYPE_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.CONSTRUCTOR_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.ENUM_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.EQUALS_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.FROM_STRING_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.GETTER_FOR_CLASS_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.GETTER_FOR_INTERFACE_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.HASH_CODE_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.OF_STRING_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.RPC_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_CLASS_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_INTERFACE_MASK;
-import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.TO_STRING_IMPL_MASK;
-import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoOfEnumAttribute;
-import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoOfLeaf;
-import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoOfType;
-import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getCurNodeAsAttributeInParent;
-import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getFromStringAttributeInfo;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.generateEnumAttributeString;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaAttributeDefination;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaClassDefClose;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateBuilderClassFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateBuilderInterfaceFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateEnumClassFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateImplClassFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateInterfaceFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateRpcInterfaceFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateTypeDefClassFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateUnionClassFile;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getParentNodeInGenCode;
-import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuildString;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructor;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getDefaultConstructorString;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEqualsMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getFromStringMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getGetterForClass;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getGetterString;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getHashCodeMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOfMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOfMethodStringAndJavaDoc;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOverRideString;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcStringMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getSetterForClass;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getSetterString;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethod;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getTypeConstructorStringAndJavaDoc;
-import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.parseBuilderInterfaceBuildMethodString;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addArrayListImport;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addAugmentedInfoImport;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addHasAugmentationImport;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addImportsToStringAndHasCodeMethods;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.closeFile;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.isAugmentedInfoExtended;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.isHasAugmentationExtended;
-import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.prepareJavaFileGeneratorForExtendsList;
-import static org.onosproject.yangutils.utils.UtilConstants.BUILDER;
-import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING;
-import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION;
-import static org.onosproject.yangutils.utils.UtilConstants.IMPL;
-import static org.onosproject.yangutils.utils.UtilConstants.INTERFACE;
-import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE;
-import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE_INFO_JAVADOC_OF_CHILD;
-import static org.onosproject.yangutils.utils.UtilConstants.PERIOD;
-import static org.onosproject.yangutils.utils.UtilConstants.SLASH;
-import static org.onosproject.yangutils.utils.UtilConstants.IMPORT;
-import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN;
-import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage;
-import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile;
-import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD;
-import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD;
-import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.generateJavaDocForRpc;
-import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.clean;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.insertDataIntoJavaFile;
-import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.mergeJavaFiles;
+import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPE_CLASS;
+import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.getExtendsList;
/**
* Represents implementation of java code fragments temporary implementations.
@@ -129,919 +34,209 @@
public class TempJavaCodeFragmentFiles {
/**
- * The variable which guides the types of temporary files generated using
- * the temporary generated file types mask.
+ * Has the temporary files required for bean generated classes.
*/
- private int generatedTempFiles;
+ private TempJavaBeanFragmentFiles beanTempFiles;
/**
- * The variable which guides the types of files generated using
- * the generated file types mask.
+ * Has the temporary files required for bean generated classes.
*/
- private int generatedJavaFiles;
+ private TempJavaTypeFragmentFiles typeTempFiles;
/**
- * Absolute path where the target java file needs to be generated.
+ * Has the temporary files required for service generated classes.
*/
- private String absoluteDirPath;
+ private TempJavaServiceFragmentFiles serviceTempFiles;
/**
- * Name of java file that needs to be generated.
+ * Has the temporary files required for enumeration generated classes.
*/
- private String generatedJavaClassName;
-
- /**
- * Contains all the class name which will be extended by generated files.
- */
- private List<String> extendsList = new ArrayList<>();
-
- /**
- * File type extension for java classes.
- */
- private static final String JAVA_FILE_EXTENSION = ".java";
-
- /**
- * File type extension for temporary classes.
- */
- private static final String TEMP_FILE_EXTENSION = ".tmp";
-
- /**
- * Folder suffix for temporary files folder.
- */
- private static final String TEMP_FOLDER_NAME_SUFIX = "-Temp";
-
- /**
- * File name for getter method.
- */
- private static final String GETTER_METHOD_FILE_NAME = "GetterMethod";
-
- /**
- * File name for getter method implementation.
- */
- private static final String GETTER_METHOD_IMPL_FILE_NAME = "GetterMethodImpl";
-
- /**
- * File name for setter method.
- */
- private static final String SETTER_METHOD_FILE_NAME = "SetterMethod";
-
- /**
- * File name for setter method implementation.
- */
- private static final String SETTER_METHOD_IMPL_FILE_NAME = "SetterMethodImpl";
-
- /**
- * File name for constructor.
- */
- private static final String CONSTRUCTOR_FILE_NAME = "Constructor";
-
- /**
- * File name for attributes.
- */
- private static final String ATTRIBUTE_FILE_NAME = "Attributes";
-
- /**
- * File name for to string method.
- */
- private static final String TO_STRING_METHOD_FILE_NAME = "ToString";
-
- /**
- * File name for hash code method.
- */
- private static final String HASH_CODE_METHOD_FILE_NAME = "HashCode";
-
- /**
- * File name for equals method.
- */
- private static final String EQUALS_METHOD_FILE_NAME = "Equals";
-
- /**
- * File name for of string method.
- */
- private static final String OF_STRING_METHOD_FILE_NAME = "OfString";
-
- /**
- * File name for temporary enum class.
- */
- private static final String ENUM_CLASS_TEMP_FILE_NAME = "EnumClass";
-
- /**
- * File name for construction for special type like union, typedef.
- */
- private static final String CONSTRUCTOR_FOR_TYPE_FILE_NAME = "ConstructorForType";
-
- /**
- * File name for from string method.
- */
- private static final String FROM_STRING_METHOD_FILE_NAME = "FromString";
-
- /**
- * File name for interface java file name suffix.
- */
- private static final String INTERFACE_FILE_NAME_SUFFIX = EMPTY_STRING;
-
- /**
- * File name for builder interface file name suffix.
- */
- private static final String BUILDER_INTERFACE_FILE_NAME_SUFFIX = BUILDER + INTERFACE;
-
- /**
- * File name for builder class file name suffix.
- */
- private static final String BUILDER_CLASS_FILE_NAME_SUFFIX = BUILDER;
-
- /**
- * File name for impl class file name suffix.
- */
- private static final String IMPL_CLASS_FILE_NAME_SUFFIX = IMPL;
-
- /**
- * File name for typedef class file name suffix.
- */
- private static final String TYPEDEF_CLASS_FILE_NAME_SUFFIX = EMPTY_STRING;
-
- /**
- * File name for enum class file name suffix.
- */
- private static final String ENUM_CLASS_FILE_NAME_SUFFIX = EMPTY_STRING;
-
- /**
- * File name for rpc method.
- */
- private static final String RPC_FILE_NAME = "Rpc";
-
- /**
- * File name for generated class file for special type like union, typedef suffix.
- */
- private static final String RPC_INTERFACE_FILE_NAME_SUFFIX = "Service";
-
- /**
- * File name for generated class file for special type like union, typedef suffix.
- */
- private static final String UNION_TYPE_CLASS_FILE_NAME_SUFFIX = EMPTY_STRING;
-
- /**
- * Java file handle for interface file.
- */
- private File interfaceJavaFileHandle;
-
- /**
- * Java file handle for builder interface file.
- */
- private File builderInterfaceJavaFileHandle;
-
- /**
- * Java file handle for builder class file.
- */
- private File builderClassJavaFileHandle;
-
- /**
- * Java file handle for impl class file.
- */
- private File implClassJavaFileHandle;
-
- /**
- * Java file handle for typedef class file.
- */
- private File typedefClassJavaFileHandle;
-
- /**
- * Java file handle for type class like union, typedef file.
- */
- private File typeClassJavaFileHandle;
-
- /**
- * Temporary file handle for attribute.
- */
- private File attributesTempFileHandle;
-
- /**
- * Temporary file handle for getter of interface.
- */
- private File getterInterfaceTempFileHandle;
-
- /**
- * Temporary file handle for getter of class.
- */
- private File getterImplTempFileHandle;
-
- /**
- * Temporary file handle for setter of interface.
- */
- private File setterInterfaceTempFileHandle;
-
- /**
- * Temporary file handle for setter of class.
- */
- private File setterImplTempFileHandle;
-
- /**
- * Temporary file handle for constructor of class.
- */
- private File constructorImplTempFileHandle;
-
- /**
- * Temporary file handle for hash code method of class.
- */
- private File hashCodeImplTempFileHandle;
-
- /**
- * Temporary file handle for equals method of class.
- */
- private File equalsImplTempFileHandle;
-
- /**
- * Temporary file handle for to string method of class.
- */
- private File toStringImplTempFileHandle;
-
- /**
- * Temporary file handle for enum class file.
- */
- private File enumClassTempFileHandle;
-
- /**
- * Temporary file handle for of string method of class.
- */
- private File ofStringImplTempFileHandle;
-
- /**
- * Temporary file handle for constructor for type class.
- */
- private File constructorForTypeTempFileHandle;
-
- /**
- * Temporary file handle for from string method of class.
- */
- private File fromStringImplTempFileHandle;
-
- /**
- * Temporary file handle for rpc interface.
- */
- private File rpcInterfaceImplTempFileHandle;
-
- /**
- * Java file handle for rpc interface file.
- */
- private File rpcInterfaceJavaFileHandle;
-
- /**
- * Java attribute info.
- */
- private JavaAttributeInfo newAttrInfo;
-
- /**
- * Current YANG node.
- */
- private YangNode curYangNode;
-
- /**
- * Import info for case.
- */
- private JavaQualifiedTypeInfo caseImportInfo;
-
- /**
- * Current enum's value.
- */
- private int enumValue;
-
- /**
- * Is attribute added.
- */
- private boolean isAttributePresent = false;
-
- /*
- * Java file handle for enum class.
- */
- private File enumClassJavaFileHandle;
+ private TempJavaEnumerationFragmentFiles enumerationTempFiles;
/**
* Creates an instance of temporary java code fragment.
*
- * @param genFileType file generation type
- * @param genDir file generation directory
- * @param className class name
+ * @param javaFileInfo generated java file info
* @throws IOException when fails to create new file handle
*/
- public TempJavaCodeFragmentFiles(int genFileType, String genDir, String className)
+ public TempJavaCodeFragmentFiles(JavaFileInfo javaFileInfo)
throws IOException {
- setExtendsList(new ArrayList<>());
- generatedTempFiles = 0;
- absoluteDirPath = genDir;
- generatedJavaClassName = className;
- generatedJavaFiles = genFileType;
- /**
- * Initialize getter when generation file type matches to interface
- * mask.
- */
- if ((genFileType & INTERFACE_MASK) != 0) {
- generatedTempFiles |= GETTER_FOR_INTERFACE_MASK;
+ if ((javaFileInfo.getGeneratedFileTypes() & GENERATE_INTERFACE_WITH_BUILDER) != 0) {
+ setBeanTempFiles(new TempJavaBeanFragmentFiles(javaFileInfo));
}
/**
- * Initialize getter and setter when generation file type matches to
- * builder interface mask.
+ * Creates user defined data type class file.
*/
- if ((genFileType & BUILDER_INTERFACE_MASK) != 0) {
- generatedTempFiles |= GETTER_FOR_INTERFACE_MASK;
- generatedTempFiles |= SETTER_FOR_INTERFACE_MASK;
+ if ((javaFileInfo.getGeneratedFileTypes() & GENERATE_TYPE_CLASS) != 0) {
+ setTypeTempFiles(new TempJavaTypeFragmentFiles(javaFileInfo));
}
/**
- * Initialize getterImpl, setterImpl and attributes when generation file
- * type matches to builder class mask.
+ * Creates enumeration class file.
*/
- if ((genFileType & BUILDER_CLASS_MASK) != 0) {
- generatedTempFiles |= ATTRIBUTES_MASK;
- generatedTempFiles |= GETTER_FOR_CLASS_MASK;
- generatedTempFiles |= SETTER_FOR_CLASS_MASK;
+ if ((javaFileInfo.getGeneratedFileTypes() & GENERATE_ENUM_CLASS) != 0) {
+ setEnumerationTempFiles(new TempJavaEnumerationFragmentFiles(javaFileInfo));
+ }
+
+ if ((javaFileInfo.getGeneratedFileTypes() & GENERATE_RPC_INTERFACE) != 0) {
+ setServiceTempFiles(new TempJavaServiceFragmentFiles(javaFileInfo));
+ }
+ }
+
+ /**
+ * Retrieves the temp file handle for bean file generation.
+ *
+ * @return temp file handle for bean file generation
+ */
+ public TempJavaBeanFragmentFiles getBeanTempFiles() {
+ return beanTempFiles;
+ }
+
+ /**
+ * Sets temp file handle for bean file generation.
+ *
+ * @param beanTempFiles temp file handle for bean file generation
+ */
+ public void setBeanTempFiles(TempJavaBeanFragmentFiles beanTempFiles) {
+ this.beanTempFiles = beanTempFiles;
+ }
+
+
+ /**
+ * Retrieves the temp file handle for data type file generation.
+ *
+ * @return temp file handle for data type file generation
+ */
+ public TempJavaTypeFragmentFiles getTypeTempFiles() {
+ return typeTempFiles;
+ }
+
+
+ /**
+ * Sets temp file handle for data type file generation.
+ *
+ * @param typeTempFiles temp file handle for data type file generation
+ */
+ public void setTypeTempFiles(TempJavaTypeFragmentFiles typeTempFiles) {
+ this.typeTempFiles = typeTempFiles;
+ }
+
+ /**
+ * Retrieves the temp file handle for service file generation.
+ *
+ * @return temp file handle for service file generation
+ */
+ public TempJavaServiceFragmentFiles getServiceTempFiles() {
+ return serviceTempFiles;
+ }
+
+ /**
+ * Sets temp file handle for service file generation.
+ *
+ * @param serviceTempFiles temp file handle for service file generation
+ */
+ public void setServiceTempFiles(TempJavaServiceFragmentFiles serviceTempFiles) {
+ this.serviceTempFiles = serviceTempFiles;
+ }
+
+ /**
+ * Retrieves the temp file handle for enumeration file generation.
+ *
+ * @return temp file handle for enumeration file generation
+ */
+ public TempJavaEnumerationFragmentFiles getEnumerationTempFiles() {
+ return enumerationTempFiles;
+ }
+
+ /**
+ * Sets temp file handle for enumeration file generation.
+ *
+ * @param enumerationTempFiles temp file handle for enumeration file generation
+ */
+ public void setEnumerationTempFiles(
+ TempJavaEnumerationFragmentFiles enumerationTempFiles) {
+ this.enumerationTempFiles = enumerationTempFiles;
+ }
+
+ /**
+ * Constructs java code exit.
+ *
+ * @param fileType generated file type
+ * @param curNode current YANG node
+ * @throws IOException when fails to generate java files
+ */
+ public void generateJavaFile(int fileType, YangNode curNode)
+ throws IOException {
+
+ if (getBeanTempFiles() != null) {
+ getBeanTempFiles().generateJavaFile(fileType, curNode);
}
/**
- * Initialize getterImpl, attributes, constructor, hash code, equals and
- * to strings when generation file type matches to impl class mask.
+ * Creates user defined data type class file.
*/
- if ((genFileType & IMPL_CLASS_MASK) != 0) {
- generatedTempFiles |= ATTRIBUTES_MASK;
- generatedTempFiles |= GETTER_FOR_CLASS_MASK;
- generatedTempFiles |= CONSTRUCTOR_IMPL_MASK;
- generatedTempFiles |= HASH_CODE_IMPL_MASK;
- generatedTempFiles |= EQUALS_IMPL_MASK;
- generatedTempFiles |= TO_STRING_IMPL_MASK;
+ if (getTypeTempFiles() != null) {
+ getTypeTempFiles().generateJavaFile(fileType, curNode);
}
- if ((genFileType & GENERATE_RPC_INTERFACE) != 0) {
- generatedTempFiles |= RPC_IMPL_MASK;
+ }
+
+ /**
+ * Adds the new attribute info to the target generated temporary files.
+ *
+ * @param newAttrInfo the attribute info that needs to be added to temporary
+ * files
+ * @throws IOException IO operation fail
+ */
+ public void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo newAttrInfo)
+ throws IOException {
+
+ if (getBeanTempFiles() != null) {
+ getBeanTempFiles()
+ .addJavaSnippetInfoToApplicableTempFiles(newAttrInfo);
}
/**
- * Initialize getterImpl, attributes, hash code, equals and
- * to strings when generation file type matches to typeDef class mask.
+ * Creates user defined data type class file.
*/
- if ((genFileType & GENERATE_TYPEDEF_CLASS) != 0) {
- generatedTempFiles |= ATTRIBUTES_MASK;
- generatedTempFiles |= GETTER_FOR_CLASS_MASK;
- generatedTempFiles |= HASH_CODE_IMPL_MASK;
- generatedTempFiles |= EQUALS_IMPL_MASK;
- generatedTempFiles |= TO_STRING_IMPL_MASK;
- generatedTempFiles |= OF_STRING_IMPL_MASK;
- generatedTempFiles |= CONSTRUCTOR_FOR_TYPE_MASK;
- generatedTempFiles |= FROM_STRING_IMPL_MASK;
- }
-
- /**
- * Initialize getterImpl, attributes, hash code, equals, of string,
- * constructor, union's to string, from string when generation
- * file type matches to union class mask.
- */
- if ((genFileType & GENERATE_UNION_CLASS) != 0) {
- generatedTempFiles |= ATTRIBUTES_MASK;
- generatedTempFiles |= GETTER_FOR_CLASS_MASK;
- generatedTempFiles |= HASH_CODE_IMPL_MASK;
- generatedTempFiles |= EQUALS_IMPL_MASK;
- generatedTempFiles |= OF_STRING_IMPL_MASK;
- generatedTempFiles |= CONSTRUCTOR_FOR_TYPE_MASK;
- generatedTempFiles |= TO_STRING_IMPL_MASK;
- generatedTempFiles |= FROM_STRING_IMPL_MASK;
- }
- /**
- * Initialize enum when generation file type matches to enum class mask.
- */
- if ((genFileType & GENERATE_ENUM_CLASS) != 0) {
- generatedTempFiles |= ENUM_IMPL_MASK;
- }
-
- /**
- * Set temporary file handles.
- */
- if ((generatedTempFiles & ATTRIBUTES_MASK) != 0) {
- setAttributesTempFileHandle(getTemporaryFileHandle(ATTRIBUTE_FILE_NAME));
- }
-
- if ((generatedTempFiles & GETTER_FOR_INTERFACE_MASK) != 0) {
- setGetterInterfaceTempFileHandle(getTemporaryFileHandle(GETTER_METHOD_FILE_NAME));
- }
-
- if ((generatedTempFiles & SETTER_FOR_INTERFACE_MASK) != 0) {
- setSetterInterfaceTempFileHandle(getTemporaryFileHandle(SETTER_METHOD_FILE_NAME));
- }
-
- if ((generatedTempFiles & GETTER_FOR_CLASS_MASK) != 0) {
- setGetterImplTempFileHandle(getTemporaryFileHandle(GETTER_METHOD_IMPL_FILE_NAME));
- }
-
- if ((generatedTempFiles & SETTER_FOR_CLASS_MASK) != 0) {
- setSetterImplTempFileHandle(getTemporaryFileHandle(SETTER_METHOD_IMPL_FILE_NAME));
- }
-
- if ((generatedTempFiles & CONSTRUCTOR_IMPL_MASK) != 0) {
- setConstructorImplTempFileHandle(getTemporaryFileHandle(CONSTRUCTOR_FILE_NAME));
- }
-
- if ((generatedTempFiles & HASH_CODE_IMPL_MASK) != 0) {
- setHashCodeImplTempFileHandle(getTemporaryFileHandle(HASH_CODE_METHOD_FILE_NAME));
- }
-
- if ((generatedTempFiles & EQUALS_IMPL_MASK) != 0) {
- setEqualsImplTempFileHandle(getTemporaryFileHandle(EQUALS_METHOD_FILE_NAME));
- }
- if ((generatedTempFiles & TO_STRING_IMPL_MASK) != 0) {
- setToStringImplTempFileHandle(getTemporaryFileHandle(TO_STRING_METHOD_FILE_NAME));
- }
- if ((generatedTempFiles & ENUM_IMPL_MASK) != 0) {
- setEnumClassTempFileHandle(getTemporaryFileHandle(ENUM_CLASS_TEMP_FILE_NAME));
- }
- if ((generatedTempFiles & OF_STRING_IMPL_MASK) != 0) {
- setOfStringImplTempFileHandle(getTemporaryFileHandle(OF_STRING_METHOD_FILE_NAME));
- }
-
- if ((generatedTempFiles & CONSTRUCTOR_FOR_TYPE_MASK) != 0) {
- setConstructorForTypeTempFileHandle(getTemporaryFileHandle(CONSTRUCTOR_FOR_TYPE_FILE_NAME));
- }
-
- if ((generatedTempFiles & FROM_STRING_IMPL_MASK) != 0) {
- setFromStringImplTempFileHandle(getTemporaryFileHandle(FROM_STRING_METHOD_FILE_NAME));
- }
-
- if ((generatedTempFiles & RPC_IMPL_MASK) != 0) {
- setRpcInterfaceImplTempFileHandle(getTemporaryFileHandle(RPC_FILE_NAME));
+ if (getTypeTempFiles() != null) {
+ getTypeTempFiles()
+ .addJavaSnippetInfoToApplicableTempFiles(newAttrInfo);
}
}
/**
- * Returns java file handle for interface file.
+ * Adds all the leaves in the current data model node as part of the
+ * generated temporary file.
*
- * @return java file handle for interface file
+ * @param curNode java file info of the generated file
+ * @throws IOException IO operation fail
*/
- private File getInterfaceJavaFileHandle() {
- return interfaceJavaFileHandle;
- }
+ public void addCurNodeLeavesInfoToTempFiles(YangNode curNode)
+ throws IOException {
- /**
- * Sets the java file handle for interface file.
- *
- * @param interfaceJavaFileHandle java file handle
- */
- private void setInterfaceJavaFileHandle(File interfaceJavaFileHandle) {
- this.interfaceJavaFileHandle = interfaceJavaFileHandle;
- }
-
- /**
- * Returns java file handle for builder interface file.
- *
- * @return java file handle for builder interface file
- */
- private File getBuilderInterfaceJavaFileHandle() {
- return builderInterfaceJavaFileHandle;
- }
-
- /**
- * Sets the java file handle for builder interface file.
- *
- * @param builderInterfaceJavaFileHandle java file handle
- */
- private void setBuilderInterfaceJavaFileHandle(File builderInterfaceJavaFileHandle) {
- this.builderInterfaceJavaFileHandle = builderInterfaceJavaFileHandle;
- }
-
- /**
- * Returns java file handle for builder class file.
- *
- * @return java file handle for builder class file
- */
- private File getBuilderClassJavaFileHandle() {
- return builderClassJavaFileHandle;
- }
-
- /**
- * Sets the java file handle for builder class file.
- *
- * @param builderClassJavaFileHandle java file handle
- */
- private void setBuilderClassJavaFileHandle(File builderClassJavaFileHandle) {
- this.builderClassJavaFileHandle = builderClassJavaFileHandle;
- }
-
- /**
- * Returns java file handle for impl class file.
- *
- * @return java file handle for impl class file
- */
- private File getImplClassJavaFileHandle() {
- return implClassJavaFileHandle;
- }
-
- /**
- * Sets the java file handle for impl class file.
- *
- * @param implClassJavaFileHandle java file handle
- */
- private void setImplClassJavaFileHandle(File implClassJavaFileHandle) {
- this.implClassJavaFileHandle = implClassJavaFileHandle;
- }
-
- /**
- * Returns java file handle for typedef class file.
- *
- * @return java file handle for typedef class file
- */
- private File getTypedefClassJavaFileHandle() {
- return typedefClassJavaFileHandle;
- }
-
- /**
- * Sets the java file handle for typedef class file.
- *
- * @param typedefClassJavaFileHandle java file handle
- */
- private void setTypedefClassJavaFileHandle(File typedefClassJavaFileHandle) {
- this.typedefClassJavaFileHandle = typedefClassJavaFileHandle;
- }
-
- /**
- * Returns enum class java file handle.
- *
- * @return enum class java file handle
- */
- private File getEnumClassJavaFileHandle() {
- return enumClassJavaFileHandle;
- }
-
- /**
- * Sets enum class java file handle.
- *
- * @param enumClassJavaFileHandle enum class java file handle
- */
-
- private void setEnumClassJavaFileHandle(File enumClassJavaFileHandle) {
- this.enumClassJavaFileHandle = enumClassJavaFileHandle;
- }
-
- /**
- * Returns java file handle for type class file.
- *
- * @return java file handle for type class file
- */
- private File getTypeClassJavaFileHandle() {
- return typeClassJavaFileHandle;
- }
-
- /**
- * Sets the java file handle for type class file.
- *
- * @param typeClassJavaFileHandle type file handle
- */
- private void setTypeClassJavaFileHandle(File typeClassJavaFileHandle) {
- this.typeClassJavaFileHandle = typeClassJavaFileHandle;
- }
-
- /**
- * Returns attribute's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getAttributesTempFileHandle() {
- return attributesTempFileHandle;
- }
-
- /**
- * Sets attribute's temporary file handle.
- *
- * @param attributeForClass file handle for attribute
- */
- private void setAttributesTempFileHandle(File attributeForClass) {
- attributesTempFileHandle = attributeForClass;
- }
-
- /**
- * Returns getter methods's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getGetterInterfaceTempFileHandle() {
- return getterInterfaceTempFileHandle;
- }
-
- /**
- * Sets to getter method's temporary file handle.
- *
- * @param getterForInterface file handle for to getter method
- */
- private void setGetterInterfaceTempFileHandle(File getterForInterface) {
- getterInterfaceTempFileHandle = getterForInterface;
- }
-
- /**
- * Returns getter method's impl's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getGetterImplTempFileHandle() {
- return getterImplTempFileHandle;
- }
-
- /**
- * Sets to getter method's impl's temporary file handle.
- *
- * @param getterImpl file handle for to getter method's impl
- */
- private void setGetterImplTempFileHandle(File getterImpl) {
- getterImplTempFileHandle = getterImpl;
- }
-
- /**
- * Returns setter method's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getSetterInterfaceTempFileHandle() {
- return setterInterfaceTempFileHandle;
- }
-
- /**
- * Sets to setter method's temporary file handle.
- *
- * @param setterForInterface file handle for to setter method
- */
- private void setSetterInterfaceTempFileHandle(File setterForInterface) {
- setterInterfaceTempFileHandle = setterForInterface;
- }
-
- /**
- * Returns setter method's impl's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getSetterImplTempFileHandle() {
- return setterImplTempFileHandle;
- }
-
- /**
- * Sets to setter method's impl's temporary file handle.
- *
- * @param setterImpl file handle for to setter method's implementation class
- */
- private void setSetterImplTempFileHandle(File setterImpl) {
- setterImplTempFileHandle = setterImpl;
- }
-
- /**
- * Returns constructor's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getConstructorImplTempFileHandle() {
- return constructorImplTempFileHandle;
- }
-
- /**
- * Sets to constructor's temporary file handle.
- *
- * @param constructor file handle for to constructor
- */
- private void setConstructorImplTempFileHandle(File constructor) {
- constructorImplTempFileHandle = constructor;
- }
-
- /**
- * Returns hash code method's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getHashCodeImplTempFileHandle() {
- return hashCodeImplTempFileHandle;
- }
-
- /**
- * Sets hash code method's temporary file handle.
- *
- * @param hashCodeMethod file handle for hash code method
- */
- private void setHashCodeImplTempFileHandle(File hashCodeMethod) {
- hashCodeImplTempFileHandle = hashCodeMethod;
- }
-
- /**
- * Returns equals mehtod's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getEqualsImplTempFileHandle() {
- return equalsImplTempFileHandle;
- }
-
- /**
- * Sets equals method's temporary file handle.
- *
- * @param equalsMethod file handle for to equals method
- */
- private void setEqualsImplTempFileHandle(File equalsMethod) {
- equalsImplTempFileHandle = equalsMethod;
- }
-
- /**
- * Returns rpc method's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getRpcInterfaceImplTempFileHandle() {
- return rpcInterfaceImplTempFileHandle;
- }
-
- /**
- * Sets rpc method's temporary file handle.
- *
- * @param rpcInterfaceImplTempFileHandle file handle for to rpc method
- */
- public void setRpcInterfaceImplTempFileHandle(File rpcInterfaceImplTempFileHandle) {
- this.rpcInterfaceImplTempFileHandle = rpcInterfaceImplTempFileHandle;
- }
-
- /**
- * Returns rpc method's java file handle.
- *
- * @return java file handle
- */
- public File getRpcInterfaceJavaFileHandle() {
- return rpcInterfaceJavaFileHandle;
- }
-
- /**
- * Sets rpc method's java file handle.
- *
- * @param rpcInterfaceJavaFileHandle file handle for to rpc method
- */
- public void setRpcInterfaceJavaFileHandle(File rpcInterfaceJavaFileHandle) {
- this.rpcInterfaceJavaFileHandle = rpcInterfaceJavaFileHandle;
- }
-
- /**
- * Returns to string method's temporary file handle.
- *
- * @return temporary file handle
- */
- public File getToStringImplTempFileHandle() {
- return toStringImplTempFileHandle;
- }
-
- /**
- * Sets to string method's temporary file handle.
- *
- * @param toStringMethod file handle for to string method
- */
- private void setToStringImplTempFileHandle(File toStringMethod) {
- toStringImplTempFileHandle = toStringMethod;
- }
-
- /**
- * Returns temporary file handle for enum class file.
- *
- * @return temporary file handle for enum class file
- */
- public File getEnumClassTempFileHandle() {
- return enumClassTempFileHandle;
- }
-
- /**
- * Sets temporary file handle for enum class file.
- *
- * @param enumClassTempFileHandle temporary file handle for enum class file
- */
-
- private void setEnumClassTempFileHandle(File enumClassTempFileHandle) {
- this.enumClassTempFileHandle = enumClassTempFileHandle;
- }
-
- /**
- * Returns of string method's temporary file handle.
- *
- * @return of string method's temporary file handle
- */
- public File getOfStringImplTempFileHandle() {
- return ofStringImplTempFileHandle;
- }
-
- /**
- * Set of string method's temporary file handle.
- *
- * @param ofStringImplTempFileHandle of string method's temporary file handle
- */
- private void setOfStringImplTempFileHandle(File ofStringImplTempFileHandle) {
- this.ofStringImplTempFileHandle = ofStringImplTempFileHandle;
- }
-
- /**
- * Returns type class constructor method's temporary file handle.
- *
- * @return type class constructor method's temporary file handle
- */
- public File getConstructorForTypeTempFileHandle() {
- return constructorForTypeTempFileHandle;
- }
-
- /**
- * Sets type class constructor method's temporary file handle.
- *
- * @param constructorForTypeTempFileHandle type class constructor method's temporary file handle
- */
- private void setConstructorForTypeTempFileHandle(File constructorForTypeTempFileHandle) {
- this.constructorForTypeTempFileHandle = constructorForTypeTempFileHandle;
- }
-
- /**
- * Returns from string method's temporary file handle.
- *
- * @return from string method's temporary file handle
- */
- public File getFromStringImplTempFileHandle() {
- return fromStringImplTempFileHandle;
- }
-
- /**
- * Sets from string method's temporary file handle.
- *
- * @param fromStringImplTempFileHandle from string method's temporary file handle
- */
- private void setFromStringImplTempFileHandle(File fromStringImplTempFileHandle) {
- this.fromStringImplTempFileHandle = fromStringImplTempFileHandle;
- }
-
- /**
- * Returns java attribute info.
- *
- * @return java attribute info
- */
- private JavaAttributeInfo getNewAttrInfo() {
- return newAttrInfo;
- }
-
- /**
- * Sets java attribute info.
- *
- * @param newAttrInfo java attribute info
- */
- private void setNewAttrInfo(JavaAttributeInfo newAttrInfo) {
-
- if (newAttrInfo != null) {
- isAttributePresent = true;
+ if (getBeanTempFiles() != null) {
+ getBeanTempFiles().addCurNodeLeavesInfoToTempFiles(curNode);
}
- this.newAttrInfo = newAttrInfo;
+
}
/**
- * Returns current YANG node.
+ * Add all the type in the current data model node as part of the
+ * generated temporary file.
*
- * @return current YANG node
+ * @param yangTypeContainer YANG java data model node which has type info, eg union / typedef
+ * @throws IOException IO operation fail
*/
- private YangNode getCurYangNode() {
- return curYangNode;
- }
+ public void addTypeInfoToTempFiles(YangTypeContainer yangTypeContainer)
+ throws IOException {
- /**
- * Sets current YANG node.
- *
- * @param curYangNode YANG node
- */
- private void setCurYangNode(YangNode curYangNode) {
- this.curYangNode = curYangNode;
- }
-
- /**
- * Returns enum's value.
- *
- * @return enum's value
- */
- public int getEnumValue() {
- return enumValue;
- }
-
- /**
- * Sets enum's value.
- *
- * @param enumValue enum's value
- */
- public void setEnumValue(int enumValue) {
- this.enumValue = enumValue;
- }
-
- /**
- * Returns list of classes to be extended by generated files.
- *
- * @return list of classes to be extended by generated files
- */
- private List<String> getExtendsList() {
- return extendsList;
- }
-
- /**
- * Sets class to be extended by generated file.
- *
- * @param extendsList list of classes to be extended
- */
-
- private void setExtendsList(List<String> extendsList) {
- this.extendsList = extendsList;
+ if (getTypeTempFiles() != null) {
+ getTypeTempFiles()
+ .addTypeInfoToTempFiles(yangTypeContainer);
+ }
}
/**
@@ -1054,112 +249,17 @@
}
/**
- * Adds of string for type.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addOfStringMethod(JavaAttributeInfo attr) throws IOException {
- appendToFile(getOfStringImplTempFileHandle(), getOfMethodStringAndJavaDoc(attr, generatedJavaClassName)
- + NEW_LINE);
- }
-
- /**
- * Adds type constructor.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addTypeConstructor(JavaAttributeInfo attr) throws IOException {
- appendToFile(getConstructorForTypeTempFileHandle(), getTypeConstructorStringAndJavaDoc(attr,
- generatedJavaClassName) + NEW_LINE);
- }
-
- /**
- * Adds attribute for class.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addAttribute(JavaAttributeInfo attr) throws IOException {
- appendToFile(getAttributesTempFileHandle(), parseAttribute(attr) + FOUR_SPACE_INDENTATION);
- }
-
- /**
- * Adds getter for interface.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addGetterForInterface(JavaAttributeInfo attr) throws IOException {
- appendToFile(getGetterInterfaceTempFileHandle(), getGetterString(attr) + NEW_LINE);
- }
-
- /**
- * Adds getter method's impl for class.
- *
- * @param attr attribute info
- * @param genFiletype generated file type
- * @throws IOException when fails to append to temporary file
- */
- private void addGetterImpl(JavaAttributeInfo attr, int genFiletype) throws IOException {
-
- if ((genFiletype & BUILDER_CLASS_MASK) != 0) {
- appendToFile(getGetterImplTempFileHandle(), getOverRideString() + getGetterForClass(attr) + NEW_LINE);
- } else {
- appendToFile(getGetterImplTempFileHandle(), getJavaDoc(GETTER_METHOD, attr.getAttributeName(), false)
- + getGetterForClass(attr) + NEW_LINE);
- }
- }
-
- /**
- * Adds setter for interface.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addSetterForInterface(JavaAttributeInfo attr) throws IOException {
- appendToFile(getSetterInterfaceTempFileHandle(),
- getSetterString(attr, generatedJavaClassName) + NEW_LINE);
- }
-
- /**
- * Adds setter's implementation for class.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addSetterImpl(JavaAttributeInfo attr) throws IOException {
- appendToFile(getSetterImplTempFileHandle(),
- getOverRideString() + getSetterForClass(attr, generatedJavaClassName) + NEW_LINE);
- }
-
- /**
* Adds build method for interface.
*
* @return build method for interface
- */
- public String addBuildMethodForInterface() {
- return parseBuilderInterfaceBuildMethodString(generatedJavaClassName);
- }
-
- /**
- * Adds build method's implementation for class.
- *
- * @return build method implementation for class
- */
- public String addBuildMethodImpl() {
- return getBuildString(generatedJavaClassName) + NEW_LINE;
- }
-
- /**
- * Adds constructor for class.
- *
- * @param attr attribute info
* @throws IOException when fails to append to temporary file
*/
- private void addConstructor(JavaAttributeInfo attr) throws IOException {
- appendToFile(getConstructorImplTempFileHandle(), getConstructor(generatedJavaClassName, attr));
+ public String addBuildMethodForInterface()
+ throws IOException {
+ if (getBeanTempFiles() != null) {
+ return getBeanTempFiles().addBuildMethodForInterface();
+ }
+ throw new TranslatorException("build method only supported for bean class");
}
/**
@@ -1168,337 +268,61 @@
* @param modifier modifier for constructor.
* @param toAppend string which need to be appended with the class name
* @return default constructor for class
- */
- public String addDefaultConstructor(String modifier, String toAppend) {
- return NEW_LINE + getDefaultConstructorString(generatedJavaClassName + toAppend, modifier);
- }
-
- /**
- * Adds default constructor for class.
- *
- * @return default constructor for class
- */
- public String addOfMethod() {
- return getJavaDoc(OF_METHOD, generatedJavaClassName, false)
- + getOfMethod(generatedJavaClassName, newAttrInfo);
- }
-
- /**
- * Adds hash code method for class.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addHashCodeMethod(JavaAttributeInfo attr) throws IOException {
- appendToFile(getHashCodeImplTempFileHandle(), getHashCodeMethod(attr) + NEW_LINE);
- }
-
- /**
- * Adds equals method for class.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addEqualsMethod(JavaAttributeInfo attr) throws IOException {
- appendToFile(getEqualsImplTempFileHandle(), getEqualsMethod(attr) + NEW_LINE);
- }
-
- /**
- * Adds ToString method for class.
- *
- * @param attr attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addToStringMethod(JavaAttributeInfo attr) throws IOException {
- appendToFile(getToStringImplTempFileHandle(), getToStringMethod(attr) + NEW_LINE);
- }
-
- /**
- * Adds enum class attributes to temporary file.
- *
- * @param curEnum current YANG enum
- * @throws IOException when fails to do IO operations.
- */
- private void addAttributesForEnumClass(JavaAttributeInfo curEnumInfo) throws IOException {
- appendToFile(getEnumClassTempFileHandle(),
- generateEnumAttributeString(curEnumInfo.getAttributeName(), getEnumValue()));
- }
-
- /**
- * Add from string method for union class.
- *
- * @param javaAttributeInfo type attribute info
- * @param fromStringAttributeInfo from string attribute info
- * @throws IOException when fails to append to temporary file
- */
- private void addFromStringMethod(JavaAttributeInfo javaAttributeInfo,
- JavaAttributeInfo fromStringAttributeInfo) throws IOException {
- appendToFile(getFromStringImplTempFileHandle(), getFromStringMethod(javaAttributeInfo,
- fromStringAttributeInfo) + NEW_LINE);
- }
-
- /**
- * Adds rpc string information to applicable temp file.
- *
- * @param javaAttributeInfoOfInput rpc's input node attribute info
- * @param javaAttributeInfoOfOutput rpc's output node attribute info
- * @param rpcName name of the rpc function
- * @throws IOException IO operation fail
- */
- private void addRpcString(JavaAttributeInfo javaAttributeInfoOfInput, JavaAttributeInfo javaAttributeInfoOfOutput,
- String rpcName) throws IOException {
- String rpcInput = "";
- String rpcOutput = "void";
- if (javaAttributeInfoOfInput != null) {
- rpcInput = javaAttributeInfoOfInput.getAttributeName();
- }
- if (javaAttributeInfoOfOutput != null) {
- rpcOutput = javaAttributeInfoOfOutput.getAttributeName();
- }
- appendToFile(getRpcInterfaceImplTempFileHandle(), generateJavaDocForRpc(rpcName, rpcInput, rpcOutput) +
- getRpcStringMethod(rpcName, rpcInput, rpcOutput) + NEW_LINE);
- }
-
- /**
- * Returns a temporary file handle for the specific file type.
- *
- * @param fileName file name
- * @return temporary file handle
- * @throws IOException when fails to create new file handle
- */
- private File getTemporaryFileHandle(String fileName) throws IOException {
-
- String path = getTempDirPath();
- File dir = new File(path);
- if (!dir.exists()) {
- dir.mkdirs();
- }
-
- File file = new File(path + fileName + TEMP_FILE_EXTENSION);
- if (!file.exists()) {
- file.createNewFile();
- }
- return file;
- }
-
- /**
- * Returns a temporary file handle for the specific file type.
- *
- * @param fileName file name
- * @return temporary file handle
- * @throws IOException when fails to create new file handle
- */
- private File getJavaFileHandle(String fileName) throws IOException {
- return getFileObject(getDirPath(), fileName, JAVA_FILE_EXTENSION, getJavaFileInfo());
- }
-
- /**
- * Returns data from the temporary files.
- *
- * @param file temporary file handle
- * @return stored data from temporary files
- * @throws IOException when failed to get data from the given file
- */
- public String getTemporaryDataFromFileHandle(File file) throws IOException {
-
- String path = getTempDirPath();
- if (new File(path + file.getName()).exists()) {
- return readAppendFile(path + file.getName(), EMPTY_STRING);
- } else {
- throw new IOException("Unable to get data from the given "
- + file.getName() + " file for " + generatedJavaClassName + PERIOD);
- }
- }
-
- /**
- * Returns temporary directory path.
- *
- * @return directory path
- */
- private String getTempDirPath() {
- return getPackageDirPathFromJavaJPackage(absoluteDirPath) + SLASH + generatedJavaClassName
- + TEMP_FOLDER_NAME_SUFIX + SLASH;
- }
-
- /**
- * Parses attribute to get the attribute string.
- *
- * @param attr attribute info
- * @return attribute string
- */
- private String parseAttribute(JavaAttributeInfo attr) {
-
- /*
- * TODO: check if this utility needs to be called or move to the caller
- */
- String attributeName = getCamelCase(getSmallCase(attr.getAttributeName()), null);
- if (attr.isQualifiedName()) {
- return getJavaAttributeDefination(attr.getImportInfo().getPkgInfo(), attr.getImportInfo().getClassInfo(),
- attributeName, attr.isListAttr());
- } else {
- return getJavaAttributeDefination(null, attr.getImportInfo().getClassInfo(), attributeName,
- attr.isListAttr());
- }
- }
-
- /**
- * Appends content to temporary file.
- *
- * @param file temporary file
- * @param data data to be appended
* @throws IOException when fails to append to file
*/
- private void appendToFile(File file, String data) throws IOException {
-
- try {
- insertDataIntoJavaFile(file, data);
- } catch (IOException ex) {
- throw new IOException("failed to write in temp file.");
+ public String addDefaultConstructor(String modifier, String toAppend)
+ throws IOException {
+ if (getTypeTempFiles() != null) {
+ return getTypeTempFiles()
+ .addDefaultConstructor(modifier, toAppend);
}
+
+ if (getBeanTempFiles() != null) {
+ return getBeanTempFiles().addDefaultConstructor(modifier, toAppend);
+ }
+
+ throw new TranslatorException("default constructor should not be added");
+ }
+
+
+ /**
+ * Adds build method's implementation for class.
+ *
+ * @return build method implementation for class
+ * @throws IOException when fails to append to temporary file
+ */
+ public String addBuildMethodImpl()
+ throws IOException {
+ if (getBeanTempFiles() != null) {
+ return getBeanTempFiles().addBuildMethodImpl();
+ }
+
+ throw new TranslatorException("build should not be added");
}
/**
- * Adds current node info as and attribute to the parent generated file.
+ * Removes all temporary file handles.
*
- * @param curNode current node which needs to be added as an attribute in
- * the parent generated code
- * @param isList is list construct
- * @throws IOException IO operation exception
+ * @param isErrorOccurred when translator fails to generate java files we need to close
+ * all open file handles include temporary files and java files.
+ * @throws IOException when failed to delete the temporary files
*/
- public void addCurNodeInfoInParentTempFile(YangNode curNode,
- boolean isList) throws IOException {
+ public void close(boolean isErrorOccurred)
+ throws IOException {
- YangNode parent = getParentNodeInGenCode(curNode);
- if (!(parent instanceof JavaCodeGenerator)) {
- throw new TranslatorException("missing parent node to contain current node info in generated file");
- }
- JavaAttributeInfo javaAttributeInfo = getCurNodeAsAttributeInParent(curNode,
- parent, isList);
-
- if (!(parent instanceof HasTempJavaCodeFragmentFiles)) {
- throw new TranslatorException("missing parent temp file handle");
- }
- ((HasTempJavaCodeFragmentFiles) parent)
- .getTempJavaCodeFragmentFiles()
- .addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
- }
-
- /**
- * Adds parent's info to current node import list.
- *
- * @param curNode current node for which import list needs to be updated
- */
- public void addParentInfoInCurNodeTempFile(YangNode curNode) {
- caseImportInfo = new JavaQualifiedTypeInfo();
- YangNode parent = getParentNodeInGenCode(curNode);
- if (!(parent instanceof JavaCodeGenerator)) {
- throw new TranslatorException("missing parent node to contain current node info in generated file");
+ if (getBeanTempFiles() != null) {
+ getBeanTempFiles().close(isErrorOccurred);
}
- if (!(curNode instanceof HasJavaFileInfo)) {
- throw new TranslatorException("missing java file information to get the package details "
- + "of attribute corresponding to child node");
+ if (getTypeTempFiles() != null) {
+ getTypeTempFiles().close(isErrorOccurred);
}
- caseImportInfo.setClassInfo(getCaptialCase(getCamelCase(parent.getName(), null)));
- caseImportInfo.setPkgInfo(((HasJavaFileInfo) parent).getJavaFileInfo().getPackage());
- ((HasJavaImportData) curNode).getJavaImportData().addImportInfo(curNode, caseImportInfo);
- }
-
- /**
- * Adds leaf attributes in generated files.
- *
- * @param listOfLeaves list of YANG leaf
- * @param curNode current data model node
- * @throws IOException IO operation fail
- */
- private void addLeavesInfoToTempFiles(List<YangLeaf> listOfLeaves,
- YangNode curNode) throws IOException {
-
- if (listOfLeaves != null) {
- for (YangLeaf leaf : listOfLeaves) {
- JavaAttributeInfo javaAttributeInfo = getAttributeInfoOfLeaf(curNode,
- leaf.getDataType(),
- leaf.getLeafName(), false);
- addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
- }
+ if (getEnumerationTempFiles() != null) {
+ getEnumerationTempFiles().close(isErrorOccurred);
}
}
- /**
- * Adds leaf list's attributes in generated files.
- *
- * @param listOfLeafList list of YANG leaves
- * @param curNode cached file handle
- * @throws IOException IO operation fail
- */
- private void addLeafListInfoToTempFiles(List<YangLeafList> listOfLeafList,
- YangNode curNode) throws IOException {
-
- if (listOfLeafList != null) {
-
- /*
- * Check if the attribute is of type list, then the java.lang.list
- * needs to be imported.
- */
- if (!listOfLeafList.isEmpty()) {
- if (!(curNode instanceof HasJavaImportData)) {
- throw new TranslatorException("missing import info in current data model node");
-
- }
- ((HasJavaImportData) curNode).getJavaImportData()
- .setIfListImported(true);
-
- }
-
- for (YangLeafList leafList : listOfLeafList) {
- JavaAttributeInfo javaAttributeInfo = getAttributeInfoOfLeaf(
- curNode, leafList.getDataType(), leafList.getLeafName(),
- true);
- addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
- }
- }
- }
-
- /**
- * Adds all the leaves in the current data model node as part of the
- * generated temporary file.
- *
- * @param curNode java file info of the generated file
- * @throws IOException IO operation fail
- */
- public void addCurNodeLeavesInfoToTempFiles(YangNode curNode) throws IOException {
-
- if (curNode instanceof YangLeavesHolder) {
- YangLeavesHolder leavesHolder = (YangLeavesHolder) curNode;
- addLeavesInfoToTempFiles(leavesHolder.getListOfLeaf(), curNode);
- addLeafListInfoToTempFiles(leavesHolder.getListOfLeafList(), curNode);
- }
- }
-
- /**
- * Add all the type in the current data model node as part of the
- * generated temporary file.
- *
- * @param hasType YANG java data model node which has type info, eg union / typedef
- * @throws IOException IO operation fail
- */
- public void addTypeInfoToTempFiles(HasType hasType) throws IOException {
-
- List<YangType<?>> typeList = hasType.getTypeList();
- if (typeList != null) {
- for (YangType<?> yangType : typeList) {
- JavaAttributeInfo javaAttributeInfo = getAttributeInfoOfType((YangNode) hasType,
- yangType, getTypeName(yangType.getDataTypeName()), false);
- addJavaSnippetInfoToApplicableTempFiles((YangNode) hasType, javaAttributeInfo);
- }
- }
- }
-
- private String getTypeName(String dataTypeName) {
- return dataTypeName;
- //TODO: implement the method.
- }
/**
* Adds enum attributes to temporary files.
@@ -1506,403 +330,15 @@
* @param curNode current YANG node
* @throws IOException when fails to do IO operations
*/
- public void addEnumAttributeToTempFiles(YangNode curNode) throws IOException {
-
- if (curNode instanceof YangEnumeration) {
- Set<YangEnum> enumSet = ((YangEnumeration) curNode).getEnumSet();
- for (YangEnum curEnum : enumSet) {
- JavaAttributeInfo javaAttributeInfo = getAttributeInfoOfEnumAttribute(curNode, curEnum.getNamedValue());
- setEnumValue(curEnum.getValue());
- addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
- }
- } else {
- throw new TranslatorException("curnode should be of type enum.");
- }
- }
-
- /**
- * Adds the new attribute info to the target generated temporary files for union class.
- *
- * @param hasType the node for which the type is being added as an attribute
- * @param javaAttributeInfo the attribute info that needs to be added to temporary
- * files
- * @throws IOException IO operation fail
- */
- private void addJavaSnippetInfoToApplicableTempFiles(YangNode hasType, JavaAttributeInfo javaAttributeInfo)
+ public void addEnumAttributeToTempFiles(YangNode curNode)
throws IOException {
- JavaAttributeInfo fromStringAttributeInfo = getFromStringAttributeInfo(hasType, javaAttributeInfo);
-
- if ((generatedTempFiles & FROM_STRING_IMPL_MASK) != 0) {
- addFromStringMethod(javaAttributeInfo, fromStringAttributeInfo);
+ if (getEnumerationTempFiles() != null) {
+ getEnumerationTempFiles().addEnumAttributeToTempFiles(curNode);
+ return;
}
- addJavaSnippetInfoToApplicableTempFiles(javaAttributeInfo);
+
+ throw new TranslatorException("build should not be added");
}
- /**
- * Adds the JAVA rpc snippet information.
- *
- * @param javaAttributeInfoOfInput rpc's input node attribute info
- * @param javaAttributeInfoOfOutput rpc's output node attribute info
- * @param rpcName name of the rpc function
- * @throws IOException IO operation fail
- */
- public void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo javaAttributeInfoOfInput,
- JavaAttributeInfo javaAttributeInfoOfOutput,
- String rpcName) throws IOException {
- if ((generatedTempFiles & RPC_IMPL_MASK) != 0) {
- addRpcString(javaAttributeInfoOfInput, javaAttributeInfoOfOutput, rpcName);
- }
- }
-
- /**
- * Adds the new attribute info to the target generated temporary files.
- *
- * @param newAttrInfo the attribute info that needs to be added to temporary
- * files
- * @throws IOException IO operation fail
- */
- void addJavaSnippetInfoToApplicableTempFiles(JavaAttributeInfo newAttrInfo)
- throws IOException {
-
- setNewAttrInfo(newAttrInfo);
- if (isAttributePresent) {
- if ((generatedTempFiles & ATTRIBUTES_MASK) != 0) {
- addAttribute(newAttrInfo);
- }
-
- if ((generatedTempFiles & GETTER_FOR_INTERFACE_MASK) != 0) {
- addGetterForInterface(newAttrInfo);
- }
-
- if ((generatedTempFiles & SETTER_FOR_INTERFACE_MASK) != 0) {
- addSetterForInterface(newAttrInfo);
- }
-
- if ((generatedTempFiles & GETTER_FOR_CLASS_MASK) != 0) {
- addGetterImpl(newAttrInfo, generatedJavaFiles);
- }
-
- if ((generatedTempFiles & SETTER_FOR_CLASS_MASK) != 0) {
- addSetterImpl(newAttrInfo);
- }
-
- if ((generatedTempFiles & CONSTRUCTOR_IMPL_MASK) != 0) {
- addConstructor(newAttrInfo);
- }
-
- if ((generatedTempFiles & HASH_CODE_IMPL_MASK) != 0) {
- addHashCodeMethod(newAttrInfo);
- }
-
- if ((generatedTempFiles & EQUALS_IMPL_MASK) != 0) {
- addEqualsMethod(newAttrInfo);
- }
-
- if ((generatedTempFiles & TO_STRING_IMPL_MASK) != 0) {
- addToStringMethod(newAttrInfo);
- }
-
- if ((generatedTempFiles & ENUM_IMPL_MASK) != 0) {
- addAttributesForEnumClass(newAttrInfo);
- }
-
- if ((generatedTempFiles & OF_STRING_IMPL_MASK) != 0) {
- addOfStringMethod(newAttrInfo);
- }
-
- if ((generatedTempFiles & CONSTRUCTOR_FOR_TYPE_MASK) != 0) {
- addTypeConstructor(newAttrInfo);
- }
-
- }
- }
-
- /**
- * Returns java file info.
- *
- * @return java file info
- */
- private JavaFileInfo getJavaFileInfo() {
- return ((HasJavaFileInfo) getCurYangNode()).getJavaFileInfo();
- }
-
- /**
- * Returns java class name.
- *
- * @param suffix for the class name based on the file type
- * @return java class name
- */
- private String getJavaClassName(String suffix) {
- return getCaptialCase(getJavaFileInfo().getJavaName()) + suffix;
- }
-
- /**
- * Returns the directory path.
- *
- * @return directory path
- */
- private String getDirPath() {
- return getJavaFileInfo().getPackageFilePath();
- }
-
- /**
- * Constructs java code exit.
- *
- * @param fileType generated file type
- * @param curNode current YANG node
- * @throws IOException when fails to generate java files
- */
- public void generateJavaFile(int fileType, YangNode curNode) throws IOException {
-
- setCurYangNode(curNode);
- List<String> imports = new ArrayList<>();
- if (curNode instanceof HasJavaImportData && isAttributePresent) {
- imports = ((HasJavaImportData) curNode).getJavaImportData().getImports(getNewAttrInfo());
- }
-
- /**
- * Prepares java file generator for extends list.
- */
- prepareJavaFileGeneratorForExtendsList(getExtendsList());
- if (curNode.getNodeType().equals(MODULE_NODE)) {
- createPackage(absoluteDirPath, getJavaFileInfo().getJavaName());
- } else {
- createPackage(absoluteDirPath, ((HasJavaFileInfo) curNode.getParent()).getJavaFileInfo().getJavaName()
- + PACKAGE_INFO_JAVADOC_OF_CHILD);
- }
- /**
- * Generate java code.
- */
- if ((fileType & INTERFACE_MASK) != 0 | (fileType & BUILDER_INTERFACE_MASK) != 0) {
-
- /**
- * Adds import for case.
- */
- if (curNode instanceof YangCase) {
- List<String> importData = ((HasJavaImportData) curNode).getJavaImportData().getImports();
- for (String importInfo : importData) {
- if (!imports.contains(importInfo)) {
- imports.add(importInfo);
- }
- }
- }
-
- /**
- * Adds import for HasAugmentation class.
- */
- if (isHasAugmentationExtended(getExtendsList())) {
- addHasAugmentationImport(curNode, imports, true);
- }
-
- if (isAugmentedInfoExtended(getExtendsList())) {
- addAugmentedInfoImport(curNode, imports, true);
- }
-
- /**
- * Create interface file.
- */
- setInterfaceJavaFileHandle(getJavaFileHandle(getJavaClassName(INTERFACE_FILE_NAME_SUFFIX)));
- setInterfaceJavaFileHandle(
- generateInterfaceFile(getInterfaceJavaFileHandle(), imports, curNode, isAttributePresent));
- /**
- * Create builder interface file.
- */
- if ((fileType & BUILDER_INTERFACE_MASK) != 0) {
-
- setBuilderInterfaceJavaFileHandle(
- getJavaFileHandle(getJavaClassName(BUILDER_INTERFACE_FILE_NAME_SUFFIX)));
- setBuilderInterfaceJavaFileHandle(
- generateBuilderInterfaceFile(getBuilderInterfaceJavaFileHandle(), curNode, isAttributePresent));
- /**
- * Append builder interface file to interface file and close it.
- */
- mergeJavaFiles(getBuilderInterfaceJavaFileHandle(), getInterfaceJavaFileHandle());
- }
- insertDataIntoJavaFile(getInterfaceJavaFileHandle(), getJavaClassDefClose());
-
- if (isHasAugmentationExtended(getExtendsList())) {
- addHasAugmentationImport(curNode, imports, false);
- }
- if (isAugmentedInfoExtended(getExtendsList())) {
- addAugmentedInfoImport(curNode, imports, false);
- }
-
- if (curNode instanceof YangCase) {
- removeCaseImport(imports);
- }
- }
-
- if ((fileType & BUILDER_CLASS_MASK) != 0 | (fileType & IMPL_CLASS_MASK) != 0) {
-
- if (isAttributePresent) {
- addImportsToStringAndHasCodeMethods(curNode, imports);
- }
- if (isHasAugmentationExtended(getExtendsList())) {
- addAugmentedInfoImport(curNode, imports, true);
- addArrayListImport(curNode, imports, true);
- }
-
- /**
- * Create builder class file.
- */
- setBuilderClassJavaFileHandle(getJavaFileHandle(getJavaClassName(BUILDER_CLASS_FILE_NAME_SUFFIX)));
- setBuilderClassJavaFileHandle(
- generateBuilderClassFile(getBuilderClassJavaFileHandle(), imports, curNode, isAttributePresent));
- /**
- * Create impl class file.
- */
- if ((fileType & IMPL_CLASS_MASK) != 0) {
- setImplClassJavaFileHandle(getJavaFileHandle(getJavaClassName(IMPL_CLASS_FILE_NAME_SUFFIX)));
- setImplClassJavaFileHandle(
- generateImplClassFile(getImplClassJavaFileHandle(), curNode, isAttributePresent));
- /**
- * Append impl class to builder class and close it.
- */
- mergeJavaFiles(getImplClassJavaFileHandle(), getBuilderClassJavaFileHandle());
- }
- insertDataIntoJavaFile(getBuilderClassJavaFileHandle(), getJavaClassDefClose());
- }
-
- /**
- * Creates type def class file.
- */
- if ((fileType & GENERATE_TYPEDEF_CLASS) != 0) {
- addImportsToStringAndHasCodeMethods(curNode, imports);
- setTypedefClassJavaFileHandle(getJavaFileHandle(getJavaClassName(TYPEDEF_CLASS_FILE_NAME_SUFFIX)));
- setTypedefClassJavaFileHandle(generateTypeDefClassFile(getTypedefClassJavaFileHandle(), curNode, imports));
- }
-
- /**
- * Creates type class file.
- */
- if ((fileType & GENERATE_UNION_CLASS) != 0) {
- addImportsToStringAndHasCodeMethods(curNode, imports);
- setTypeClassJavaFileHandle(getJavaFileHandle(getJavaClassName(UNION_TYPE_CLASS_FILE_NAME_SUFFIX)));
- setTypeClassJavaFileHandle(generateUnionClassFile(getTypeClassJavaFileHandle(), curNode, imports));
- }
-
- /**
- * Creates type enum class file.
- */
- if ((fileType & GENERATE_ENUM_CLASS) != 0) {
- setEnumClassJavaFileHandle(getJavaFileHandle(getJavaClassName(ENUM_CLASS_FILE_NAME_SUFFIX)));
- setEnumClassJavaFileHandle(generateEnumClassFile(getEnumClassJavaFileHandle(), curNode));
- }
-
- /**
- * Creates rpc interface file.
- */
- if ((fileType & GENERATE_RPC_INTERFACE) != 0) {
- setRpcInterfaceJavaFileHandle(getJavaFileHandle(getJavaClassName(RPC_INTERFACE_FILE_NAME_SUFFIX)));
- setRpcInterfaceJavaFileHandle(generateRpcInterfaceFile(getRpcInterfaceJavaFileHandle(), curNode, imports));
- }
-
- /**
- * Close all the file handles.
- */
- close(false);
- }
-
- /**
- * Removes case import info from import list.
- *
- * @param imports list of imports
- * @return import for class
- */
- private List<String> removeCaseImport(List<String> imports) {
- if (imports != null && caseImportInfo != null) {
- String caseImport = IMPORT + caseImportInfo.getPkgInfo() + PERIOD + caseImportInfo.getClassInfo() +
- SEMI_COLAN + NEW_LINE;
- imports.remove(caseImport);
- }
- return imports;
- }
-
- /**
- * Removes all temporary file handles.
- *
- * @param isErrorOccurred when translator fails to generate java files we need to close
- * all open file handles include temporary files and java files.
- * @throws IOException when failed to delete the temporary files
- */
- public void close(boolean isErrorOccurred) throws IOException {
-
- boolean isError = isErrorOccurred;
- /**
- * Close all java file handles and when error occurs delete the files.
- */
- if ((generatedJavaFiles & INTERFACE_MASK) != 0) {
- closeFile(getInterfaceJavaFileHandle(), isError);
- }
- if ((generatedJavaFiles & BUILDER_CLASS_MASK) != 0) {
- closeFile(getBuilderClassJavaFileHandle(), isError);
- }
- if ((generatedJavaFiles & BUILDER_INTERFACE_MASK) != 0) {
- closeFile(getBuilderInterfaceJavaFileHandle(), true);
- }
- if ((generatedJavaFiles & IMPL_CLASS_MASK) != 0) {
- closeFile(getImplClassJavaFileHandle(), true);
- }
- if ((generatedJavaFiles & GENERATE_TYPEDEF_CLASS) != 0) {
- closeFile(getTypedefClassJavaFileHandle(), isError);
- }
- if ((generatedJavaFiles & GENERATE_ENUM_CLASS) != 0) {
- closeFile(getEnumClassJavaFileHandle(), isError);
- }
- if ((generatedJavaFiles & GENERATE_UNION_CLASS) != 0) {
- closeFile(getTypeClassJavaFileHandle(), isError);
- }
- if ((generatedJavaFiles & GENERATE_RPC_INTERFACE) != 0) {
- closeFile(getRpcInterfaceJavaFileHandle(), isError);
- }
-
- /**
- * Close all temporary file handles and delete the files.
- */
- if ((generatedTempFiles & GETTER_FOR_INTERFACE_MASK) != 0) {
- closeFile(getGetterInterfaceTempFileHandle(), true);
- }
- if ((generatedTempFiles & GETTER_FOR_CLASS_MASK) != 0) {
- closeFile(getGetterImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & SETTER_FOR_INTERFACE_MASK) != 0) {
- closeFile(getSetterInterfaceTempFileHandle(), true);
- }
- if ((generatedTempFiles & SETTER_FOR_CLASS_MASK) != 0) {
- closeFile(getSetterImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & CONSTRUCTOR_IMPL_MASK) != 0) {
- closeFile(getConstructorImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & ATTRIBUTES_MASK) != 0) {
- closeFile(getAttributesTempFileHandle(), true);
- }
- if ((generatedTempFiles & HASH_CODE_IMPL_MASK) != 0) {
- closeFile(getHashCodeImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & TO_STRING_IMPL_MASK) != 0) {
- closeFile(getToStringImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & EQUALS_IMPL_MASK) != 0) {
- closeFile(getEqualsImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & ENUM_IMPL_MASK) != 0) {
- closeFile(getEnumClassTempFileHandle(), true);
- }
- if ((generatedTempFiles & CONSTRUCTOR_FOR_TYPE_MASK) != 0) {
- closeFile(getConstructorForTypeTempFileHandle(), true);
- }
- if ((generatedTempFiles & OF_STRING_IMPL_MASK) != 0) {
- closeFile(getOfStringImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & FROM_STRING_IMPL_MASK) != 0) {
- closeFile(getFromStringImplTempFileHandle(), true);
- }
- if ((generatedTempFiles & RPC_IMPL_MASK) != 0) {
- closeFile(getRpcInterfaceImplTempFileHandle(), true);
- }
- clean(getTempDirPath());
- generatedTempFiles = 0;
- }
}