public static final class TypeSpec.Builder
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
java.util.Set<java.lang.String> |
alwaysQualifiedNames |
java.util.List<AnnotationSpec> |
annotations |
java.util.Map<java.lang.String,TypeSpec> |
enumConstants |
java.util.List<FieldSpec> |
fieldSpecs |
java.util.List<MethodSpec> |
methodSpecs |
java.util.List<javax.lang.model.element.Modifier> |
modifiers |
java.util.List<javax.lang.model.element.Element> |
originatingElements |
java.util.List<TypeName> |
superinterfaces |
java.util.List<TypeSpec> |
typeSpecs |
java.util.List<TypeVariableName> |
typeVariables |
Modifier and Type | Method and Description |
---|---|
TypeSpec.Builder |
addAnnotation(AnnotationSpec annotationSpec) |
TypeSpec.Builder |
addAnnotation(java.lang.Class<?> annotation) |
TypeSpec.Builder |
addAnnotation(ClassName annotation) |
TypeSpec.Builder |
addAnnotations(java.lang.Iterable<AnnotationSpec> annotationSpecs) |
TypeSpec.Builder |
addEnumConstant(java.lang.String name) |
TypeSpec.Builder |
addEnumConstant(java.lang.String name,
TypeSpec typeSpec) |
TypeSpec.Builder |
addField(FieldSpec fieldSpec) |
TypeSpec.Builder |
addField(TypeName type,
java.lang.String name,
javax.lang.model.element.Modifier... modifiers) |
TypeSpec.Builder |
addField(java.lang.reflect.Type type,
java.lang.String name,
javax.lang.model.element.Modifier... modifiers) |
TypeSpec.Builder |
addFields(java.lang.Iterable<FieldSpec> fieldSpecs) |
TypeSpec.Builder |
addInitializerBlock(CodeBlock block) |
TypeSpec.Builder |
addJavadoc(CodeBlock block) |
TypeSpec.Builder |
addJavadoc(java.lang.String format,
java.lang.Object... args) |
TypeSpec.Builder |
addMethod(MethodSpec methodSpec) |
TypeSpec.Builder |
addMethods(java.lang.Iterable<MethodSpec> methodSpecs) |
TypeSpec.Builder |
addModifiers(javax.lang.model.element.Modifier... modifiers) |
TypeSpec.Builder |
addOriginatingElement(javax.lang.model.element.Element originatingElement) |
TypeSpec.Builder |
addStaticBlock(CodeBlock block) |
TypeSpec.Builder |
addSuperinterface(java.lang.reflect.Type superinterface) |
TypeSpec.Builder |
addSuperinterface(java.lang.reflect.Type superinterface,
boolean avoidNestedTypeNameClashes) |
TypeSpec.Builder |
addSuperinterface(javax.lang.model.type.TypeMirror superinterface) |
TypeSpec.Builder |
addSuperinterface(javax.lang.model.type.TypeMirror superinterface,
boolean avoidNestedTypeNameClashes) |
TypeSpec.Builder |
addSuperinterface(TypeName superinterface) |
TypeSpec.Builder |
addSuperinterfaces(java.lang.Iterable<? extends TypeName> superinterfaces) |
TypeSpec.Builder |
addType(TypeSpec typeSpec) |
TypeSpec.Builder |
addTypes(java.lang.Iterable<TypeSpec> typeSpecs) |
TypeSpec.Builder |
addTypeVariable(TypeVariableName typeVariable) |
TypeSpec.Builder |
addTypeVariables(java.lang.Iterable<TypeVariableName> typeVariables) |
TypeSpec.Builder |
alwaysQualify(java.lang.String... simpleNames) |
TypeSpec.Builder |
avoidClashesWithNestedClasses(java.lang.Class<?> clazz)
Call this to always fully qualify any types that would conflict with possibly nested types of
this
typeElement . |
TypeSpec.Builder |
avoidClashesWithNestedClasses(javax.lang.model.element.TypeElement typeElement)
Call this to always fully qualify any types that would conflict with possibly nested types of
this
typeElement . |
TypeSpec |
build() |
TypeSpec.Builder |
superclass(java.lang.reflect.Type superclass) |
TypeSpec.Builder |
superclass(java.lang.reflect.Type superclass,
boolean avoidNestedTypeNameClashes) |
TypeSpec.Builder |
superclass(javax.lang.model.type.TypeMirror superclass) |
TypeSpec.Builder |
superclass(javax.lang.model.type.TypeMirror superclass,
boolean avoidNestedTypeNameClashes) |
TypeSpec.Builder |
superclass(TypeName superclass) |
public final java.util.Map<java.lang.String,TypeSpec> enumConstants
public final java.util.List<AnnotationSpec> annotations
public final java.util.List<javax.lang.model.element.Modifier> modifiers
public final java.util.List<TypeVariableName> typeVariables
public final java.util.List<TypeName> superinterfaces
public final java.util.List<FieldSpec> fieldSpecs
public final java.util.List<MethodSpec> methodSpecs
public final java.util.List<TypeSpec> typeSpecs
public final java.util.List<javax.lang.model.element.Element> originatingElements
public final java.util.Set<java.lang.String> alwaysQualifiedNames
public TypeSpec.Builder addJavadoc(java.lang.String format, java.lang.Object... args)
public TypeSpec.Builder addJavadoc(CodeBlock block)
public TypeSpec.Builder addAnnotations(java.lang.Iterable<AnnotationSpec> annotationSpecs)
public TypeSpec.Builder addAnnotation(AnnotationSpec annotationSpec)
public TypeSpec.Builder addAnnotation(ClassName annotation)
public TypeSpec.Builder addAnnotation(java.lang.Class<?> annotation)
public TypeSpec.Builder addModifiers(javax.lang.model.element.Modifier... modifiers)
public TypeSpec.Builder addTypeVariables(java.lang.Iterable<TypeVariableName> typeVariables)
public TypeSpec.Builder addTypeVariable(TypeVariableName typeVariable)
public TypeSpec.Builder superclass(TypeName superclass)
public TypeSpec.Builder superclass(java.lang.reflect.Type superclass)
public TypeSpec.Builder superclass(java.lang.reflect.Type superclass, boolean avoidNestedTypeNameClashes)
public TypeSpec.Builder superclass(javax.lang.model.type.TypeMirror superclass)
public TypeSpec.Builder superclass(javax.lang.model.type.TypeMirror superclass, boolean avoidNestedTypeNameClashes)
public TypeSpec.Builder addSuperinterfaces(java.lang.Iterable<? extends TypeName> superinterfaces)
public TypeSpec.Builder addSuperinterface(TypeName superinterface)
public TypeSpec.Builder addSuperinterface(java.lang.reflect.Type superinterface)
public TypeSpec.Builder addSuperinterface(java.lang.reflect.Type superinterface, boolean avoidNestedTypeNameClashes)
public TypeSpec.Builder addSuperinterface(javax.lang.model.type.TypeMirror superinterface)
public TypeSpec.Builder addSuperinterface(javax.lang.model.type.TypeMirror superinterface, boolean avoidNestedTypeNameClashes)
public TypeSpec.Builder addEnumConstant(java.lang.String name)
public TypeSpec.Builder addEnumConstant(java.lang.String name, TypeSpec typeSpec)
public TypeSpec.Builder addFields(java.lang.Iterable<FieldSpec> fieldSpecs)
public TypeSpec.Builder addField(FieldSpec fieldSpec)
public TypeSpec.Builder addField(TypeName type, java.lang.String name, javax.lang.model.element.Modifier... modifiers)
public TypeSpec.Builder addField(java.lang.reflect.Type type, java.lang.String name, javax.lang.model.element.Modifier... modifiers)
public TypeSpec.Builder addStaticBlock(CodeBlock block)
public TypeSpec.Builder addInitializerBlock(CodeBlock block)
public TypeSpec.Builder addMethods(java.lang.Iterable<MethodSpec> methodSpecs)
public TypeSpec.Builder addMethod(MethodSpec methodSpec)
public TypeSpec.Builder addTypes(java.lang.Iterable<TypeSpec> typeSpecs)
public TypeSpec.Builder addType(TypeSpec typeSpec)
public TypeSpec.Builder addOriginatingElement(javax.lang.model.element.Element originatingElement)
public TypeSpec.Builder alwaysQualify(java.lang.String... simpleNames)
public TypeSpec.Builder avoidClashesWithNestedClasses(javax.lang.model.element.TypeElement typeElement)
typeElement
. For example - if the following type was passed in as the
typeElement:
class Foo {
class NestedTypeA {
}
class NestedTypeB {
}
}
Then this would add "NestedTypeA"
and "NestedTypeB"
as names that should
always be qualified via alwaysQualify(String...)
. This way they would avoid
possible import conflicts when this JavaFile is written.
typeElement
- the TypeElement
with nested types to avoid clashes with.public TypeSpec.Builder avoidClashesWithNestedClasses(java.lang.Class<?> clazz)
typeElement
. For example - if the following type was passed in as the
typeElement:
class Foo {
class NestedTypeA {
}
class NestedTypeB {
}
}
Then this would add "NestedTypeA"
and "NestedTypeB"
as names that should
always be qualified via alwaysQualify(String...)
. This way they would avoid
possible import conflicts when this JavaFile is written.
clazz
- the Class
with nested types to avoid clashes with.public TypeSpec build()
Copyright © 2020 Square, Inc.. All Rights Reserved.