Skip to content
This repository was archived by the owner on Dec 28, 2018. It is now read-only.

Component_XML_Generation

filipmaelbrancke edited this page Dec 28, 2012 · 1 revision

component.xml generation

Using this LiveCycle Maven plugin, it is also possible to auto generate the component.xml that is needed for a LiveCycle custom component.

This not only makes the development task easier, but it also has the added bonus that auto generation of the component.xml gets rid of duplicate work, like documenting the methods in your custom component in their JavaDoc as well as in the component.xml. It is far easier to have automatic generation of the component.xml, based on the actual Java source code, its JavaDoc, and some added doclet tags. This automatic generation instead of manual editing of the component.xml file also has the added benefit of never making a typo whereby the custom component not fully works when deployed.

The automatic component.xml generation uses the Java source code, the java doc and a couple of livecycle-maven-plugin specific xdoclet annotations. The following tags are supported and can be added in the custom component's javadoc:

Doclet tag Class/Method Meaning Default
@DSC Class Marks a class as being a service to be included as custom component. Only classes annotated with this doclet tag will be included as services! N/A
@major Class Overrides the major configured component version for the specific service class. The value should be an integer! The first part of the configured component version (eg. if the version is 2.3, the major version is 2 by default)
@minor Class Overrides the minor configured component version for the specific service class. The value should be an integer! The second part of the configured component version (eg. if the version is 2.3, the minor version is 3 by default)
@largeIcon Class The large icon that should be used for this service. The actual file should be a resource of the project, as it must be for custom component icons in general. The icon should ideally be 100x100 pixels. None
@smallIcon Class The small icon that should be used for this service. The actual file should be a resource of the project, as it must be for custom component icons in general. The icon should ideally be 16x16 pixels. None
@operationName Method Overrides the default operation name derived from the method name. Operation names must be unique, a runtime exception will occur if duplicates are detected. In general, the eventual operation name is used to generate the title as well. The method name itself. If an overloaded method is detected, the following is done to avoid duplicates: The method name is appended with "With" and the parameter type for each parameter.
@param Method Uses the first part as the parameter name for an operation, and the second part as hint. N/A. In the current version you MUST have a valid param doclet tag for each parameter, otherwise null pointer exceptions will be thrown.
@outputParamName Method Overrides the default "out" as output parameter name. out
@return Method The value is used as hint for the output parameter. None
@default Method (setter method) Specifies the default value for a configuration parameter of the service. None
@required Method (setter method) Specifies if a configuration parameter is required. false

Clone this wiki locally