public abstract class Datatype
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Datatype.Builder
Builder for
Datatype. |
static class |
Datatype.StandardMethod
Standard Java methods that may be underridden.
|
static class |
Datatype.UnderrideLevel
How compulsory the underride is.
|
static class |
Datatype.Visibility |
| Constructor and Description |
|---|
Datatype() |
| Modifier and Type | Method and Description |
|---|---|
abstract Type |
getBuilder()
Returns the builder type that users will see.
|
abstract java.util.Optional<BuilderFactory> |
getBuilderFactory()
Returns the builder factory mechanism the user has exposed, if any.
|
abstract TypeClass |
getGeneratedBuilder()
Returns the builder class that should be generated.
|
abstract com.google.common.collect.ImmutableList<Excerpt> |
getGeneratedBuilderAnnotations()
Returns a list of annotations that should be applied to the generated builder class.
|
abstract boolean |
getHasToBuilderMethod()
Returns whether the value type has a toBuilder method that needs to be generated.
|
abstract com.google.common.collect.ImmutableList<Excerpt> |
getNestedClasses()
Returns a list of nested classes that should be added to the generated builder class.
|
abstract TypeClass |
getPartialType()
Returns the partial value class that should be generated.
|
abstract TypeClass |
getPropertyEnum()
Returns the Property enum that may be generated.
|
abstract com.google.common.collect.ImmutableMap<Datatype.StandardMethod,Datatype.UnderrideLevel> |
getStandardMethodUnderrides() |
abstract TypeClass |
getType()
Returns the type itself.
|
abstract TypeClass |
getValueType()
Returns the value class that should be generated.
|
abstract com.google.common.collect.ImmutableList<Excerpt> |
getValueTypeAnnotations()
Returns a list of annotations that should be applied to the generated value class.
|
abstract Datatype.Visibility |
getValueTypeVisibility()
Returns the visibility of the generated value class.
|
abstract boolean |
isBuilderSerializable()
Returns whether the builder type should be serializable.
|
abstract boolean |
isExtensible()
Whether there is a package-visible, no-args constructor so we can subclass the Builder.
|
abstract boolean |
isInterfaceType()
Returns true if the type is an interface.
|
Datatype.UnderrideLevel |
standardMethodUnderride(Datatype.StandardMethod standardMethod) |
Datatype.Builder |
toBuilder() |
public abstract TypeClass getType()
public abstract boolean isInterfaceType()
public abstract Type getBuilder()
java.lang.IllegalStateException - if #hasBuilder returns false.public abstract boolean isExtensible()
public abstract java.util.Optional<BuilderFactory> getBuilderFactory()
public abstract TypeClass getGeneratedBuilder()
public abstract TypeClass getValueType()
public abstract TypeClass getPartialType()
public abstract TypeClass getPropertyEnum()
public Datatype.UnderrideLevel standardMethodUnderride(Datatype.StandardMethod standardMethod)
public abstract com.google.common.collect.ImmutableMap<Datatype.StandardMethod,Datatype.UnderrideLevel> getStandardMethodUnderrides()
public abstract boolean isBuilderSerializable()
public abstract boolean getHasToBuilderMethod()
public abstract com.google.common.collect.ImmutableList<Excerpt> getGeneratedBuilderAnnotations()
public abstract com.google.common.collect.ImmutableList<Excerpt> getValueTypeAnnotations()
public abstract Datatype.Visibility getValueTypeVisibility()
public abstract com.google.common.collect.ImmutableList<Excerpt> getNestedClasses()
public Datatype.Builder toBuilder()