Class BeanConvention
- java.lang.Object
-
- org.inferred.freebuilder.processor.naming.BeanConvention
-
- All Implemented Interfaces:
NamingConvention
class BeanConvention extends java.lang.Object implements NamingConvention
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.StringGET_PREFIX(package private) static java.util.regex.PatternGETTER_PATTERNRegular expression matching bean-convention method names.(package private) static java.lang.StringIS_PREFIXprivate javax.annotation.processing.Messagermessagerprivate javax.lang.model.util.Typestypes
-
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)Verifiesmethodis an abstract getter following the JavaBean convention.private static booleanhasUpperCase(int codepoint)private voidprintNoImplementationMessage(javax.lang.model.element.TypeElement valueType, javax.lang.model.element.ExecutableElement method)
-
-
-
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()'.
-
GET_PREFIX
static final java.lang.String GET_PREFIX
- See Also:
- Constant Field Values
-
IS_PREFIX
static final java.lang.String IS_PREFIX
- See Also:
- Constant Field Values
-
messager
private final javax.annotation.processing.Messager messager
-
types
private final 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)
Verifiesmethodis an abstract getter following the JavaBean convention. Any deviations will be logged as an error.- Specified by:
getPropertyNamesin interfaceNamingConvention
-
hasUpperCase
private static boolean hasUpperCase(int codepoint)
-
printNoImplementationMessage
private void printNoImplementationMessage(javax.lang.model.element.TypeElement valueType, javax.lang.model.element.ExecutableElement method)
-
-