Class EditableJavaClass

java.lang.Object
com.github.tadukoo.java.javaclass.JavaClass
com.github.tadukoo.java.javaclass.EditableJavaClass
All Implemented Interfaces:
JavaClassType, JavaCodeType, JavaTokens

public class EditableJavaClass extends JavaClass
Represents a class in Java that can be modified
Since:
Alpha v.0.4
Version:
Beta v.0.5
Author:
Logan Ferree (Tadukoo)
  • Method Details

    • builder

      Returns:
      A new EditableJavaClass.EditableJavaClassBuilder to use to build a new EditableJavaClass
    • setInnerClass

      public void setInnerClass(boolean isInnerClass)
      Parameters:
      isInnerClass - Whether this is an inner class or not
    • setPackageDeclaration

      public void setPackageDeclaration(JavaPackageDeclaration packageDeclaration)
      Parameters:
      packageDeclaration - The package declaration of the class
    • setPackageName

      public void setPackageName(String packageName)
      Parameters:
      packageName - The package name of the class, which gets put in a JavaPackageDeclaration
    • addImportStatement

      public void addImportStatement(JavaImportStatement importStatement)
      Parameters:
      importStatement - An import statement of this class to be added
    • addImportStatements

      public void addImportStatements(List<JavaImportStatement> importStatements)
      Parameters:
      importStatements - import statements of this class to be added
    • setImportStatements

      public void setImportStatements(List<JavaImportStatement> importStatements)
      Parameters:
      importStatements - The import statements of this class
    • addImportName

      public void addImportName(String importName, boolean isStatic)
      Parameters:
      importName - The name of an import to add to the class (becomes a JavaImportStatement)
      isStatic - Whether the import is static or not
    • addImportNames

      public void addImportNames(List<String> importNames, boolean isStatic)
      Parameters:
      importNames - The names of imports to add to the class (become import statements)
      isStatic - Whether the imports are static or not
    • setImportNames

      public void setImportNames(List<String> importNames, boolean isStatic)
      Parameters:
      importNames - The import names to set as the only imports on the class (they become import statements)
      isStatic - Whether the imports are static or not
    • setJavadoc

      public void setJavadoc(Javadoc javadoc)
      Parameters:
      javadoc - The Javadoc for the class
    • addAnnotation

      public void addAnnotation(JavaAnnotation annotation)
      Parameters:
      annotation - An annotation to be added to the class - must be editable
    • addAnnotations

      public void addAnnotations(List<JavaAnnotation> annotations)
      Parameters:
      annotations - annotations to be added to the class - must be editable
    • setAnnotations

      public void setAnnotations(List<JavaAnnotation> annotations)
      Parameters:
      annotations - The annotations on the class - must be editable
    • setVisibility

      public void setVisibility(Visibility visibility)
      Parameters:
      visibility - The Visibility of the class
    • setAbstract

      public void setAbstract(boolean isAbstract)
      Parameters:
      isAbstract - Whether this is an abstract class or not
    • setStatic

      public void setStatic(boolean isStatic)
      Parameters:
      isStatic - Whether this is a static class or not
    • setFinal

      public void setFinal(boolean isFinal)
      Parameters:
      isFinal - Whether this is a final class or not
    • setClassName

      public void setClassName(String className)
      Parameters:
      className - The name of the class
    • setSuperClassName

      public void setSuperClassName(String superClassName)
      Parameters:
      superClassName - The name of the class this one extends (may be null)
    • addImplementsInterfaceName

      public void addImplementsInterfaceName(String implementsInterfaceName)
      Parameters:
      implementsInterfaceName - The name of an interface this class implements
    • addImplementsInterfaceNames

      public void addImplementsInterfaceNames(List<String> implementsInterfaceNames)
      Parameters:
      implementsInterfaceNames - The names of interfaces this class implements
    • setImplementsInterfaceNames

      public void setImplementsInterfaceNames(List<String> implementsInterfaceNames)
      Parameters:
      implementsInterfaceNames - The names of interfaces this class implements
    • addSingleLineComment

      public void addSingleLineComment(JavaSingleLineComment singleLineComment)
      Parameters:
      singleLineComment - A single-line comment to be added inside the class - must be editable
    • addSingleLineComments

      public void addSingleLineComments(List<JavaSingleLineComment> singleLineComments)
      Parameters:
      singleLineComments - single-line comments to be added inside the class - must be editable
    • setSingleLineComments

      public void setSingleLineComments(List<JavaSingleLineComment> singleLineComments)
      Parameters:
      singleLineComments - single-line comments inside the class - must be editable
    • addMultiLineComment

      public void addMultiLineComment(JavaMultiLineComment multiLineComment)
      Parameters:
      multiLineComment - A multi-line comment to be added inside the class - must be editable
    • addMultiLineComments

      public void addMultiLineComments(List<JavaMultiLineComment> multiLineComments)
      Parameters:
      multiLineComments - multi-line comments to be added inside the class - must be editable
    • setMultiLineComments

      public void setMultiLineComments(List<JavaMultiLineComment> multiLineComments)
      Parameters:
      multiLineComments - multi-line comments inside the class - must be editable
    • addInnerClass

      public void addInnerClass(JavaClass innerClass)
      Parameters:
      innerClass - An inner class to be added inside the class - must be editable
    • addInnerClasses

      public void addInnerClasses(List<JavaClass> innerClasses)
      Parameters:
      innerClasses - Inner classes to be added inside the class - must be editable
    • setInnerClasses

      public void setInnerClasses(List<JavaClass> innerClasses)
      Parameters:
      innerClasses - Inner classes inside the class - must be editable
    • addField

      public void addField(JavaField field)
      Parameters:
      field - A field to be added to the class - must be editable
    • addFields

      public void addFields(List<JavaField> fields)
      Parameters:
      fields - fields to be added to the class - must be editable
    • setFields

      public void setFields(List<JavaField> fields)
      Parameters:
      fields - The fields on the class - must be editable
    • addMethod

      public void addMethod(JavaMethod method)
      Parameters:
      method - A method to add to the class - must be editable
    • addMethods

      public void addMethods(List<JavaMethod> methods)
      Parameters:
      methods - methods to add to the class - must be editable
    • setMethods

      public void setMethods(List<JavaMethod> methods)
      Parameters:
      methods - The methods in the class - must be editable
    • setInnerElementsOrder

      public void setInnerElementsOrder(List<com.github.tadukoo.util.tuple.Pair<JavaCodeTypes,String>> innerElementsOrder)
      Parameters:
      innerElementsOrder - The order of the elements inside the class