Class CacheNamespacePlugin

java.lang.Object
org.mybatis.generator.api.PluginAdapter
org.mybatis.generator.plugins.CacheNamespacePlugin
All Implemented Interfaces:
Plugin

public class CacheNamespacePlugin extends PluginAdapter
This plugin adds a CacheNamespace annotation to generated Java or Kotlin mapper interfaces. The plugin accepts the following properties (all are optional):
  • cache_blocking
  • cache_flushInterval
  • cache_readWrite
  • cache_size
  • cache_implementation
  • cache_eviction
  • cache_skip

All properties (except cache_skip) correspond to properties of the MyBatis CacheNamespace annotation. Most properties are passed "as is" to the corresponding properties of the generated annotation. The properties "cache_implementation" and "cache_eviction" must be fully qualified class names. If specified, the values will be added to the import list of the mapper file, and the short names will be used in the generated annotation. All properties can be specified at the table level, or on the plugin element. The property on the table element will override any property on the plugin element.

If the "cache_skip" property is set to "true" - either on the plugin or on a specific table, the annotation will not be applied to the generated interface.

Author:
Jeff Butler
  • Constructor Details

    • CacheNamespacePlugin

      public CacheNamespacePlugin()
  • Method Details

    • validate

      public boolean validate(List<String> arg0)
      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:
      arg0 - 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
    • clientGenerated

      public boolean clientGenerated(Interface interfaze, IntrospectedTable introspectedTable)
      Description copied from interface: Plugin
      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.
      Parameters:
      interfaze - the generated interface if any, may be null
      introspectedTable - The class containing information about the table as introspected from the database
      Returns:
      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.
    • mapperGenerated

      public boolean mapperGenerated(KotlinFile mapperFile, KotlinType mapper, IntrospectedTable introspectedTable)