View Javadoc
1   /**
2    *    Copyright 2006-2016 the original author or authors.
3    *
4    *    Licensed under the Apache License, Version 2.0 (the "License");
5    *    you may not use this file except in compliance with the License.
6    *    You may obtain a copy of the License at
7    *
8    *       http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *    Unless required by applicable law or agreed to in writing, software
11   *    distributed under the License is distributed on an "AS IS" BASIS,
12   *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *    See the License for the specific language governing permissions and
14   *    limitations under the License.
15   */
16  package org.mybatis.generator.codegen.mybatis3.javamapper;
17  
18  import org.mybatis.generator.api.dom.java.Interface;
19  import org.mybatis.generator.codegen.AbstractXmlGenerator;
20  import org.mybatis.generator.codegen.mybatis3.javamapper.elements.AbstractJavaMapperMethodGenerator;
21  import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedDeleteByPrimaryKeyMethodGenerator;
22  import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedInsertMethodGenerator;
23  import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedSelectAllMethodGenerator;
24  import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedSelectByPrimaryKeyMethodGenerator;
25  import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator;
26  
27  /**
28   * @author Jeff Butler
29   * 
30   */
31  public class SimpleAnnotatedClientGenerator extends SimpleJavaClientGenerator {
32  
33      /**
34       * 
35       */
36      public SimpleAnnotatedClientGenerator() {
37          super(false);
38      }
39  
40      @Override
41      protected void addDeleteByPrimaryKeyMethod(Interface interfaze) {
42          if (introspectedTable.getRules().generateDeleteByPrimaryKey()) {
43              AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedDeleteByPrimaryKeyMethodGenerator(true);
44              initializeAndExecuteGenerator(methodGenerator, interfaze);
45          }
46      }
47  
48      @Override
49      protected void addInsertMethod(Interface interfaze) {
50          if (introspectedTable.getRules().generateInsert()) {
51              AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedInsertMethodGenerator(true);
52              initializeAndExecuteGenerator(methodGenerator, interfaze);
53          }
54      }
55  
56      @Override
57      protected void addSelectByPrimaryKeyMethod(Interface interfaze) {
58          if (introspectedTable.getRules().generateSelectByPrimaryKey()) {
59              AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedSelectByPrimaryKeyMethodGenerator(false, true);
60              initializeAndExecuteGenerator(methodGenerator, interfaze);
61          }
62      }
63  
64      @Override
65      protected void addSelectAllMethod(Interface interfaze) {
66          AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedSelectAllMethodGenerator();
67          initializeAndExecuteGenerator(methodGenerator, interfaze);
68      }
69  
70      @Override
71      protected void addUpdateByPrimaryKeyMethod(Interface interfaze) {
72          if (introspectedTable.getRules().generateUpdateByPrimaryKeySelective()) {
73              AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator(true);
74              initializeAndExecuteGenerator(methodGenerator, interfaze);
75          }
76      }
77  
78      @Override
79      public AbstractXmlGenerator getMatchedXMLGenerator() {
80          return null;
81      }
82  }