Class ImmutableField

All Implemented Interfaces:
Comparable<FieldReference>, Annotatable, Field, Member, FieldReference, Reference

public class ImmutableField extends BaseFieldReference implements Field
  • Field Details

    • definingClass

      @Nonnull protected final String definingClass
    • name

      @Nonnull protected final String name
    • type

      @Nonnull protected final String type
    • accessFlags

      protected final int accessFlags
    • initialValue

      @Nullable protected final ImmutableEncodedValue initialValue
    • annotations

      @Nonnull protected final com.google.common.collect.ImmutableSet<? extends ImmutableAnnotation> annotations
    • hiddenApiRestrictions

      @Nonnull protected final com.google.common.collect.ImmutableSet<HiddenApiRestriction> hiddenApiRestrictions
    • CONVERTER

      private static final ImmutableConverter<ImmutableField,Field> CONVERTER
  • Constructor Details

  • Method Details

    • of

      public static ImmutableField of(Field field)
    • getDefiningClass

      @Nonnull public String getDefiningClass()
      Description copied from interface: Field
      Gets the type of the class that defines this field.
      Specified by:
      getDefiningClass in interface Field
      Specified by:
      getDefiningClass in interface FieldReference
      Specified by:
      getDefiningClass in interface Member
      Returns:
      The type of the class that defines this field
    • getName

      @Nonnull public String getName()
      Description copied from interface: Field
      Gets the name of this field.
      Specified by:
      getName in interface Field
      Specified by:
      getName in interface FieldReference
      Specified by:
      getName in interface Member
      Returns:
      The name of this field
    • getType

      @Nonnull public String getType()
      Description copied from interface: Field
      Gets the type of this field.
      Specified by:
      getType in interface Field
      Specified by:
      getType in interface FieldReference
      Returns:
      The type of this field
    • getAccessFlags

      public int getAccessFlags()
      Description copied from interface: Field
      Gets the access flags for this field. This will be a combination of the AccessFlags.* flags that are marked as compatible for use with a field.
      Specified by:
      getAccessFlags in interface Field
      Specified by:
      getAccessFlags in interface Member
      Returns:
      The access flags for this field
    • getInitialValue

      public EncodedValue getInitialValue()
      Description copied from interface: Field
      Gets the initial value for this field, if available. Only static field may have an initial value set, but are not required to have an initial value.
      Specified by:
      getInitialValue in interface Field
      Returns:
      The initial value for this field, or null if this field is not a static field, or if this static field does not have an initial value.
    • getAnnotations

      @Nonnull public com.google.common.collect.ImmutableSet<? extends ImmutableAnnotation> getAnnotations()
      Description copied from interface: Field
      Gets a set of the annotations that are applied to this field. The annotations in the returned set are guaranteed to have unique types.
      Specified by:
      getAnnotations in interface Annotatable
      Specified by:
      getAnnotations in interface Field
      Returns:
      A set of the annotations that are applied to this field
    • getHiddenApiRestrictions

      @Nonnull public Set<HiddenApiRestriction> getHiddenApiRestrictions()
      Description copied from interface: Field
      Gets the hidden api restrictions for this field. This will contain at most 1 normal flag (with isDomainSpecificApiFlag() = false), and 1 domain-specific api flag (with isDomainSpecificApiFlag() = true)
      Specified by:
      getHiddenApiRestrictions in interface Field
      Specified by:
      getHiddenApiRestrictions in interface Member
      Returns:
      A set of the hidden api restrictions for this field.
    • immutableSetOf

      @Nonnull public static com.google.common.collect.ImmutableSortedSet<ImmutableField> immutableSetOf(@Nullable Iterable<? extends Field> list)