Class ClassBuilderInfo
- java.lang.Object
-
- org.freedesktop.dbus.utils.generator.ClassBuilderInfo
-
public class ClassBuilderInfo extends java.lang.ObjectHelper to create Java class/interface files with proper formatting.- Since:
- v3.0.1 - 2018-12-22
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classClassBuilderInfo.AnnotationInfoContains information about annotation to place on classes, members or methods.static classClassBuilderInfo.ClassConstructorPojo which represents a class constructor.static classClassBuilderInfo.ClassMethodPojo which represents a class method.static classClassBuilderInfo.ClassTypeEnum to define either theClassBuilderInfois for a CLASS or an INTERFACE.static classClassBuilderInfo.MemberOrArgumentPojo which represents a class member/field or argument.
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<ClassBuilderInfo.AnnotationInfo>annotationsAnnotations of this class.private java.lang.StringclassNameName of this class.private ClassBuilderInfo.ClassTypeclassTypeType of this class (interface or class).private java.util.List<ClassBuilderInfo.ClassConstructor>constructorsConstructors for this class.private java.lang.StringdbusPackageNamePackage name used by DBus.private java.lang.StringextendClassClass which this class may extend.private java.util.Set<java.lang.String>implementedInterfacesInterfaces implemented by this class.private java.util.Set<java.lang.String>importsImported files for this class.private java.util.List<ClassBuilderInfo>innerClassesInner classes inside of this class.private java.util.List<ClassBuilderInfo.MemberOrArgument>membersMembers/Fields of this class.private java.util.List<ClassBuilderInfo.ClassMethod>methodsMethods provided by this class.private java.lang.StringpackageNamePackage of this class.
-
Constructor Summary
Constructors Constructor Description ClassBuilderInfo()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringcreateClassFileContent()Create the Java source for the class information provided.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.java.util.List<ClassBuilderInfo.AnnotationInfo>getAnnotations()java.lang.StringgetClassName()(package private) static java.lang.StringgetClassName(java.lang.String _fqcn)Extract the class name from a given FQCN (fully qualified classname).ClassBuilderInfo.ClassTypegetClassType()java.util.List<ClassBuilderInfo.ClassConstructor>getConstructors()java.lang.StringgetDbusPackageName()java.lang.StringgetExtendClass()java.lang.StringgetFileName()Create the filename with path this java class should use.java.lang.StringgetFqcn()Creates the fully qualified classname based on the provided classname and package.java.util.Set<java.lang.String>getImplementedInterfaces()java.util.Set<java.lang.String>getImports()(package private) 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.java.util.List<ClassBuilderInfo>getInnerClasses()java.util.List<ClassBuilderInfo.MemberOrArgument>getMembers()java.util.List<ClassBuilderInfo.ClassMethod>getMethods()java.lang.StringgetPackageName()(package private) static java.lang.StringgetSimpleTypeClasses(java.lang.String _type)Simplify class names in the type.voidsetClassName(java.lang.String _className)voidsetClassType(ClassBuilderInfo.ClassType _classType)voidsetDbusPackageName(java.lang.String _dbusPackageName)voidsetExtendClass(java.lang.String _extendClass)voidsetPackageName(java.lang.String _packageName)java.lang.StringtoString()
-
-
-
Field Detail
-
imports
private final java.util.Set<java.lang.String> imports
Imported files for this class.
-
annotations
private final java.util.List<ClassBuilderInfo.AnnotationInfo> annotations
Annotations of this class.
-
members
private final java.util.List<ClassBuilderInfo.MemberOrArgument> members
Members/Fields of this class.
-
implementedInterfaces
private final java.util.Set<java.lang.String> implementedInterfaces
Interfaces implemented by this class.
-
methods
private final java.util.List<ClassBuilderInfo.ClassMethod> methods
Methods provided by this class.
-
innerClasses
private final java.util.List<ClassBuilderInfo> innerClasses
Inner classes inside of this class.
-
constructors
private final java.util.List<ClassBuilderInfo.ClassConstructor> constructors
Constructors for 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.
-
classType
private ClassBuilderInfo.ClassType classType
Type of this class (interface or class).
-
extendClass
private java.lang.String extendClass
Class which this class may extend.
-
-
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)
-
getClassType
public ClassBuilderInfo.ClassType getClassType()
-
setClassType
public void setClassType(ClassBuilderInfo.ClassType _classType)
-
getAnnotations
public java.util.List<ClassBuilderInfo.AnnotationInfo> getAnnotations()
-
getImplementedInterfaces
public java.util.Set<java.lang.String> getImplementedInterfaces()
-
getExtendClass
public java.lang.String getExtendClass()
-
setExtendClass
public void setExtendClass(java.lang.String _extendClass)
-
getMethods
public java.util.List<ClassBuilderInfo.ClassMethod> getMethods()
-
getMembers
public java.util.List<ClassBuilderInfo.MemberOrArgument> getMembers()
-
getInnerClasses
public java.util.List<ClassBuilderInfo> getInnerClasses()
-
getConstructors
public java.util.List<ClassBuilderInfo.ClassConstructor> getConstructors()
-
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:
toStringin classjava.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
-
-