Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Extension Point Plugins

Extension point plugins, introduced in the Kettle 5 API, allow someone to add plugins to the Kettle ecosystem for execution at specific points in the Kettle code.

The plugin implements the ExtensionPointInterface interface:

public interface ExtensionPointInterface {

  /**
   * This method is called by the Kettle code
   * @param log the logging channel to log debugging information to
   * @param object The subject object that is passed to the plugin code
   * @throws KettleException In case the plugin decides that an error has occurred and the parent process should stop.
   */
  public void callExtensionPoint(LogChannelInterface log, Object object) throws KettleException;
}

The following extension points are available by default (see the KettleExtensionPoint enum):

ID

Description

Java object passed

TransformationPrepareExecution

A transformation begins to prepare execution

Trans

TransformationStartThreads

A transformation begins to start

Trans

TransformationStart

A transformation has started

Trans

TransformationFinish

A transformation finishes

Trans

TransformationMetaLoaded

Transformation metadata was loaded

TransMeta

SpoonTransMetaExecutionStart

Spoon initiates the execution of a transformation

TransMeta

SpoonTransExecutionConfiguration

Right before the configuration of a transformation to be executed takes place in Spoon

TransExecutionConfiguration

JobStart

A job starts

Job

JobFinish

A job finishes

Job

JobBeforeJobEntryExecution

Before a job entry executes

JobExecutionExtension

JobAfterJobEntryExecution

After a job entry executes

JobExecutionExtension

JobBeginProcessing

Start of a job at the end of the log table handling

JobExecutionExtension

JobPainterArrow

Draw additional information on top of a job hop (arrow)

JobPainterExtension

JobGraphJobEntrySetMenu

Manipulate the menu on right click on a job entry

JobGraphJobEntryMenuExtension

JobMetaLoaded

Job metadata was loaded

JobMeta

SpoonJobMetaExecutionStart

Spoon initiates the execution of a job

JobMeta

SpoonJobExecutionConfiguration

Right before the configuration of a job to be executed takes place in Spoon

JobExecutionConfiguration

DatabaseConnected

After a successful connection to a database

Database

DatabaseDisconnected

After a successful disconnection from a database

Database

StepBeforeInitialize

Before a step is about to be initialized

StepInitThread

StepAfterInitialize

After a step is initialized

StepInitThread

StepBeforeStart

Before a step is about to be started

StepMetaDataCombi

StepFinished 

After a step has finished 

StepMetaDataCombi

The class implementing the ExtensionPointInterface should be annotated with @ExtensionPoint.  The following information needs to be passed:

  • id : the unique ID of the plugin
  • extensionPointId: the extension point ID, see the table above for the available extension points
  • description: a description so that folks can see what it does in the plugin browser
  • No labels