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 NameAndVisibility |
getBuildMethod()
Returns the build method to be generated.
|
abstract NameAndVisibility |
getBuildPartialMethod()
Returns the partial build method to be generated.
|
abstract NameAndVisibility |
getClearMethod()
Returns the clear method to be generated.
|
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 NameAndVisibility |
getMergeFromBuilderMethod()
Returns the mergeFrom(Builder) method to be generated.
|
abstract NameAndVisibility |
getMergeFromValueMethod()
Returns the mergeFrom(Value) method 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 java.util.Optional<TypeClass> |
getRebuildableType()
Returns the Rebuildable interface that should be generated, if any.
|
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()
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 java.util.Optional<TypeClass> getRebuildableType()
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 NameAndVisibility getBuildMethod()
public abstract NameAndVisibility getBuildPartialMethod()
public abstract NameAndVisibility getClearMethod()
public abstract NameAndVisibility getMergeFromBuilderMethod()
public abstract NameAndVisibility getMergeFromValueMethod()
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()