Class AutoValueProcessor.Property

  • Enclosing class:
    AutoValueProcessor

    public static class AutoValueProcessor.Property
    extends Object
    A property of an @AutoValue 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.
    • Method Detail

      • 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()
      • 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 String getNullableAnnotation()
        Returns the string to use as an 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 "@Nullable " or "@javax.annotation.Nullable ".
      • isNullable

        public boolean isNullable()
      • getAccess

        public String getAccess()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object