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 class
MapperAnnotationBuilder.AnnotationWrapper
-
Field Summary
Fields Modifier and Type Field Description private MapperBuilderAssistant
assistant
private Configuration
configuration
private static java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>>
statementAnnotationTypes
private java.lang.Class<?>
type
-
Constructor Summary
Constructors Constructor Description MapperAnnotationBuilder(Configuration configuration, java.lang.Class<?> type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
applyConstructorArgs(Arg[] args, java.lang.Class<?> resultType, java.util.List<ResultMapping> resultMappings)
private Discriminator
applyDiscriminator(java.lang.String resultMapId, java.lang.Class<?> resultType, TypeDiscriminator discriminator)
private void
applyResultMap(java.lang.String resultMapId, java.lang.Class<?> returnType, Arg[] args, Result[] results, TypeDiscriminator discriminator)
private void
applyResults(Result[] results, java.lang.Class<?> resultType, java.util.List<ResultMapping> resultMappings)
private SqlSource
buildSqlSource(java.lang.annotation.Annotation annotation, java.lang.Class<?> parameterType, LanguageDriver languageDriver, java.lang.reflect.Method method)
private SqlSource
buildSqlSourceFromStrings(java.lang.String[] strings, java.lang.Class<?> parameterTypeClass, LanguageDriver languageDriver)
private boolean
canHaveStatement(java.lang.reflect.Method method)
private java.util.Properties
convertToProperties(Property[] properties)
private void
createDiscriminatorResultMaps(java.lang.String resultMapId, java.lang.Class<?> resultType, TypeDiscriminator discriminator)
private java.lang.String
findColumnPrefix(Result result)
private java.lang.String
generateResultMapName(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 LanguageDriver
getLanguageDriver(java.lang.reflect.Method method)
private java.lang.Class<?>
getParameterType(java.lang.reflect.Method method)
private java.lang.Class<?>
getReturnType(java.lang.reflect.Method method)
private KeyGenerator
handleSelectKeyAnnotation(SelectKey selectKeyAnnotation, java.lang.String baseStatementId, java.lang.Class<?> parameterTypeClass, LanguageDriver languageDriver)
private boolean
hasNestedResultMap(Result result)
private boolean
hasNestedSelect(Result result)
private boolean
isLazy(Result result)
private void
loadXmlResource()
private java.lang.String
nestedResultMapId(Result result)
private java.lang.String
nestedSelectId(Result result)
private java.lang.String
nullOrEmpty(java.lang.String value)
void
parse()
private void
parseCache()
private void
parseCacheRef()
private void
parsePendingMethods()
private java.lang.String
parseResultMap(java.lang.reflect.Method method)
(package private) void
parseStatement(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 boolean canHaveStatement(java.lang.reflect.Method method)
-
parsePendingMethods
private void parsePendingMethods()
-
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 java.lang.Class<?> getReturnType(java.lang.reflect.Method method)
-
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)
-
-