Class BeanConvention

    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static java.lang.String GET_PREFIX  
      (package private) static java.util.regex.Pattern GETTER_PATTERN
      Regular expression matching bean-convention method names.
      (package private) static java.lang.String IS_PREFIX  
      private javax.annotation.processing.Messager messager  
      private javax.lang.model.util.Types types  
    • Constructor Summary

      Constructors 
      Constructor Description
      BeanConvention​(javax.annotation.processing.Messager messager, javax.lang.model.util.Types types)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Optional<Property.Builder> getPropertyNames​(javax.lang.model.element.TypeElement valueType, javax.lang.model.element.ExecutableElement method)
      Verifies method is an abstract getter following the JavaBean convention.
      private static boolean hasUpperCase​(int codepoint)  
      private void printNoImplementationMessage​(javax.lang.model.element.TypeElement valueType, javax.lang.model.element.ExecutableElement method)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • GETTER_PATTERN

        static final java.util.regex.Pattern GETTER_PATTERN
        Regular expression matching bean-convention method names.

        We deviate slightly from the JavaBean convention by insisting that there must be a non-lowercase character immediately following the get/is prefix; this prevents ugly cases like 'get()' or 'getter()'.

      • messager

        private final javax.annotation.processing.Messager messager
      • types

        private final javax.lang.model.util.Types types
    • Constructor Detail

      • BeanConvention

        BeanConvention​(javax.annotation.processing.Messager messager,
                       javax.lang.model.util.Types types)
    • Method Detail

      • getPropertyNames

        public java.util.Optional<Property.Builder> getPropertyNames​(javax.lang.model.element.TypeElement valueType,
                                                                     javax.lang.model.element.ExecutableElement method)
        Verifies method is an abstract getter following the JavaBean convention. Any deviations will be logged as an error.
        Specified by:
        getPropertyNames in interface NamingConvention
      • hasUpperCase

        private static boolean hasUpperCase​(int codepoint)
      • printNoImplementationMessage

        private void printNoImplementationMessage​(javax.lang.model.element.TypeElement valueType,
                                                  javax.lang.model.element.ExecutableElement method)