Object KotlinCodeGeneration
-
- All Implemented Interfaces:
public class KotlinCodeGeneration
Kotlin Code Generation is a wrapper lib for kotlin poet. This is the central class that allows access to builders and tools via simple static helpers.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public class
KotlinCodeGeneration.builder
Static access for all builders.
public class
KotlinCodeGeneration.spi
Static to spi.
public class
KotlinCodeGeneration.typeSpec
TypeSpec helpers.
public class
KotlinCodeGeneration.name
public class
KotlinCodeGeneration.format
Constants for kotlin-poet formats.
-
Field Summary
Fields Modifier and Type Field Description public final static KotlinCodeGeneration
INSTANCE
-
Method Summary
-
-
Method Detail
-
buildAnnotation
final KotlinAnnotationSpec buildAnnotation(KClass<?> type, Function1<KotlinAnnotationSpecBuilder, Unit> block)
Build a KotlinAnnotationSpec using given type and receiver fn.
-
buildAnnotation
final KotlinAnnotationSpec buildAnnotation(ClassName className, Function1<KotlinAnnotationSpecBuilder, Unit> block)
Build a KotlinAnnotationSpec using given className and receiver fn.
-
buildAnnotationClass
final KotlinAnnotationClassSpec buildAnnotationClass(ClassName className, Function1<KotlinAnnotationClassSpecBuilder, Unit> block)
Build a KotlinAnnotationClassSpec using given className and receiver fn.
-
buildAnnotationClass
final KotlinAnnotationClassSpec buildAnnotationClass(String packageName, String simpleName, Function1<KotlinAnnotationClassSpecBuilder, Unit> block)
Build a KotlinAnnotationClassSpec using given package- and simpleName and receiver fn.
-
buildAnonymousClass
final KotlinAnonymousClassSpec buildAnonymousClass(Function1<KotlinAnonymousClassSpecBuilder, Unit> block)
Build a KotlinAnonymousClassSpec using given receiver fn.
-
buildClass
final KotlinClassSpec buildClass(ClassName className, Function1<KotlinClassSpecBuilder, Unit> block)
Build a KotlinClassSpec using given className and receiver fn.
-
buildClass
final KotlinClassSpec buildClass(String packageName, String simpleName, Function1<KotlinClassSpecBuilder, Unit> block)
Build a KotlinClassSpec using given package- and simpleName and receiver fn.
-
buildDelegateListValueClass
final KotlinValueClassSpec buildDelegateListValueClass(String packageName, String simpleName, KClass<?> items, Function1<DelegateListValueClassSpecBuilder, Unit> block)
-
buildDelegateListValueClass
final KotlinValueClassSpec buildDelegateListValueClass(String packageName, String simpleName, TypeName items, Function1<DelegateListValueClassSpecBuilder, Unit> block)
-
buildDelegateListValueClass
final KotlinValueClassSpec buildDelegateListValueClass(ClassName className, TypeName items, Function1<DelegateListValueClassSpecBuilder, Unit> block)
-
buildDelegateMapValueClass
final KotlinValueClassSpec buildDelegateMapValueClass(String packageName, String simpleName, TypeName keyType, TypeName valueType, Function1<DelegateMapValueClassSpecBuilder, Unit> block)
-
buildDelegateMapValueClass
final KotlinValueClassSpec buildDelegateMapValueClass(ClassName className, TypeName keyType, TypeName valueType, Function1<DelegateMapValueClassSpecBuilder, Unit> block)
-
buildRuntimeExceptionClass
final KotlinClassSpec buildRuntimeExceptionClass(String packageName, String simpleName, Function1<RuntimeExceptionSpecBuilder, Unit> block)
-
buildRuntimeExceptionClass
final KotlinClassSpec buildRuntimeExceptionClass(ClassName className, Function1<RuntimeExceptionSpecBuilder, Unit> block)
-
buildCodeBlock
final CodeBlock buildCodeBlock(String format, Object args)
-
buildCodeBlock
final CodeBlock buildCodeBlock(Function1<CodeBlock.Builder, Unit> block)
Build codeBlock using receiver-fn.
-
buildCompanionObject
final KotlinCompanionObjectSpec buildCompanionObject(String name, Function1<KotlinCompanionObjectSpecBuilder, Unit> block)
Build KotlinCompanionObjectSpec using optional name and receiver fn.
-
buildConstructorProperty
final KotlinConstructorPropertySpec buildConstructorProperty(String name, TypeName type, Function1<KotlinConstructorPropertySpecBuilder, Unit> block)
-
buildConstructorProperty
final KotlinConstructorPropertySpec buildConstructorProperty(String name, KClass<?> type, Function1<KotlinConstructorPropertySpecBuilder, Unit> block)
-
buildDataClass
final KotlinDataClassSpec buildDataClass(ClassName className, Function1<KotlinDataClassSpecBuilder, Unit> block)
Build KotlinDataClassSpec.
-
buildDataClass
final KotlinDataClassSpec buildDataClass(String packageName, String simpleName, Function1<KotlinDataClassSpecBuilder, Unit> block)
Build KotlinDataClassSpec.
-
buildEnumClass
final KotlinEnumClassSpec buildEnumClass(ClassName className, Function1<KotlinEnumClassSpecBuilder, Unit> block)
Build KotlinEnumClassSpec.
-
buildEnumClass
final KotlinEnumClassSpec buildEnumClass(String packageName, String simpleName, Function1<KotlinEnumClassSpecBuilder, Unit> block)
Build KotlinEnumClassSpec.
-
buildFile
final KotlinFileSpec buildFile(ClassName className, Function1<KotlinFileSpecBuilder, Unit> block)
Build KotlinFileSpec.
-
buildFile
final KotlinFileSpec buildFile(String packageName, String simpleName, Function1<KotlinFileSpecBuilder, Unit> block)
Build KotlinFileSpec.
-
buildFun
final KotlinFunSpec buildFun(String name, Function1<KotlinFunSpecBuilder, Unit> block)
Build KotlinFunSpec.
-
buildInterface
final KotlinInterfaceSpec buildInterface(ClassName className, Function1<KotlinInterfaceSpecBuilder, Unit> block)
Build KotlinInterfaceSpec.
-
buildInterface
final KotlinInterfaceSpec buildInterface(String packageName, String simpleName, Function1<KotlinInterfaceSpecBuilder, Unit> block)
Build KotlinInterfaceSpec.
-
buildObject
final KotlinObjectSpec buildObject(ClassName className, Function1<KotlinObjectSpecBuilder, Unit> block)
Build KotlinObjectSpec.
-
buildObject
final KotlinObjectSpec buildObject(String packageName, String simpleName, Function1<KotlinObjectSpecBuilder, Unit> block)
Build KotlinObjectSpec.
-
buildParameter
final KotlinParameterSpec buildParameter(String name, TypeName typeName, Function1<KotlinParameterSpecBuilder, Unit> block)
Build KotlinParameterSpec.
-
buildParameter
final KotlinParameterSpec buildParameter(String name, KClass<?> type, Function1<KotlinParameterSpecBuilder, Unit> block)
Build KotlinParameterSpec.
-
buildProperty
final KotlinPropertySpec buildProperty(String name, TypeName typeName, Function1<KotlinPropertySpecBuilder, Unit> block)
Build KotlinPropertySpec.
-
buildProperty
final KotlinPropertySpec buildProperty(String name, KClass<?> type, Function1<KotlinPropertySpecBuilder, Unit> block)
Build KotlinPropertySpec.
-
buildTypeAlias
final KotlinTypeAliasSpec buildTypeAlias(String name, TypeName type, Function1<KotlinTypeAliasSpecBuilder, Unit> block)
Build KotlinTypeAliasSpec.
-
buildValueClass
final KotlinValueClassSpec buildValueClass(ClassName className, Function1<KotlinValueClassSpecBuilder, Unit> block)
Build KotlinValueClassSpec.
-
buildValueClass
final KotlinValueClassSpec buildValueClass(String packageName, String simpleName, Function1<KotlinValueClassSpecBuilder, Unit> block)
Build KotlinValueClassSpec.
-
className
final ClassName className(String packageName, String simpleName)
Create ClassName for given package and simpleName.
-
simpleClassName
final ClassName simpleClassName(String simpleName)
Create ClassName with default packageName.
-
generateFiles
final <CONTEXT extends KotlinCodeGenerationContext<CONTEXT>, INPUT extends Any> KotlinFileSpecList generateFiles(KotlinCodeGenerationContextFactory<CONTEXT, INPUT> contextFactory, INPUT input)
Generator Function that takes a context and an input, finds matching strategies and generates source file(s).
Invokes the contextFactory and calls
generateFiles(context, input)
.- Parameters:
contextFactory
- factory fn to create the context (containing the spi registry) used for generation from inputinput
- the instance of the input- Returns:
KotlinFileSpecList containing the generated files
-
generateFiles
final <CONTEXT extends KotlinCodeGenerationContext<CONTEXT>, INPUT extends Any> KotlinFileSpecList generateFiles(CONTEXT context, INPUT input)
Generator Function that takes a context and an input, finds matching strategies and generates source file(s).
- Parameters:
context
- the context (containing the spi registry) used for generationinput
- the instance of the input- Returns:
KotlinFileSpecList containing the generated files
-
-
-
-