Class MapperAnnotationBuilder
- java.lang.Object
-
- org.apache.ibatis.builder.annotation.MapperAnnotationBuilder
-
public class MapperAnnotationBuilder extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classMapperAnnotationBuilder.AnnotationWrapper
-
Field Summary
Fields Modifier and Type Field Description private MapperBuilderAssistantassistantprivate Configurationconfigurationprivate static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>>statementAnnotationTypesprivate java.lang.Class<?>type
-
Constructor Summary
Constructors Constructor Description MapperAnnotationBuilder(Configuration configuration, java.lang.Class<?> type)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidapplyConstructorArgs(Arg[] args, java.lang.Class<?> resultType, java.util.List<ResultMapping> resultMappings)private DiscriminatorapplyDiscriminator(java.lang.String resultMapId, java.lang.Class<?> resultType, TypeDiscriminator discriminator)private voidapplyResultMap(java.lang.String resultMapId, java.lang.Class<?> returnType, Arg[] args, Result[] results, TypeDiscriminator discriminator)private voidapplyResults(Result[] results, java.lang.Class<?> resultType, java.util.List<ResultMapping> resultMappings)private SqlSourcebuildSqlSource(java.lang.annotation.Annotation annotation, java.lang.Class<?> parameterType, LanguageDriver languageDriver, java.lang.reflect.Method method)private SqlSourcebuildSqlSourceFromStrings(java.lang.String[] strings, java.lang.Class<?> parameterTypeClass, LanguageDriver languageDriver)private static booleancanHaveStatement(java.lang.reflect.Method method)private java.util.PropertiesconvertToProperties(Property[] properties)private voidcreateDiscriminatorResultMaps(java.lang.String resultMapId, java.lang.Class<?> resultType, TypeDiscriminator discriminator)private java.lang.StringfindColumnPrefix(Result result)private java.lang.StringgenerateResultMapName(java.lang.reflect.Method method)private java.util.Optional<MapperAnnotationBuilder.AnnotationWrapper>getAnnotationWrapper(java.lang.reflect.Method method, boolean errorIfNoMatch, java.lang.Class<? extends java.lang.annotation.Annotation>... targetTypes)private java.util.Optional<MapperAnnotationBuilder.AnnotationWrapper>getAnnotationWrapper(java.lang.reflect.Method method, boolean errorIfNoMatch, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> targetTypes)private LanguageDrivergetLanguageDriver(java.lang.reflect.Method method)static java.lang.Class<?>getMethodReturnType(java.lang.String mapperFqn, java.lang.String localStatementId)private java.lang.Class<?>getParameterType(java.lang.reflect.Method method)private static java.lang.Class<?>getReturnType(java.lang.reflect.Method method, java.lang.Class<?> type)private KeyGeneratorhandleSelectKeyAnnotation(SelectKey selectKeyAnnotation, java.lang.String baseStatementId, java.lang.Class<?> parameterTypeClass, LanguageDriver languageDriver)private booleanhasNestedResultMap(Result result)private booleanhasNestedSelect(Result result)private booleanisLazy(Result result)private voidloadXmlResource()private java.lang.StringnestedResultMapId(Result result)private java.lang.StringnestedSelectId(Result result)private java.lang.StringnullOrEmpty(java.lang.String value)voidparse()private voidparseCache()private voidparseCacheRef()private java.lang.StringparseResultMap(java.lang.reflect.Method method)(package private) voidparseStatement(java.lang.reflect.Method method)
-
-
-
Field Detail
-
statementAnnotationTypes
private static final java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> statementAnnotationTypes
-
configuration
private final Configuration configuration
-
assistant
private final MapperBuilderAssistant assistant
-
type
private final java.lang.Class<?> type
-
-
Constructor Detail
-
MapperAnnotationBuilder
public MapperAnnotationBuilder(Configuration configuration, java.lang.Class<?> type)
-
-
Method Detail
-
parse
public void parse()
-
canHaveStatement
private static boolean canHaveStatement(java.lang.reflect.Method method)
-
loadXmlResource
private void loadXmlResource()
-
parseCache
private void parseCache()
-
convertToProperties
private java.util.Properties convertToProperties(Property[] properties)
-
parseCacheRef
private void parseCacheRef()
-
parseResultMap
private java.lang.String parseResultMap(java.lang.reflect.Method method)
-
generateResultMapName
private java.lang.String generateResultMapName(java.lang.reflect.Method method)
-
applyResultMap
private void applyResultMap(java.lang.String resultMapId, java.lang.Class<?> returnType, Arg[] args, Result[] results, TypeDiscriminator discriminator)
-
createDiscriminatorResultMaps
private void createDiscriminatorResultMaps(java.lang.String resultMapId, java.lang.Class<?> resultType, TypeDiscriminator discriminator)
-
applyDiscriminator
private Discriminator applyDiscriminator(java.lang.String resultMapId, java.lang.Class<?> resultType, TypeDiscriminator discriminator)
-
parseStatement
void parseStatement(java.lang.reflect.Method method)
-
getLanguageDriver
private LanguageDriver getLanguageDriver(java.lang.reflect.Method method)
-
getParameterType
private java.lang.Class<?> getParameterType(java.lang.reflect.Method method)
-
getReturnType
private static java.lang.Class<?> getReturnType(java.lang.reflect.Method method, java.lang.Class<?> type)
-
applyResults
private void applyResults(Result[] results, java.lang.Class<?> resultType, java.util.List<ResultMapping> resultMappings)
-
findColumnPrefix
private java.lang.String findColumnPrefix(Result result)
-
nestedResultMapId
private java.lang.String nestedResultMapId(Result result)
-
hasNestedResultMap
private boolean hasNestedResultMap(Result result)
-
nestedSelectId
private java.lang.String nestedSelectId(Result result)
-
isLazy
private boolean isLazy(Result result)
-
hasNestedSelect
private boolean hasNestedSelect(Result result)
-
applyConstructorArgs
private void applyConstructorArgs(Arg[] args, java.lang.Class<?> resultType, java.util.List<ResultMapping> resultMappings)
-
nullOrEmpty
private java.lang.String nullOrEmpty(java.lang.String value)
-
handleSelectKeyAnnotation
private KeyGenerator handleSelectKeyAnnotation(SelectKey selectKeyAnnotation, java.lang.String baseStatementId, java.lang.Class<?> parameterTypeClass, LanguageDriver languageDriver)
-
buildSqlSource
private SqlSource buildSqlSource(java.lang.annotation.Annotation annotation, java.lang.Class<?> parameterType, LanguageDriver languageDriver, java.lang.reflect.Method method)
-
buildSqlSourceFromStrings
private SqlSource buildSqlSourceFromStrings(java.lang.String[] strings, java.lang.Class<?> parameterTypeClass, LanguageDriver languageDriver)
-
getAnnotationWrapper
@SafeVarargs private final java.util.Optional<MapperAnnotationBuilder.AnnotationWrapper> getAnnotationWrapper(java.lang.reflect.Method method, boolean errorIfNoMatch, java.lang.Class<? extends java.lang.annotation.Annotation>... targetTypes)
-
getAnnotationWrapper
private java.util.Optional<MapperAnnotationBuilder.AnnotationWrapper> getAnnotationWrapper(java.lang.reflect.Method method, boolean errorIfNoMatch, java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> targetTypes)
-
getMethodReturnType
public static java.lang.Class<?> getMethodReturnType(java.lang.String mapperFqn, java.lang.String localStatementId)
-
-