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.Template
Groups 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 AttributeBuilderDescriptor
Strategy 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.
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.
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.
 
 
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 Element
 
 
 
 
Static util methods related to TypeMirror
 
 
 
 
 
NamedMirror 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.Style
OfMirror 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.DeclaringPackage
 
 
 
 
 
 
 
 
 
 
 
Prototypical 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.
Specified natural ordering for the implemented SortedSet, NavigableSet or SortedMap, NavigableMap.
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.