Class AutoValueOrOneOfProcessor.Property

java.lang.Object
com.google.auto.value.processor.AutoValueOrOneOfProcessor.Property
Enclosing class:
AutoValueOrOneOfProcessor

public static class AutoValueOrOneOfProcessor.Property extends Object
A property of an @AutoValue or @AutoOneOf class, defined by one of its abstract methods. An instance of this class is made available to the Velocity template engine for each property. The public methods of this class define JavaBeans-style properties that are accessible from templates. For example getType() means we can write $p.type for a Velocity variable $p that is a Property.
  • Field Details

    • name

      private final String name
    • identifier

      private final String identifier
    • method

      private final ExecutableElement method
    • type

      private final String type
    • annotations

      private final com.google.common.collect.ImmutableList<String> annotations
    • nullableAnnotation

      private final Optional<String> nullableAnnotation
    • optional

      private final Optionalish optional
  • Constructor Details

  • Method Details

    • toString

      public String toString()
      Returns the name of the property as it should be used when declaring identifiers (fields and parameters). If the original getter method was foo() then this will be foo. If it was getFoo() then it will be foo. If it was getPackage() then it will be something like package0, since package is a reserved word.
      Overrides:
      toString in class Object
    • getName

      public String getName()
      Returns the name of the property as it should be used in strings visible to users. This is usually the same as toString(), except that if we had to use an identifier like "package0" because "package" is a reserved word, the name here will be the original "package".
    • getGetter

      public String getGetter()
      Returns the name of the getter method for this property as defined by the @AutoValue class. For property foo, this will be foo or getFoo or isFoo.
    • getTypeMirror

      public TypeMirror getTypeMirror()
    • getType

      public String getType()
    • getKind

      public TypeKind getKind()
    • getAnnotations

      public List<String> getAnnotations()
    • getOptional

      public Optionalish getOptional()
      Returns an Optionalish representing the kind of Optional that this property's type is, or null if the type is not an Optional of any kind.
    • getNullableAnnotation

      public final String getNullableAnnotation()
      Returns the string to use as a method annotation to indicate the nullability of this property. It is either the empty string, if the property is not nullable, or an annotation string with a trailing space, such as "@`javax.annotation.Nullable` ", where the `` is the encoding used by TypeEncoder. If the property is nullable by virtue of its type rather than its method being @Nullable, this method returns the empty string, because the @Nullable will appear when the type is spelled out. In this case, nullableAnnotation is present but empty.
    • isNullable

      public boolean isNullable()
    • getAccess

      public String getAccess()
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object