Class AccessorAttributesCollector
- java.lang.Object
-
- org.immutables.value.processor.meta.AccessorAttributesCollector
-
final class AccessorAttributesCollector extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private com.google.common.collect.ImmutableListMultimap<java.lang.String,javax.lang.model.element.TypeElement>accessorMappingprivate java.util.List<ValueAttribute>attributesprivate static javax.lang.model.element.ModifierDEFAULT_MODIFIER(package private) static java.lang.StringEQUALS_METHOD(package private) static java.lang.StringHASH_CODE_METHODprivate booleanhasNonInheritedAttributesprivate booleanisEclipseImplementationprivate static java.lang.StringORDINAL_DOMAIN_ATTRIBUTE_NAMEprivate static java.lang.StringORDINAL_ORDINAL_ATTRIBUTE_NAMEprivate static java.lang.StringORG_ECLIPSEprivate static java.lang.StringPARCELABLE_DESCRIBE_CONTENTS_METHODprivate javax.annotation.processing.ProcessingEnvironmentprocessingprivate Proto.Protoclassprotoclassprivate Reporterreporterprivate Stylesstyles(package private) static java.lang.StringTO_STRING_METHODprivate ValueTypetype
-
Constructor Summary
Constructors Constructor Description AccessorAttributesCollector(Proto.Protoclass protoclass, ValueType type)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static javax.lang.model.type.TypeMirrorasInheritedMemberReturnType(javax.annotation.processing.ProcessingEnvironment processing, javax.lang.model.element.TypeElement typeElement, javax.lang.model.element.ExecutableElement method)(package private) voidcollect()private voidcollectGeneratedCandidateMethods(javax.lang.model.element.TypeElement type)private Styles.UsingName.AttributeNamesderiveNames(java.lang.String accessorName)private javax.lang.model.element.TypeElementgetTypeElement()private static booleanhasGenerateAnnotation(javax.lang.model.element.ExecutableElement attributeMethodCandidate)private static booleanisAbstract(javax.lang.model.element.Element element)private static booleanisDiscoveredAttribute(javax.lang.model.element.ExecutableElement attributeMethodCandidate, boolean isDefaultAsDefault)private booleanisElegibleAccessorMethod(javax.lang.model.element.Element element)private static booleanisFinal(javax.lang.model.element.Element element)private booleanisJavaLangObjectType(javax.lang.model.element.TypeElement definingType)private booleanisJavaLangObjectType(javax.lang.model.type.TypeMirror typeMirror)private voidprocessGenerationCandidateMethod(javax.lang.model.element.ExecutableElement attributeMethodCandidate, javax.lang.model.element.TypeElement originalType)private voidprocessUtilityCandidateMethod(javax.lang.model.element.ExecutableElement utilityMethodCandidate, javax.lang.model.element.TypeElement originalType)private Reporterreport(javax.lang.model.element.Element type)(package private) static javax.lang.model.type.TypeMirrorresolveReturnType(javax.annotation.processing.ProcessingEnvironment processing, javax.lang.model.element.ExecutableElement method, javax.lang.model.element.TypeElement typeElement)private javax.lang.model.type.TypeMirrorresolveReturnType(javax.lang.model.element.ExecutableElement method)private booleanreturnsNormalizedAbstractValueType(javax.lang.model.element.ExecutableElement validationMethodCandidate)
-
-
-
Field Detail
-
ORDINAL_ORDINAL_ATTRIBUTE_NAME
private static final java.lang.String ORDINAL_ORDINAL_ATTRIBUTE_NAME
- See Also:
- Constant Field Values
-
ORDINAL_DOMAIN_ATTRIBUTE_NAME
private static final java.lang.String ORDINAL_DOMAIN_ATTRIBUTE_NAME
- See Also:
- Constant Field Values
-
PARCELABLE_DESCRIBE_CONTENTS_METHOD
private static final java.lang.String PARCELABLE_DESCRIBE_CONTENTS_METHOD
- See Also:
- Constant Field Values
-
DEFAULT_MODIFIER
@Nullable private static final javax.lang.model.element.Modifier DEFAULT_MODIFIER
-
ORG_ECLIPSE
private static final java.lang.String ORG_ECLIPSE
- See Also:
- Constant Field Values
-
EQUALS_METHOD
static final java.lang.String EQUALS_METHOD
- See Also:
- Constant Field Values
-
TO_STRING_METHOD
static final java.lang.String TO_STRING_METHOD
- See Also:
- Constant Field Values
-
HASH_CODE_METHOD
static final java.lang.String HASH_CODE_METHOD
- See Also:
- Constant Field Values
-
protoclass
private final Proto.Protoclass protoclass
-
type
private final ValueType type
-
processing
private final javax.annotation.processing.ProcessingEnvironment processing
-
attributes
private final java.util.List<ValueAttribute> attributes
-
styles
private final Styles styles
-
reporter
private final Reporter reporter
-
accessorMapping
private com.google.common.collect.ImmutableListMultimap<java.lang.String,javax.lang.model.element.TypeElement> accessorMapping
-
isEclipseImplementation
private final boolean isEclipseImplementation
-
hasNonInheritedAttributes
private boolean hasNonInheritedAttributes
-
-
Constructor Detail
-
AccessorAttributesCollector
AccessorAttributesCollector(Proto.Protoclass protoclass, ValueType type)
-
-
Method Detail
-
collect
void collect()
-
getTypeElement
private javax.lang.model.element.TypeElement getTypeElement()
-
collectGeneratedCandidateMethods
private void collectGeneratedCandidateMethods(javax.lang.model.element.TypeElement type)
-
isElegibleAccessorMethod
private boolean isElegibleAccessorMethod(javax.lang.model.element.Element element)
-
processUtilityCandidateMethod
private void processUtilityCandidateMethod(javax.lang.model.element.ExecutableElement utilityMethodCandidate, javax.lang.model.element.TypeElement originalType)
-
isJavaLangObjectType
private boolean isJavaLangObjectType(javax.lang.model.type.TypeMirror typeMirror)
-
isJavaLangObjectType
private boolean isJavaLangObjectType(javax.lang.model.element.TypeElement definingType)
-
processGenerationCandidateMethod
private void processGenerationCandidateMethod(javax.lang.model.element.ExecutableElement attributeMethodCandidate, javax.lang.model.element.TypeElement originalType)
-
returnsNormalizedAbstractValueType
private boolean returnsNormalizedAbstractValueType(javax.lang.model.element.ExecutableElement validationMethodCandidate)
-
deriveNames
private Styles.UsingName.AttributeNames deriveNames(java.lang.String accessorName)
-
resolveReturnType
private javax.lang.model.type.TypeMirror resolveReturnType(javax.lang.model.element.ExecutableElement method)
-
resolveReturnType
static javax.lang.model.type.TypeMirror resolveReturnType(javax.annotation.processing.ProcessingEnvironment processing, javax.lang.model.element.ExecutableElement method, javax.lang.model.element.TypeElement typeElement)
-
asInheritedMemberReturnType
static javax.lang.model.type.TypeMirror asInheritedMemberReturnType(javax.annotation.processing.ProcessingEnvironment processing, javax.lang.model.element.TypeElement typeElement, javax.lang.model.element.ExecutableElement method)
-
isAbstract
private static boolean isAbstract(javax.lang.model.element.Element element)
-
isFinal
private static boolean isFinal(javax.lang.model.element.Element element)
-
isDiscoveredAttribute
private static boolean isDiscoveredAttribute(javax.lang.model.element.ExecutableElement attributeMethodCandidate, boolean isDefaultAsDefault)
-
hasGenerateAnnotation
private static boolean hasGenerateAnnotation(javax.lang.model.element.ExecutableElement attributeMethodCandidate)
-
report
private Reporter report(javax.lang.model.element.Element type)
-
-