org.mybatis.generator.plugins
Class SerializablePlugin

java.lang.Object
  extended by org.mybatis.generator.api.PluginAdapter
      extended by org.mybatis.generator.plugins.SerializablePlugin
All Implemented Interfaces:
Plugin

public class SerializablePlugin
extends PluginAdapter

This plugin adds the java.io.Serializable marker interface to all generated model objects.

This plugin demonstrates adding capabilities to generated Java artifacts, and shows the proper way to add imports to a compilation unit.

Important: This is a simplistic implementation of serializable and does not attempt to do any versioning of classes.

Author:
Jeff Butler

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.mybatis.generator.api.Plugin
Plugin.ModelClassType
 
Field Summary
 
Fields inherited from class org.mybatis.generator.api.PluginAdapter
context, properties
 
Constructor Summary
SerializablePlugin()
           
 
Method Summary
protected  void makeSerializable(TopLevelClass topLevelClass, IntrospectedTable introspectedTable)
           
 boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable)
          This method is called after the base record class is generated by the JavaModelGenerator.
 boolean modelPrimaryKeyClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable)
          This method is called after the primary key class is generated by the JavaModelGenerator.
 boolean modelRecordWithBLOBsClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable)
          This method is called after the record with BLOBs class is generated by the JavaModelGenerator.
 void setProperties(Properties properties)
          Set properties from the plugin configuration
 boolean validate(List<String> warnings)
          This method is called after all the setXXX methods are called, but before any other method is called.
 
Methods inherited from class org.mybatis.generator.api.PluginAdapter
clientCountByExampleMethodGenerated, clientCountByExampleMethodGenerated, clientDeleteByExampleMethodGenerated, clientDeleteByExampleMethodGenerated, clientDeleteByPrimaryKeyMethodGenerated, clientDeleteByPrimaryKeyMethodGenerated, clientGenerated, clientInsertMethodGenerated, clientInsertMethodGenerated, clientInsertSelectiveMethodGenerated, clientInsertSelectiveMethodGenerated, clientSelectAllMethodGenerated, clientSelectAllMethodGenerated, clientSelectByExampleWithBLOBsMethodGenerated, clientSelectByExampleWithBLOBsMethodGenerated, clientSelectByExampleWithoutBLOBsMethodGenerated, clientSelectByExampleWithoutBLOBsMethodGenerated, clientSelectByPrimaryKeyMethodGenerated, clientSelectByPrimaryKeyMethodGenerated, clientUpdateByExampleSelectiveMethodGenerated, clientUpdateByExampleSelectiveMethodGenerated, clientUpdateByExampleWithBLOBsMethodGenerated, clientUpdateByExampleWithBLOBsMethodGenerated, clientUpdateByExampleWithoutBLOBsMethodGenerated, clientUpdateByExampleWithoutBLOBsMethodGenerated, clientUpdateByPrimaryKeySelectiveMethodGenerated, clientUpdateByPrimaryKeySelectiveMethodGenerated, clientUpdateByPrimaryKeyWithBLOBsMethodGenerated, clientUpdateByPrimaryKeyWithBLOBsMethodGenerated, clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated, clientUpdateByPrimaryKeyWithoutBLOBsMethodGenerated, contextGenerateAdditionalJavaFiles, contextGenerateAdditionalJavaFiles, contextGenerateAdditionalXmlFiles, contextGenerateAdditionalXmlFiles, getContext, getProperties, initialized, modelExampleClassGenerated, modelFieldGenerated, modelGetterMethodGenerated, modelSetterMethodGenerated, providerApplyWhereMethodGenerated, providerCountByExampleMethodGenerated, providerDeleteByExampleMethodGenerated, providerGenerated, providerInsertSelectiveMethodGenerated, providerSelectByExampleWithBLOBsMethodGenerated, providerSelectByExampleWithoutBLOBsMethodGenerated, providerUpdateByExampleSelectiveMethodGenerated, providerUpdateByExampleWithBLOBsMethodGenerated, providerUpdateByExampleWithoutBLOBsMethodGenerated, providerUpdateByPrimaryKeySelectiveMethodGenerated, setContext, sqlMapBaseColumnListElementGenerated, sqlMapBlobColumnListElementGenerated, sqlMapCountByExampleElementGenerated, sqlMapDeleteByExampleElementGenerated, sqlMapDeleteByPrimaryKeyElementGenerated, sqlMapDocumentGenerated, sqlMapExampleWhereClauseElementGenerated, sqlMapGenerated, sqlMapInsertElementGenerated, sqlMapInsertSelectiveElementGenerated, sqlMapResultMapWithBLOBsElementGenerated, sqlMapResultMapWithoutBLOBsElementGenerated, sqlMapSelectAllElementGenerated, sqlMapSelectByExampleWithBLOBsElementGenerated, sqlMapSelectByExampleWithoutBLOBsElementGenerated, sqlMapSelectByPrimaryKeyElementGenerated, sqlMapUpdateByExampleSelectiveElementGenerated, sqlMapUpdateByExampleWithBLOBsElementGenerated, sqlMapUpdateByExampleWithoutBLOBsElementGenerated, sqlMapUpdateByPrimaryKeySelectiveElementGenerated, sqlMapUpdateByPrimaryKeyWithBLOBsElementGenerated, sqlMapUpdateByPrimaryKeyWithoutBLOBsElementGenerated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SerializablePlugin

public SerializablePlugin()
Method Detail

validate

public boolean validate(List<String> warnings)
Description copied from interface: Plugin
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.

Parameters:
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.
Returns:
true if the plugin is in a valid state. Invalid plugins will not be called

setProperties

public void setProperties(Properties properties)
Description copied from interface: Plugin
Set properties from the plugin configuration

Specified by:
setProperties in interface Plugin
Overrides:
setProperties in class PluginAdapter

modelBaseRecordClassGenerated

public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass,
                                             IntrospectedTable introspectedTable)
Description copied from interface: Plugin
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.

Specified by:
modelBaseRecordClassGenerated in interface Plugin
Overrides:
modelBaseRecordClassGenerated in class PluginAdapter
Parameters:
topLevelClass - the generated base record class
introspectedTable - The class containing information about the table as introspected from the database
Returns:
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.

modelPrimaryKeyClassGenerated

public boolean modelPrimaryKeyClassGenerated(TopLevelClass topLevelClass,
                                             IntrospectedTable introspectedTable)
Description copied from interface: Plugin
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.

Specified by:
modelPrimaryKeyClassGenerated in interface Plugin
Overrides:
modelPrimaryKeyClassGenerated in class PluginAdapter
Parameters:
topLevelClass - the generated primary key class
introspectedTable - The class containing information about the table as introspected from the database
Returns:
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.

modelRecordWithBLOBsClassGenerated

public boolean modelRecordWithBLOBsClassGenerated(TopLevelClass topLevelClass,
                                                  IntrospectedTable introspectedTable)
Description copied from interface: Plugin
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.

Specified by:
modelRecordWithBLOBsClassGenerated in interface Plugin
Overrides:
modelRecordWithBLOBsClassGenerated in class PluginAdapter
Parameters:
topLevelClass - the generated record with BLOBs class
introspectedTable - The class containing information about the table as introspected from the database
Returns:
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.

makeSerializable

protected void makeSerializable(TopLevelClass topLevelClass,
                                IntrospectedTable introspectedTable)


Copyright © 2010-2012 MyBatis.org. All Rights Reserved.