Class DataBoundTokenMacro

java.lang.Object
org.jenkinsci.plugins.tokenmacro.TokenMacro
org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro
All Implemented Interfaces:
ExtensionPoint
Direct Known Subclasses:
AbstractChangesSinceMacro, BuildCauseMacro, BuildLogExcerptMacro, BuildLogMacro, BuildLogMultilineRegexMacro, BuildLogRegexMacro, BuildStatusMacro, ChangesSinceLastBuildMacro, EnvironmentVariableMacro, JenkinsUrlMacro, JobDescriptionMacro, LogRegExMacro, ProjectNameMacro, ProjectUrlMacro, UpstreamRunNameMacro, WorkspaceDependentMacro

public abstract class DataBoundTokenMacro extends TokenMacro
Convenient base class for implementing TokenMacro that does parameter databinding to fields.

When you define your token macro as a subtype of this class, a fresh instance is created for each evaluation, and fields or setters with the DataBoundTokenMacro.Parameter annotation will receive the corresponding parameter values, then the evaluate(AbstractBuild, TaskListener, String) method gets invoked.

In this way, you simplify the parameter parsing and type conversion overhead.

Author:
Kohsuke Kawaguchi