-
Notifications
You must be signed in to change notification settings - Fork 1
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 |