Package org.immutables.value


package org.immutables.value
  • Class
    Description
    Annotation to mark generated classes.
    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.