Class ClassBuilderInfo


  • public class ClassBuilderInfo
    extends java.lang.Object
    Helper to create Java class/interface files with proper formatting.
    Since:
    v3.0.1 - 2018-12-22
    • Field Detail

      • imports

        private final java.util.Set<java.lang.String> imports
        Imported files for this class.
      • implementedInterfaces

        private final java.util.Set<java.lang.String> implementedInterfaces
        Interfaces implemented by this class.
      • innerClasses

        private final java.util.List<ClassBuilderInfo> innerClasses
        Inner classes inside of this class.
      • className

        private java.lang.String className
        Name of this class.
      • packageName

        private java.lang.String packageName
        Package of this class.
      • dbusPackageName

        private java.lang.String dbusPackageName
        Package name used by DBus.
      • extendClass

        private java.lang.String extendClass
        Class which this class may extend.
    • Constructor Detail

      • ClassBuilderInfo

        public ClassBuilderInfo()
    • Method Detail

      • getImports

        public java.util.Set<java.lang.String> getImports()
      • getPackageName

        public java.lang.String getPackageName()
      • setPackageName

        public void setPackageName​(java.lang.String _packageName)
      • getDbusPackageName

        public java.lang.String getDbusPackageName()
      • setDbusPackageName

        public void setDbusPackageName​(java.lang.String _dbusPackageName)
      • getClassName

        public java.lang.String getClassName()
      • setClassName

        public void setClassName​(java.lang.String _className)
      • getImplementedInterfaces

        public java.util.Set<java.lang.String> getImplementedInterfaces()
      • getExtendClass

        public java.lang.String getExtendClass()
      • setExtendClass

        public void setExtendClass​(java.lang.String _extendClass)
      • createClassFileContent

        public java.lang.String createClassFileContent()
        Create the Java source for the class information provided.
        Returns:
        String
      • createClassFileContent

        private java.util.List<java.lang.String> createClassFileContent​(boolean _staticClass,
                                                                        java.util.Set<java.lang.String> _otherImports)
        Create the Java source for the class information provided.
        Parameters:
        _staticClass - this is static inner class
        _otherImports - this class needs additional imports (e.g. due to inner class)
        Returns:
      • getFileName

        public java.lang.String getFileName()
        Create the filename with path this java class should use.
        Returns:
        String, null if class name was null
      • getFqcn

        public java.lang.String getFqcn()
        Creates the fully qualified classname based on the provided classname and package.
        Returns:
        String
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getClassName

        static java.lang.String getClassName​(java.lang.String _fqcn)
        Extract the class name from a given FQCN (fully qualified classname).
        Parameters:
        _fqcn - fqcn to analyze
        Returns:
        classname, null if input was null
      • getSimpleTypeClasses

        static java.lang.String getSimpleTypeClasses​(java.lang.String _type)
        Simplify class names in the type. Please go to unit tests for usage examples.
        Parameters:
        _type - type described in the string format
        Returns:
        type with simplified class names
      • getImportsForType

        static java.util.Set<java.lang.String> getImportsForType​(java.lang.String _type)
        Get all classes that should be imported for the input type, this method works fine with generic types. Please go to unit tests for usage examples.
        Parameters:
        _type - type described in the string format
        Returns:
        set of classes required for imports