All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mybatis.generator.api.Plugin Maven / Gradle / Ivy

The newest version!
/*
 *  Copyright 2008 The Apache Software Foundation
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package org.mybatis.generator.api;

import org.mybatis.generator.api.dom.java.Field;
import org.mybatis.generator.api.dom.java.Interface;
import org.mybatis.generator.api.dom.java.Method;
import org.mybatis.generator.api.dom.java.TopLevelClass;
import org.mybatis.generator.api.dom.xml.Document;
import org.mybatis.generator.api.dom.xml.XmlElement;
import org.mybatis.generator.config.Context;

import java.util.List;
import java.util.Properties;

/**
 * This interface defines methods that will be called at different times during
 * the code generation process. These methods can be used to extend or modify
 * the generated code. Clients may implement this interface in its entirety, or
 * extend the PluginAdapter (highly recommended).
 * 

* Plugins have a lifecycle. In general, the lifecycle is this: * *

    *
  1. The setXXX methods are called one time
  2. *
  3. The validate method is called one time
  4. *
  5. The initialized method is called for each introspected table
  6. *
  7. The clientXXX methods are called for each introspected table
  8. *
  9. The providerXXX methods are called for each introspected table
  10. *
  11. The modelXXX methods are called for each introspected table
  12. *
  13. The sqlMapXXX methods are called for each introspected table
  14. *
  15. The contextGenerateAdditionalJavaFiles(IntrospectedTable) method is * called for each introspected table
  16. *
  17. The contextGenerateAdditionalXmlFiles(IntrospectedTable) method is called * for each introspected table
  18. *
  19. The contextGenerateAdditionalJavaFiles() method is called one time
  20. *
  21. The contextGenerateAdditionalXmlFiles() method is called one time
  22. *
* * Plugins are related to contexts - so each context will have its own set of * plugins. If the same plugin is specified in multiple contexts, then each * context will hold a unique instance of the plugin. *

* Plugins are called, and initialized, in the same order they are specified in * the configuration. *

* The clientXXX, modelXXX, and sqlMapXXX methods are called by the code * generators. If you replace the default code generators with other * implementations, these methods may not be called. * * @author Jeff Butler * @see PluginAdapter * */ public interface Plugin { public enum ModelClassType { PRIMARY_KEY, BASE_RECORD, RECORD_WITH_BLOBS } /** * Set the context under which this plugin is running * * @param context context */ void setContext(Context context); /** * Set properties from the plugin configuration * * @param properties properties */ void setProperties(Properties properties); /** * This method is called just before the getGeneratedXXXFiles methods are * called on the introspected table. Plugins can implement this method to * override any of the default attributes, or change the results of database * introspection, before any code generation activities occur. Attributes * are listed as static Strings with the prefix ATTR_ in IntrospectedTable. *

* A good example of overriding an attribute would be the case where a user * wanted to change the name of one of the generated classes, change the * target package, or change the name of the generated SQL map file. *

* Warning: Anything that is listed as an attribute should not be * changed by one of the other plugin methods. For example, if you want to * change the name of a generated example class, you should not simply * change the Type in the modelExampleClassGenerated() method. * If you do, the change will not be reflected in other generated artifacts. * * @param introspectedTable introspectedTable */ void initialized(IntrospectedTable introspectedTable); /** * This method is called after all the setXXX methods are called, but before * any other method is called. This allows the plugin to determine whether * it can run or not. For example, if the plugin requires certain properties * to be set, and the properties are not set, then the plugin is invalid and * will not run. * * @param warnings * add strings to this list to specify warnings. For example, if * the plugin is invalid, you should specify why. Warnings are * reported to users after the completion of the run. * @return true if the plugin is in a valid state. Invalid plugins will not * be called */ boolean validate(List warnings); /** * This method can be used to generate any additional Java file needed by * your implementation. This method is called once, after all other Java * files have been generated. * * @return a List of GeneratedJavaFiles - these files will be saved * with the other files from this run. */ List contextGenerateAdditionalJavaFiles(); /** * This method can be used to generate additional Java files needed by your * implementation that might be related to a specific table. This method is * called once for every table in the configuration. * * @param introspectedTable * The class containing information about the table as * introspected from the database * @return a List of GeneratedJavaFiles - these files will be saved * with the other files from this run. */ List contextGenerateAdditionalJavaFiles( IntrospectedTable introspectedTable); /** * This method can be used to generate any additional XML file needed by * your implementation. This method is called once, after all other XML * files have been generated. * * @return a List of GeneratedXmlFiles - these files will be saved * with the other files from this run. */ List contextGenerateAdditionalXmlFiles(); /** * This method can be used to generate additional XML files needed by your * implementation that might be related to a specific table. This method is * called once for every table in the configuration. * * @param introspectedTable * The class containing information about the table as * introspected from the database * @return a List of GeneratedXmlFiles - these files will be saved * with the other files from this run. */ List contextGenerateAdditionalXmlFiles( IntrospectedTable introspectedTable); /** * This method is called when the entire client has been generated. * Implement this method to add additional methods or fields to a generated * client interface or implementation. * * @param interfaze * the generated interface if any, may be null * @param topLevelClass * the generated implementation class if any, may be null * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the interface should be generated, false if the generated * interface should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the countByExample method has been generated * in the client implementation class. * * @param method * the generated countByExample method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientCountByExampleMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the deleteByExample method has been generated * in the client implementation class. * * @param method * the generated deleteByExample method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientDeleteByExampleMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the deleteByPrimaryKey method has been * generated in the client implementation class. * * @param method * the generated deleteByPrimaryKey method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientDeleteByPrimaryKeyMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the insert method has been generated in the * client implementation class. * * @param method * the generated insert method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientInsertMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the insert selective method has been generated * in the client implementation class. * * @param method * the generated insert method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientInsertSelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the selectByExampleWithBLOBs method has been * generated in the client implementation class. * * @param method * the generated selectByExampleWithBLOBs method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectByExampleWithBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the selectByExampleWithoutBLOBs method has * been generated in the client implementation class. * * @param method * the generated selectByExampleWithoutBLOBs method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectByExampleWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the selectByPrimaryKey method has been * generated in the client implementation class. * * @param method * the generated selectByPrimaryKey method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectByPrimaryKeyMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleSelective method has been * generated in the client implementation class. * * @param method * the generated updateByExampleSelective method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByExampleSelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithBLOBs method has been * generated in the client implementation class. * * @param method * the generated updateByExampleWithBLOBs method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByExampleWithBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithoutBLOBs method has * been generated in the client implementation class. * * @param method * the generated updateByExampleWithoutBLOBs method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByExampleWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeySelective method has * been generated in the client implementation class. * * @param method * the generated updateByPrimaryKeySelective method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByPrimaryKeySelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeyWithBLOBs method has * been generated in the client implementation class. * * @param method * the generated updateByPrimaryKeyWithBLOBs method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByPrimaryKeyWithBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeyWithoutBLOBs method has * been generated in the client implementation class. * * @param method * the generated updateByPrimaryKeyWithBLOBs method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the countByExample method has been generated * in the client interface. * * @param method * the generated countByExample method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientCountByExampleMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the deleteByExample method has been generated * in the client interface. * * @param method * the generated deleteByExample method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientDeleteByExampleMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the deleteByPrimaryKey method has been * generated in the client interface. * * @param method * the generated deleteByPrimaryKey method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientDeleteByPrimaryKeyMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the insert method has been generated in the * client interface. * * @param method * the generated insert method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientInsertMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the insert selective method has been generated * in the client interface. * * @param method * the generated insert method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientInsertSelectiveMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the selectAll method has been * generated in the client interface. This method is only generated by * the simple runtime. * * @param method * the generated selectAll method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectAllMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the selectAll method has been * generated in the client implementation class. * * @param method * the generated selectAll method * @param topLevelClass * the partially implemented client implementation class. You can * add additional imported classes to the implementation class if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectAllMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the selectByExampleWithBLOBs method has been * generated in the client interface. * * @param method * the generated selectByExampleWithBLOBs method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectByExampleWithBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the selectByExampleWithoutBLOBs method has * been generated in the client interface. * * @param method * the generated selectByExampleWithoutBLOBs method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectByExampleWithoutBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the selectByPrimaryKey method has been * generated in the client interface. * * @param method * the generated selectByPrimaryKey method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientSelectByPrimaryKeyMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleSelective method has been * generated in the client interface. * * @param method * the generated updateByExampleSelective method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByExampleSelectiveMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithBLOBs method has been * generated in the client interface. * * @param method * the generated updateByExampleWithBLOBs method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByExampleWithBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithoutBLOBs method has * been generated in the client interface. * * @param method * the generated updateByExampleWithoutBLOBs method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByExampleWithoutBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeySelective method has * been generated in the client interface. * * @param method * the generated updateByPrimaryKeySelective method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByPrimaryKeySelectiveMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeyWithBLOBs method has * been generated in the client interface. * * @param method * the generated updateByPrimaryKeyWithBLOBs method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByPrimaryKeyWithBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeyWithoutBLOBs method has * been generated in the client interface. * * @param method * the generated updateByPrimaryKeyWithoutBLOBs method * @param interfaze * the partially implemented client interface. You can add * additional imported classes to the interface if * necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated(Method method, Interface interfaze, IntrospectedTable introspectedTable); /** * This method is called after the field is generated for a specific column * in a table. * * @param field * the field generated for the specified column * @param topLevelClass * the partially implemented model class. You can add additional * imported classes to the implementation class if necessary. * @param introspectedColumn * The class containing information about the column related * to this field as introspected from the database * @param introspectedTable * The class containing information about the table as * introspected from the database * @param modelClassType * the type of class that the field is generated for * @return true if the field should be generated, false if the generated * field should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType); /** * This method is called after the getter, or accessor, method is generated * for a specific column in a table. * * @param method * the getter, or accessor, method generated for the specified * column * @param topLevelClass * the partially implemented model class. You can add additional * imported classes to the implementation class if necessary. * @param introspectedColumn * The class containing information about the column related * to this field as introspected from the database * @param introspectedTable * The class containing information about the table as * introspected from the database * @param modelClassType * the type of class that the field is generated for * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType); /** * This method is called after the setter, or mutator, method is generated * for a specific column in a table. * * @param method * the setter, or mutator, method generated for the specified * column * @param topLevelClass * the partially implemented model class. You can add additional * imported classes to the implementation class if necessary. * @param introspectedColumn * The class containing information about the column related * to this field as introspected from the database * @param introspectedTable * The class containing information about the table as * introspected from the database * @param modelClassType * the type of class that the field is generated for * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType); /** * This method is called after the primary key class is generated by the * JavaModelGenerator. This method will only be called if * the table rules call for generation of a primary key class. *

* This method is only guaranteed to be called by the Java * model generators. Other user supplied generators may, or may not, call * this method. * * @param topLevelClass * the generated primary key class * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the class should be generated, false if the generated * class should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean modelPrimaryKeyClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called after the base record class is generated by the * JavaModelGenerator. This method will only be called if * the table rules call for generation of a base record class. *

* This method is only guaranteed to be called by the default Java * model generators. Other user supplied generators may, or may not, call * this method. * * @param topLevelClass * the generated base record class * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the class should be generated, false if the generated * class should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called after the record with BLOBs class is generated by * the JavaModelGenerator. This method will only be called * if the table rules call for generation of a record with BLOBs class. *

* This method is only guaranteed to be called by the default Java * model generators. Other user supplied generators may, or may not, call * this method. * * @param topLevelClass * the generated record with BLOBs class * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the class should be generated, false if the generated * class should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean modelRecordWithBLOBsClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called after the example class is generated by the * JavaModelGenerator. This method will only be called if the table * rules call for generation of an example class. *

* This method is only guaranteed to be called by the default Java * model generators. Other user supplied generators may, or may not, call * this method. * * @param topLevelClass * the generated example class * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the class should be generated, false if the generated * class should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean modelExampleClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the SqlMap file has been generated. * * @param sqlMap * the generated file (containing the file name, package name, * and project name) * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the sqlMap should be generated, false if the generated * sqlMap should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapGenerated(GeneratedXmlFile sqlMap, IntrospectedTable introspectedTable); /** * This method is called when the SqlMap document has been generated. This * method can be used to add additional XML elements the the generated * document. * * @param document * the generated document (note that this is the MyBatis generator's internal * Document class - not the w3c XML Document class) * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the document should be generated, false if the generated * document should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. Also, if any plugin returns false, then the * sqlMapGenerated method will not be called. */ boolean sqlMapDocumentGenerated(Document document, IntrospectedTable introspectedTable); /** * This method is called when the base resultMap is generated. * * @param element * the generated <resultMap> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapResultMapWithoutBLOBsElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the countByExample element is generated. * * @param element * the generated <select> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapCountByExampleElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the deleteByExample element is generated. * * @param element * the generated <delete> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapDeleteByExampleElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the deleteByPrimaryKey element is generated. * * @param element * the generated <delete> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapDeleteByPrimaryKeyElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the exampleWhereClause element is generated. * * @param element * the generated <sql> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapExampleWhereClauseElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the baseColumnList element is generated. * * @param element * the generated <sql> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapBaseColumnListElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the blobColumnList element is generated. * * @param element * the generated <sql> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapBlobColumnListElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the insert element is generated. * * @param element * the generated <insert> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapInsertElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the insert selective element is generated. * * @param element * the generated <insert> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapInsertSelectiveElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the resultMap with BLOBs element is generated * - this resultMap will extend the base resultMap. * * @param element * the generated <resultMap> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapResultMapWithBLOBsElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the selectAll element is generated. * * @param element * the generated <select> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapSelectAllElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the selectByPrimaryKey element is generated. * * @param element * the generated <select> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapSelectByPrimaryKeyElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the selectByExample element is generated. * * @param element * the generated <select> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapSelectByExampleWithoutBLOBsElementGenerated( XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the selectByExampleWithBLOBs element is * generated. * * @param element * the generated <select> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapSelectByExampleWithBLOBsElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleSelective element is * generated. * * @param element * the generated <update> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapUpdateByExampleSelectiveElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithBLOBs element is * generated. * * @param element * the generated <update> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapUpdateByExampleWithBLOBsElementGenerated(XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithourBLOBs element is * generated. * * @param element * the generated <update> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapUpdateByExampleWithoutBLOBsElementGenerated( XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeySelective element is * generated. * * @param element * the generated <update> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapUpdateByPrimaryKeySelectiveElementGenerated( XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeyWithBLOBs element is * generated. * * @param element * the generated <update> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapUpdateByPrimaryKeyWithBLOBsElementGenerated( XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeyWithoutBLOBs element is * generated. * * @param element * the generated <update> element * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the element should be generated, false if the generated * element should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated( XmlElement element, IntrospectedTable introspectedTable); /** * This method is called when the SQL provider has been generated. * Implement this method to add additional methods or fields to a generated * SQL provider. * * @param topLevelClass * the generated provider * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the provider should be generated, false if the generated * provider should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the applyWhere method has * been generated in the SQL provider. * * @param method * the generated applyWhere method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerApplyWhereMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the countByExample method has * been generated in the SQL provider. * * @param method * the generated countByExample method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerCountByExampleMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the deleteByExample method has * been generated in the SQL provider. * * @param method * the generated deleteByExample method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerDeleteByExampleMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the insertSelective method has * been generated in the SQL provider. * * @param method * the generated insertSelective method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerInsertSelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the selectByExampleWithBLOBs method has * been generated in the SQL provider. * * @param method * the generated selectByExampleWithBLOBs method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerSelectByExampleWithBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the selectByExampleWithoutBLOBs method has * been generated in the SQL provider. * * @param method * the generated selectByExampleWithoutBLOBs method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerSelectByExampleWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleSelective method has * been generated in the SQL provider. * * @param method * the generated updateByExampleSelective method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerUpdateByExampleSelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithBLOBs method has * been generated in the SQL provider. * * @param method * the generated updateByExampleWithBLOBs method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerUpdateByExampleWithBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByExampleWithoutBLOBs method has * been generated in the SQL provider. * * @param method * the generated updateByExampleWithoutBLOBs method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerUpdateByExampleWithoutBLOBsMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); /** * This method is called when the updateByPrimaryKeySelective method has * been generated in the SQL provider. * * @param method * the generated updateByPrimaryKeySelective method * @param topLevelClass * the partially generated provider class * You can add additional imported classes to the class * if necessary. * @param introspectedTable * The class containing information about the table as * introspected from the database * @return true if the method should be generated, false if the generated * method should be ignored. In the case of multiple plugins, the * first plugin returning false will disable the calling of further * plugins. */ boolean providerUpdateByPrimaryKeySelectiveMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedTable introspectedTable); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy