public static final String getPojoSetter ( ProtobufAttribute protobufAttribute , Field field ) { final String fieldName = field . getName ( ) ; final String upperClassName = field . getDeclaringClass ( ) . getCanonicalName ( ) ; // Look at the cache first Map < String , String > map = CLASS_TO_FIELD_SETTERS_MAP_CACHE . get ( upperClassName ) ; if ( map != null ) { if ( ! map . isEmpty ( ) && map . containsKey ( fieldName ) ) { return map . get ( fieldName ) ; } } else { map = new ConcurrentHashMap <> ( ) ; } final String upperCaseFirstFieldName = JStringUtils . upperCaseFirst ( field . getName ( ) ) ; String setter = "set" + upperCaseFirstFieldName ; if ( ! protobufAttribute . pojoSetter ( ) . isEmpty ( ) ) { return protobufAttribute . pojoSetter ( ) ; } map . put ( fieldName , setter ) ; CLASS_TO_FIELD_SETTERS_MAP_CACHE . put ( upperClassName , map ) ; return setter ; }
Retrieve the setter on the POJO class ; default is to is set plus upper case first character of the field name .