Class MapperAnnotationBuilder


  • public class MapperAnnotationBuilder
    extends java.lang.Object
    • Field Detail

      • statementAnnotationTypes

        private static final java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> statementAnnotationTypes
      • 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)