All Classes and Interfaces
Class
Description
Extend this abstract processor to properly initalize and call templates.
Abstract template to be (optionally) extended by classes which are annotated
by @
Generator.TemplateGroups typedefs and useful utilities.
AccessibleFieldsMirror used to parse data of AnnotationMirror for original annotation
org.immutables.builder.Builder.AccessibleFields
during annotation processing.AstMirror used to parse data of AnnotationMirror for original annotation
org.immutables.trees.Trees.Ast
during annotation processing.API for the template to use.
Reflects over the returnType and generates strings for the
AttributeBuilderDescriptorStrategy for processing first party immutables.
Allows for different mechanisms of discovering nested builders.
Strategy for parsing third party immutables.
AuxiliaryMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Auxiliary
during annotation processing.BindParamsMirror used to parse data of AnnotationMirror for original annotation
org.immutables.func.Functional.BindParameters
during annotation processing.This umbrella annotation does nothing.
Annotate nested static builder to get access to the builder's fields to avoid building the
entire
object.
The same as
Builder.Factory, but for constructors rather than static methods.Annotate static factory methods that produce some value (non-void, non-private) to create
builder out of constructor parameters.
Factory method parameter might be turned into builder parameter using this annotation.
Applicable only to enum parameters, this annotation turns parameters into switcher methods on
builder.
BuilderMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Builder
during annotation processing.BuildMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Build
during annotation processing.Built-in operations, functions and accessors.
Some annotation processors have
javax.lang.model being implemented using relatively
expensive conversions from internal model.Provides classes (and not just class names) of the call stack.
ChainMirror used to parse data of AnnotationMirror for original annotation
org.immutables.cases.Cases.Chain
during annotation processing.Convenient wrappers for matcher checking, designed for better code assist(completion) and
discoverability for most commonly used matchers.
CheckMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Check
during annotation processing.The Class ClasspathFence.
CopyMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Copy
during annotation processing.CriteriaIdMirror used to parse data of AnnotationMirror for original annotation
org.immutables.criteria.Criteria.Id
during annotation processing.CriteriaMirror used to parse data of AnnotationMirror for original annotation
org.immutables.criteria.Criteria
during annotation processing.Creates several matchers programmatically based on
ValueAttribute.Composite matcher for containers like Iterable / Map / Optional / @Nullable
CriteriaRepositoryMirror used to parse data of AnnotationMirror for original annotation
org.immutables.criteria.Criteria.Repository
during annotation processing.This data element should be ignored during reading and writing the data.
Marks that the type is strongly typed alias (newtype) for the other type it wraps.
DataIgnoreMirror used to parse data of AnnotationMirror for original annotation
org.immutables.data.Data.Ignore
during annotation processing.DataInlineMirror used to parse data of AnnotationMirror for original annotation
org.immutables.data.Data.Inline
during annotation processing.DataMirror used to parse data of AnnotationMirror for original annotation
org.immutables.data.Data
during annotation processing.DefaultMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Default
during annotation processing.For special cases where we might receive non-native wrapped element,
which we have to defensively unwrap to underlying native object
DepluralizeMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Style.Depluralize
during annotation processing.DerivedMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Derived
during annotation processing.For javadoc only.
EncElementMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.EncodingMetadata.Element
during annotation processing.EnclosingMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Enclosing
during annotation processing.EncMetadataMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.EncodingMetadata
during annotation processing.Encoding defines set of template methods and fields which describes how attributes of specific
types are implemented in generated value class.
Template method which describes how attribute should be built so it would can be assigned to.
Attribute's builder template.
With copy method template.
Expose describes how type matches to the encoding via return type.
Implementation field must be annotated, it also must be private.
Builder init method template.
Template method for internal purposes that describes how to ask builder if an attribute was
initialized.
Many elements (but not all) supports customized naming patterns.
Standard namings can be used to reuse standard styles, like the ones defined in
Value.Immutable.Style for the custom-defined elements in encoding.EncodingMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding
during annotation processing.Next iteration of the same flawed design in hopes to untangle it at least a bit.
ExpectedSubtypesMirror used to parse data of AnnotationMirror for original annotation
org.immutables.gson.Gson.ExpectedSubtypes
during annotation processing.ExposeMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Expose
during annotation processing.Parboiled extraction for the sake of AST building.
FactoryMirror used to parse data of AnnotationMirror for original annotation
org.immutables.builder.Builder.Factory
during annotation processing.FConstructorMirror used to parse data of AnnotationMirror for original annotation
org.immutables.builder.Builder.Constructor
during annotation processing.FIncludeMirror used to parse data of AnnotationMirror for original annotation
org.immutables.builder.Builder.Include
during annotation processing.FParameterMirror used to parse data of AnnotationMirror for original annotation
org.immutables.builder.Builder.Parameter
during annotation processing.Generates projection Function and predicates for attributes.
Place on non-accessor methods of abstract value type to
generate function to which parameters can be bound.
FunctionalMirror used to parse data of AnnotationMirror for original annotation
org.immutables.func.Functional
during annotation processing.Stub for cross compilation (java8/java9+).
Annotation to mark generated classes.
Ad-hoc tool to change imports in generated source files after imports have been processed.
Namespasing annotation used to group nested Generator - related annotations.
Imports classes as simple name aliases to be available to template language.
Applies to the annotation processor extending
AbstractGenerator to supply annotation
names that processor will handle.Generates "generator" subclass of annotated template definition.
Used to introduce complex types as simple type names available to template language.
GsonOtherMirror used to parse data of AnnotationMirror for original annotation
org.immutables.gson.Gson.Other
during annotation processing.IdMirror used to parse data of AnnotationMirror for original annotation
org.immutables.mongo.Mongo.Id
during annotation processing.IgnoreMirror used to parse data of AnnotationMirror for original annotation
org.immutables.gson.Gson.Ignore
during annotation processing.Immutable implementation of
AttributeBuilderDescriptor.Builds instances of type
ImmutableAttributeBuilderDescriptor.Immutable implementation of
AttributeBuilderReflection.Immutable implementation of
AttributeBuilderThirdPartyModel.Builds instances of type
ImmutableAttributeBuilderThirdPartyModel.Immutable implementation of
Constitution.Immutable implementation of
Constitution.AppliedNameForms.Builds instances of type
AppliedNameForms.Builds instances of type
ImmutableConstitution.Immutable implementation of
Constitution.NameForms.Builds instances of type
NameForms.Immutable implementation of
Datatypes.DatatypeTypes.Builds instances of type
ImmutableDatatypeTypes.Immutable implementation of
EncodedElement.Builds instances of type
EncodedElement.Immutable implementation of
EncodedElement.Param.Immutable implementation of
EncodedElement.TypeParam.Builds instances of type
TypeParam.Immutable implementation of
EncodingInfo.Builds instances of type
EncodingInfo.Immutable implementation of
RepositoryModel.Facet.Builds instances of type
ImmutableFacet.Immutable implementation of
AttributeBuilderReflection.FirstPartyStrategy.ImmutableInflater contains immutable implementation classes generated from
abstract value types defined as nested inside Inflater.ImmutableMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Immutable
during annotation processing.Immutable implementation of
NullabilityAnnotationInfo.Immutable implementation of
OkJsons.OkTypeAdapterTypes.Builds instances of type
ImmutableOkTypeAdapterTypes.Immutable set that take advantage of elements being an
OrdinalValues to provide
compact storage and efficient Set.contains(Object) and
Set.containsAll(Collection) operations.Build instances of
ImmutableOrdinalSet.ImmutableProto contains immutable implementation classes generated from
abstract value types defined as nested inside Proto.Immutable implementation of
Proto.DeclaringPackage.Builds instances of type
DeclaringPackage.Immutable implementation of
Proto.DeclaringType.Builds instances of type
DeclaringType.Immutable implementation of
Proto.Environment.Builds instances of type
Environment.Immutable implementation of
Proto.MetaAnnotated.Immutable implementation of
Proto.Protoclass.Builds instances of type
Protoclass.Immutable implementation of
Reporter.Immutable implementation of
Round.Builds instances of type
ImmutableRound.ImmutableStructurizer contains immutable implementation classes generated from
abstract value types defined as nested inside Structurizer.Immutable implementation of
Structurizer.Statement.Builds instances of type
Statement.Immutable implementation of
StyleInfo.Immutable implementation of
AttributeBuilderReflection.ThirdPartyAttributeBuilderStrategy.ImmutableTrees contains immutable implementation classes generated from
abstract value types defined as nested inside Trees.Immutable implementation of
Trees.ApplyExpression.Builds instances of type
ApplyExpression.Immutable implementation of
Trees.AssignGenerator.Builds instances of type
AssignGenerator.Immutable implementation of
Trees.BoundAccessExpression.Builds instances of type
BoundAccessExpression.Immutable implementation of
Trees.Comment.Immutable implementation of
Trees.ConditionalBlock.Builds instances of type
ConditionalBlock.Immutable implementation of
Trees.Else.Immutable implementation of
Trees.ElseIf.Builds instances of type
ElseIf.Immutable implementation of
Trees.For.Builds instances of type
For.Immutable implementation of
Trees.ForEnd.Immutable implementation of
Trees.ForIterationAccessExpression.Immutable implementation of
Trees.ForStatement.Builds instances of type
ForStatement.Immutable implementation of
Trees.Identifier.Immutable implementation of
Trees.If.Builds instances of type
If.Immutable implementation of
Trees.IfEnd.Immutable implementation of
Trees.IfStatement.Builds instances of type
IfStatement.Immutable implementation of
Trees.InvokableDeclaration.Builds instances of type
InvokableDeclaration.Immutable implementation of
Trees.Invoke.Builds instances of type
Invoke.Immutable implementation of
Trees.InvokeEnd.Immutable implementation of
Trees.InvokeStatement.Builds instances of type
InvokeStatement.Immutable implementation of
Trees.InvokeString.Immutable implementation of
Trees.IterationGenerator.Builds instances of type
IterationGenerator.Immutable implementation of
Trees.Let.Builds instances of type
Let.Immutable implementation of
Trees.LetEnd.Immutable implementation of
Trees.LetStatement.Builds instances of type
LetStatement.Immutable implementation of
Trees.Newline.Immutable implementation of
Trees.Parameter.Builds instances of type
Parameter.Immutable implementation of
Trees.ResolvedType.Builds instances of type
ResolvedType.Immutable implementation of
Trees.SimpleAccessExpression.Builds instances of type
SimpleAccessExpression.Immutable implementation of
Trees.SimpleBlock.Builds instances of type
SimpleBlock.Immutable implementation of
Trees.StringLiteral.Immutable implementation of
Trees.Template.Builds instances of type
Template.Immutable implementation of
Trees.TemplateEnd.Immutable implementation of
Trees.TextBlock.Builds instances of type
TextBlock.Immutable implementation of
Trees.TextFragment.Immutable implementation of
Trees.TextLine.Builds instances of type
TextLine.Immutable implementation of
Trees.TransformGenerator.Builds instances of type
TransformGenerator.Immutable implementation of
Trees.TypeDeclaration.Builds instances of type
TypeDeclaration.Immutable implementation of
Trees.TypeIdentifier.Immutable implementation of
Trees.Unit.Builds instances of type
Unit.Immutable implementation of
Trees.ValueDeclaration.Builds instances of type
ValueDeclaration.Immutable implementation of
Gsons.TypeAdapterTypes.Builds instances of type
ImmutableTypeAdapterTypes.Immutable implementation of
ValueImmutableInfo.Builds instances of type
ImmutableValueImmutableInfo.ImplMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Impl
during annotation processing.IncludeMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Include
during annotation processing.InitMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Init
during annotation processing.Meta-annotation that if detected on the annotation, will turn target annotation into special
instruction to inject derived annotation code into target places.
Logical elements of generated code to which annotations can be applied to.
InjectAnnotationMirror used to parse data of AnnotationMirror for original annotation
org.immutables.annotate.InjectAnnotation
during annotation processing.Allows many injections annotations to be specified at the same time.
InjectManyAnnotationsMirror used to parse data of AnnotationMirror for original annotation
org.immutables.annotate.InjectManyAnnotations
during annotation processing.IsInitMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.IsInit
during annotation processing.The iterable match wrapper.
Collects attributes by scanning for getters/setters/fields in a class definition.
LazyMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Lazy
during annotation processing.Structure to calculate bit packing
META-INF/services/<interface.fully.qualified.name> entries in classpath will be
generated with fully qualified name of annotated class as content line.Generate annotation mirror handler, by annotation special structurally matching annotation.
A modifiable implementation of the
Creator type.ModifiableMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Modifiable
during annotation processing.Static util methods related to
ElementStatic util methods related to
TypeMirrorNamedMirror used to parse data of AnnotationMirror for original annotation
org.immutables.gson.Gson.Named
during annotation processing.Converter-like function to apply or extract naming, derived from input.
NamingMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Naming
during annotation processing.NaturalOrderMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.NaturalOrder
during annotation processing.NonAttributeMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.NonAttribute
during annotation processing.The match wrapper.
Holder for some META-INF extension configured obscure features, which are problematic or not yet
ready to add to styles to add to
Value.StyleOfMirror used to parse data of AnnotationMirror for original annotation
org.immutables.encode.Encoding.Of
during annotation processing.OkIgnoreMirror used to parse data of AnnotationMirror for original annotation
org.immutables.moshi.JsonAdapted.Ignore
during annotation processing.OkNamedMirror used to parse data of AnnotationMirror for original annotation
com.squareup.moshi.Json
during annotation processing.OkQualifierMirror used to parse data of AnnotationMirror for original annotation
com.squareup.moshi.JsonQualifier
during annotation processing.OkTypeAdaptersMirror used to parse data of AnnotationMirror for original annotation
org.immutables.moshi.JsonAdapted
during annotation processing.The optional match wrapper.
Ordinal domain represent (potentially growing) set of objects of some kind (among
E)
which has distinct and contiguous range of ordinal values.Objects implementing this interface has stable ordinal attribute that could be
used to arrange these object among other elements of the same type.
ParameterMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Parameter
during annotation processing.The Class Parcelables.
Internal utils relating to
ProcessingEnvironment.Introspection supertype for the
Proto.DeclaringType and Proto.DeclaringPackagePrototypical model for generated derived classes.
Proxy processor to overcome eclipse class loading problems which renders our workarounds
for Eclipse bugs and quirks useless.
RedactedMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Redacted
during annotation processing.RepositoryMirror used to parse data of AnnotationMirror for original annotation
org.immutables.mongo.Mongo.Repository
during annotation processing.Repository model and builder.
Used in templates to generate repository source code
ReverseOrderMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.ReverseOrder
during annotation processing.Use nested annotations to control serialization of value objects.
Annotation to generate structural serialization.
Could be applied to types, enclosing types, enclosing packages and as meta-annotation.
SerializedNameMirror used to parse data of AnnotationMirror for original annotation
com.google.gson.annotations.SerializedName
during annotation processing.Utility that abstracts away hacks to retrieve elements in source order.
This inner static class will fail to load if Eclipse compliler classes will not be in
classpath.
Spacing trimming and redistribution should be run before balancing
The string match wrapper.
String literals.
StructuralMirror used to parse data of AnnotationMirror for original annotation
org.immutables.serial.Serial.Structural
during annotation processing.We copy styles to StyleInfo to safely cache styles between rounds etc and prevent any memory
leaks by unnecessary retaining compiler internal structures.
StyleMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value.Style
during annotation processing.Plain
Naming does not fit package name patterns and pimping it will uselessly
compilcate things.Temporary "global context" class while interactions and structure is not sorted out well.
SwitchMirror used to parse data of AnnotationMirror for original annotation
org.immutables.builder.Builder.Switch
during annotation processing.Basis for the functionality of generated templates
Tuple-like combining of a values (product), could be iterated or converted to string by
concatenation of string forms (no separator).
This part is written with simples possible writer in mind.
TransformMirror used to parse data of AnnotationMirror for original annotation
org.immutables.trees.Trees.Transform
during annotation processing.Abstract syntax trees.
Non parser generated expressions or statements, produced by AST transformations, typing etc.
TreesIncludeMirror used to parse data of AnnotationMirror for original annotation
org.immutables.trees.Trees.Include
during annotation processing.I've created this type model as an experiment which I want to bring forward and evolve
into something more general purpose, probably, an utility library some day.
TypeAdaptersMirror used to parse data of AnnotationMirror for original annotation
org.immutables.gson.Gson.TypeAdapters
during annotation processing.Encapsulates routines and various hacks for get relevant strings for the raw types and type
parameters, while attempting to resolve unresolved types using source imports.
This annotation provides namespace for annotations for immutable value object generation.
Annotate attribute as auxiliary and it will be stored and will be accessible, but will
be excluded from generated
equals, hashCode and toString methods.
Annotates method that should be invoked internally to validate invariants after instance had
been created, but before returned to a client.
Annotates accessor that should be turned in set-able generated attribute.
This kind of attribute cannot be set during building, but they are eagerly computed from other
attributes and stored in field.
This annotation could be applied to top level class which contains nested abstract
value types to provide namespacing for the generated implementation classes.
Instruct processor to generate immutable implementation of abstract value type.
Includes specified abstract value types into generation of processing.
Lazy attributes cannot be set, defined as method that computes value, which is invoke lazily
once and only once in a thread safe manner.
Generate modifiable implementation of abstract value class.
Can be used to mark some abstract no-argument methods in supertypes (about to be implemented/extended by
abstract value types) as regular, non-attribute methods, i.e.
Works with
Value.Immutable classes to mark abstract accessor method be included as
"of(..)" constructor parameter.Marks attribute for exclusion from auto-generated
toString method.Specified reversed natural ordering for the implemented
SortedSet, NavigableSet
or SortedMap, NavigableMap.Naming and structural style could be used to customize convention of the generated
immutable implementations and companion classes.
Enables depluralization and may provide depluralization dictionary.
If implementation visibility is more restrictive than visibility of abstract value type, then
implementation type will not be exposed as a return type of
build() or of()
construction methods.It's pointless to refactor this mess until
1) Some sort of type calculus toolkit used/created
2) Facets/Implicits in Generator toolkit with auto-memoising implemented
Only functions left in this previously generated file (long time ago)
It may grow later in some better abstraction, but as it stands now, currently it is
just a glue between new "protoclass" model and old discovery routines.
ValueUmbrellaMirror used to parse data of AnnotationMirror for original annotation
org.immutables.value.Value
during annotation processing.VersionMirror used to parse data of AnnotationMirror for original annotation
org.immutables.serial.Serial.Version
during annotation processing.Type visibility interpretation.
VisitMirror used to parse data of AnnotationMirror for original annotation
org.immutables.trees.Trees.Visit
during annotation processing.