Apache MyFaces
Project Documentation
Foundation

myfaces-builder:make-converter-tags

Maven goal to generate java source code for Component tag classes.

It uses velocity to generate templates, and has the option to define custom templates.

The executed template has the following variables available to it:

  • utils : Returns an instance of org.apache.myfaces.buildtools.maven2.plugin.builder.utils.MyfacesUtils, it contains some useful methods.
  • converter : Returns the current instance of org.apache.myfaces.buildtools.maven2.plugin.builder.model.ConverterMeta

Mojo Attributes:

  • Requires a Maven 2.0 project to execute.
  • Requires dependency resolution of artifacts in scope: compile
  • Automatically executes within the lifecycle phase: generate-sources

Required Parameters

Name Type Description
generatedSourceDirectory File The directory where all generated files are created. This directory is added as a compile source root automatically like src/main/java is.

Optional Parameters

Name Type Description
buildDirectory File Defines the directory where the metadata file (META-INF/myfaces-metadata.xml) is loaded.
force boolean Log and continue execution when generating converter tag classes.

If this property is set to false (default), errors when a converter tag class is generated stops execution immediately.

jsfVersion String Defines the jsf version (1.1 or 1.2), used to take the default templates for each version.

If version is 1.1, the default templateTagName is 'tagConverterClass11.vm' and if version is 1.2 the default templateTagName is 'tagConverterClass12.vm'.

mainSourceDirectory File This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception.
mainSourceDirectory2 File This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception.
metadataFile String Injected name of file generated by earlier run of BuildMetaDataMojo goal.
modelIds List Define the models that should be included when generate converter tag classes. If not set, the current model identified by the artifactId is used.

Each model built by build-metadata goal has a modelId, that by default is the artifactId of the project. Setting this property defines which objects tied in a specified modelId should be taken into account.

In this case, limit converter tag generation only to the components defined in the models identified by the modelId defined.

This is useful when you need to generate files that take information defined on other projects.

Example:

<modelIds>
<modelId>model1</modelId>
<modelId>model2</modelId>
</modelIds>
packageContains String Only generate tag classes that contains that package prefix
templateSourceDirectory File The directory used to load templates into velocity environment.
templateTagName String The name of the template used to generate converter tag classes. According to the value on jsfVersion property the default if this property is not set could be tagConverterClass11.vm (1.1) or tagConverterClass12.vm (1.2)
typePrefix String Only generate tag classes that its component starts with this type prefix

Parameter Details

buildDirectory

Defines the directory where the metadata file (META-INF/myfaces-metadata.xml) is loaded.

  • Type: java.io.File
  • Required: No
  • Expression: ${project.build.directory}/generated-resources/myfaces-builder-plugin

force

Log and continue execution when generating converter tag classes.

If this property is set to false (default), errors when a converter tag class is generated stops execution immediately.

  • Type: boolean
  • Required: No

generatedSourceDirectory

The directory where all generated files are created. This directory is added as a compile source root automatically like src/main/java is.

  • Type: java.io.File
  • Required: Yes
  • Expression: ${project.build.directory}/generated-sources/myfaces-builder-plugin

jsfVersion

Defines the jsf version (1.1 or 1.2), used to take the default templates for each version.

If version is 1.1, the default templateTagName is 'tagConverterClass11.vm' and if version is 1.2 the default templateTagName is 'tagConverterClass12.vm'.

  • Type: java.lang.String
  • Required: No

mainSourceDirectory

This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception.

  • Type: java.io.File
  • Required: No
  • Expression: src/main/java

mainSourceDirectory2

This param is used to search in this folder if some file to be generated exists and avoid generation and duplicate exception.

  • Type: java.io.File
  • Required: No

metadataFile

Injected name of file generated by earlier run of BuildMetaDataMojo goal.

  • Type: java.lang.String
  • Required: No

modelIds

Define the models that should be included when generate converter tag classes. If not set, the current model identified by the artifactId is used.

Each model built by build-metadata goal has a modelId, that by default is the artifactId of the project. Setting this property defines which objects tied in a specified modelId should be taken into account.

In this case, limit converter tag generation only to the components defined in the models identified by the modelId defined.

This is useful when you need to generate files that take information defined on other projects.

Example:

<modelIds>
<modelId>model1</modelId>
<modelId>model2</modelId>
</modelIds>
  • Type: java.util.List
  • Required: No

packageContains

Only generate tag classes that contains that package prefix

  • Type: java.lang.String
  • Required: No

templateSourceDirectory

The directory used to load templates into velocity environment.

  • Type: java.io.File
  • Required: No
  • Expression: src/main/resources/META-INF

templateTagName

The name of the template used to generate converter tag classes. According to the value on jsfVersion property the default if this property is not set could be tagConverterClass11.vm (1.1) or tagConverterClass12.vm (1.2)

  • Type: java.lang.String
  • Required: No

typePrefix

Only generate tag classes that its component starts with this type prefix

  • Type: java.lang.String
  • Required: No