Class JavaBeanAttributesCollector.Getters

  • Enclosing class:
    JavaBeanAttributesCollector

    private class JavaBeanAttributesCollector.Getters
    extends java.lang.Object
    Collects and caches list of getters for current type
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.lang.model.type.TypeMirror boxedBooleanType  
      private java.util.Map<java.lang.String,​javax.lang.model.element.ExecutableElement> getters  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Getters​(java.lang.Iterable<? extends javax.lang.model.element.ExecutableElement> methods)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private javax.lang.model.element.ExecutableElement getter​(java.lang.String name)  
      private boolean isBoolean​(javax.lang.model.type.TypeMirror type)  
      private boolean isGetter​(javax.lang.model.element.ExecutableElement executable)
      Checks if executable follows JavaBean convention for getter methods (like getFoo)
      private java.lang.String javaBeanAttributeName​(java.lang.String raw)
      Get attribute name from java bean getter.
      java.util.Set<java.lang.String> names()  
      • Methods inherited from class java.lang.Object

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

      • getters

        private final java.util.Map<java.lang.String,​javax.lang.model.element.ExecutableElement> getters
      • boxedBooleanType

        private final javax.lang.model.type.TypeMirror boxedBooleanType
    • Constructor Detail

      • Getters

        private Getters​(java.lang.Iterable<? extends javax.lang.model.element.ExecutableElement> methods)
    • Method Detail

      • javaBeanAttributeName

        private java.lang.String javaBeanAttributeName​(java.lang.String raw)
        Get attribute name from java bean getter. Some examples:
           getA -> a
           getAB -> AB (fist 2 chars are uppercase)
           getABC -> ABC (fist 2 chars are uppercase)
           getAb -> ab
           getAbc -> abc
           getFoo -> foo
         

        See 8.8 Capitalization of inferred names in javabean spec

      • getter

        private javax.lang.model.element.ExecutableElement getter​(java.lang.String name)
      • names

        public java.util.Set<java.lang.String> names()
      • isGetter

        private boolean isGetter​(javax.lang.model.element.ExecutableElement executable)
        Checks if executable follows JavaBean convention for getter methods (like getFoo)
      • isBoolean

        private boolean isBoolean​(javax.lang.model.type.TypeMirror type)