XDoclet: Attribute-Oriented Programming - Tag Reference

##### XDoclet

- Overview
- News and Status
- Download/Installation
- Using XDoclet
- Best Practices
- FAQ
- License

##### Ant Task Reference

- <doclet .. />
- <ejbdoclet .. />
- <hibernatedoclet .. />
- <jdodoclet .. />
- <jmxdoclet .. />
- <mockdoclet .. />
- <portletdoclet .. />
- <springdoclet .. />
- <tapestrydoclet .. />
- <webdoclet .. />
- <wseedoclet .. />

##### Tag Reference

- apache (@soap @struts @axis @tapestry)
- bea (@weblogic)
- borland (@bes)
- caucho (@resin)
- ejb (@ejb @dao)
- exolab (@castor)
- hp (@hpas)
- hibernate (@hibernate)
- ibm (@websphere)
- java (@javabean)
- jboss (@jboss)
- jdo (@jdo)
- jmx (@jmx)
- jsf (@jsf)
- macromedia (@jrun)
- mockobjects (@mock)
- mvcsoft (@mvcsoft)
- mx4j (@mx4j)
- objectweb (@jonas)
- oracle (@oc4j)
- orion (@orion)
- portlet (@portlet)
- pramati (@pramati)
- spring (@spring)
- sun (@sunone)
- sybase (@easerver)
- tjdo (@tjdo)
- web (@web @jsp)
- webwork (@webwork)
- wsee (@wsee)
- xdoclet (@xdoclet @doc @msg)

##### Feature Documentation

- Using Value Objects
- EJB Environment Handling

##### Advanced

- Maven Plug-in
- Merge Points
- IDE Integration
- Migration from EJBDoclet
- Ant 1.5 Troubleshooting

##### Community

- Feedback
- Resources
- Tools

##### Development

- Developer Guide
- Javadoc (API)
- Template Language (*.xdt)
- XJavaDoc Site

##### Search XDoclet

##### Project Documentation

- About XDoclet
- Project Info
- Project Reports
- Development Process

## @tapestry Tag Reference

Tags for declaration of Apache Tapestry services

Applies to: POJO

### @tapestry Class Level Tags

@tapestry.bean
@tapestry.binding
@tapestry.component
@tapestry.component-specification
@tapestry.context-asset
@tapestry.external-asset
@tapestry.inherited-binding
@tapestry.listener-binding
@tapestry.message-binding
@tapestry.page-specification
@tapestry.parameter
@tapestry.private-asset
@tapestry.property
@tapestry.property-specification
@tapestry.reserved-parameter
@tapestry.set-message-property
@tapestry.set-property
@tapestry.static-binding

### @tapestry Method Level Tags

### @tapestry Field Level Tags

## @tapestry Class Level Tag Usage

### @tapestry.bean (0..1)

Defines a JavaBean that will be used in some way by the component.

Applies to: Class must be either a page-specification or comopnent-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
description | text |  | A description of the bean. | false
name | text |  | The name of the bean. | true
class | text |  | The class of the bean. | true
lifecycle | text |  | When the reference to the bean should be discarded. Valid options are: none request page render Default value(s): request | false

### @tapestry.binding (0..*)

Binds a parameter of the component to a OGNL expression, relative to its container.

Applies to: Must have at least 1 component.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the component parameter to bind. | true
expression | text |  | The OGNL expression. | true
component | text |  | The name of the component this binding belongs to. | true

### @tapestry.component (0..*)

Defines a component.

Applies to: Class must be either a page-specification or comopnent-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
description | text |  | A description of the bean. | false
id | text |  | A unique identifier for the component within the container. | true
class | text |  | The type of component, either a well known logical name or the complete path to the component's specification. | false
copy-of | text |  | The id of a previously defined component; this component will be a copy of the other component. | false
inherit-informal-parameters | text |  | ? Valid options are: yes no Default value(s): no | false

### @tapestry.component-specification (0..1)

Declares the class a Tapestry component.

Applies to: POJO

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
description | text |  | A description of the component. | false

### @tapestry.context-asset (0..1)

An asset located in the same web application context as the running application.

Applies to: Class must be either a page-specification or comopnent-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the asset. | true
path | text |  | The path, relative to the web application context, of the resource. | true

### @tapestry.external-asset (0..1)

Defines an asset at some external source.

Applies to: Class must be either a page-specification or comopnent-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the asset. | true
URL | text |  | The URL used to reference the asset. | true

### @tapestry.inherited-binding (0..*)

Binds a parameter of the component to a parameter of the container.

Applies to: Must have at least 1 component.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the component parameter to bind. | true
parameter-name | text |  | The name of the container parameter to bind the component parameter to. | true
component | text |  | The name of the component this binding belongs to. | true

### @tapestry.listener-binding (0..*)

Binds a parameter of the component to a OGNL expression, relative to its container.

Applies to: Must have at least 1 component.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the component parameter to bind. | true
language | text |  | The language the script is written in. | false
script | text |  | The script. | true
component | text |  | The name of the component this binding belongs to. | true

### @tapestry.message-binding (0..*)

Binds a parameter of the component to a localized message of its container.

Applies to: Must have at least 1 component.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the component parameter to bind. | true
key | text |  | The key used to access a localized string. | true
component | text |  | The name of the component this binding belongs to. | true

### @tapestry.page-specification (0..1)

Declares the class a Tapestry page.

Applies to: POJO

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
description | text |  | A description of the page. | false

### @tapestry.parameter (0..*)

Defines a formal parameter for the component.

Applies to: Must be a component-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | A unique name for the parameter. | true
type | text |  | The name of a Java class or primitive type expected by the parameter. | false
required | text |  | ? Valid options are: yes no Default value(s): no | false
property-name | text |  | The name to use, instead of the parameter name, for the JavaBean property connected to this parameter. | false
default-value | text |  | Specifies the default value for the parameter, if the parameter is not bound. | false
direction | text |  | ? Valid options are: in form custom auto Default value(s): custom | false

### @tapestry.private-asset (0..1)

An asset available within the Java classpath (i.e., bundled inside a JAR or WAR).

Applies to: Class must be either a page-specification or comopnent-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the asset. | true
resource-path | text |  | The complete pathname of the resource. | true

### @tapestry.property (0..*)

Declares a property (name/value pair) to be at the page/component specification level and within other items.

Applies to: Class must be either a page-specification or comopnent-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the property to set. | true
value | text |  | The value of the property. | true
component | text |  | The name of the component this property belongs to. | false
bean | text |  | The name of the bean this property belongs to. | false
external-asset | text |  | The name of the external-asset this property belongs to. | false
context-asset | text |  | The name of the context-asset this property belongs to. | false
private-asset | text |  | The name of the private-asset this property belongs to. | false

### @tapestry.property-specification (0..1)

Identifies a transient or persistent property.

Applies to: Class must be either a page-specification or comopnent-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the property. | true
type | text |  | The type of the value, either the name of a scalar type, or the fully qualified name of a class. | false
persistent | text |  | Whether the value will be made persistant. Valid options are: yes no Default value(s): no | false
initial-value | text |  | The initial value of the property. | false
initial-value-ognl | text |  | The OGNL expression to set the initial value of the property. | false

### @tapestry.reserved-parameter (0..*)

Identifies a name which may not be used as an informal parameter.

Applies to: Must be a component-specification.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The parameter name to reserve. | true

### @tapestry.set-message-property (0..*)

Sets a property of a string from a localized string.

Applies to: Must have at least 1 bean.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the property to set. | true
key | text |  | The key used to access a localized string. | true
bean | text |  | The name of the bean this set-message-property belongs to. | true

### @tapestry.set-property (0..*)

Used to initialize a property of a helper bean.

Applies to: Must have at least 1 bean.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the property to set. | true
expression | text |  | The OGNL expression that provides a value. | true
bean | text |  | The name of the bean this set-property belongs to. | true

### @tapestry.static-binding (0..*)

Binds a parameter of the component to a static value defined directly within this specification.

Applies to: Must have at least 1 component.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the component parameter to bind. | true
value | text |  | The value of the binding. | true
component | text |  | The name of the component this binding belongs to. | true

## @tapestry Method Level Tag Usage

## @tapestry Field Level Tag Usage

## @axis Tag Reference

Tags for declaration of Apache Axis services

Applies to: POJO

### @axis Class Level Tags

@axis.service

### @axis Method Level Tags

@axis.method

### @axis Field Level Tags

## @axis Class Level Tag Usage

### @axis.service (0..1)

Declares the class an Axis SOAP service.

Applies to: POJO

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
urn | text |  | Define the service's name. | true
scope | text |  | Define the service scope. Valid options are: Request Session Application Default value(s): Request | true
provider | text |  | Specifies the provider type. Default value(s): "java:EJB" for EJBs, "java:RPC" for non-EJBs. Valid options are: java:RPC java:MSG java:EJB | false
include-all | bool |  | If set to true, all methods will be exposed, without regard to whether or not they are tagged with @axis.method. Default value(s): false | false
namespace | text |  | Define the service's namespace. | false

## @axis Method Level Tag Usage

### @axis.method (0..1)

Declares the method a SOAP service method. Does not have any parameters. Note: By default "create" methods of session bean is used, no need to explicitly specify a method as axis.method.

Applies to: Method level

## @axis Field Level Tag Usage

## @soap Tag Reference

Tags for declaration of Apache SOAP services

Applies to: POJO

### @soap Class Level Tags

@soap.service

### @soap Method Level Tags

@soap.method

### @soap Field Level Tags

## @soap Class Level Tag Usage

### @soap.service (0..1)

Declares the class a SOAP service.

Applies to: POJO

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
scope | text |  | Define the service scope. Valid options are: Page Request Session Application Default value(s): Page | true
provider | text |  | Specifies the provider class name. There's special support for EJB beans, so if you do not specify the provider parameter, Apache Soap tries to assign the correct provider name to the service based on the type of the EJB bean. The provider name for the EJB is taken from statelessSessionEjbProvider or statefulSessionEjbProvider or entityEjbProvider configuration parameters based on the EJBean type. | false
urn | text |  | The URN for the service. | false
type | text |  | Sets the service type. The only valid value is "message". Valid options are: message | false
checkMustUnderstands | bool |  | Declares whether or not the server is to throw a Fault if there are SOAP headers in the request which are marked as "MustUnderstand". | false

## @soap Method Level Tag Usage

### @soap.method (0..1)

Declares the method a SOAP service method. Does not have any parameters. Note: By default "create" methods of session bean is used, no need to explicitly specify a method as soap.method. All methods declared in remote interface of an EJB are automatically exposed to SOAP clients by default.

Applies to: Method level

## @soap Field Level Tag Usage

## @struts Tag Reference

Defines a form bean and its attributes.

Applies to: Applicable to pojos (i.e. Hibernate objects), entity beans and struts actions

### @struts Class Level Tags

@struts.action
@struts.action-exception
@struts.action-forward
@struts.action-set-property
@struts.dynaform
@struts.form

### @struts Method Level Tags

@struts.dynaform-field
@struts.form-field
@struts.validator
@struts.validator-args
@struts.validator-var

### @struts Field Level Tags

## @struts Class Level Tag Usage

### @struts.action (0..*)

Defines the action class and its attributes

Applies to: Struts Action

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the action. Must be unique within the bounds of the Struts application | true
type | text |  | The class to instantiate for this action. Defaults to the current class, but can be overridden for certain uses, such as integration with Spring. | false
className | text |  | The fully qualified Java class name of the ActionMapping subclass to use for this action mapping object. | false
path | text |  | The path that the action will match. | true
scope | text |  | Define the scope of the action. "request" | "session" | "application" Valid options are: request session application Default value(s): request | true
input | text |  | The path to the input for the Action | true
roles | text |  | Comma-delimited list of security role names that are allowed access to this ActionMapping object. Since Struts 1.1. | false
validate | text |  | The validation flag for the action Default value(s): true | true
parameter | text |  | The optional parameter for the action | true

### @struts.action-exception (0..*)

Defines the action specific exception handling

Applies to: Struts Action

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
key | text |  | The key to use with this handler's message resource bundle that will retrieve the error message template for this exception. | true
type | text |  | Fully qualified Java class name of the exception type to register with this handler. | true
className | text |  | The configuration bean for this ExceptionHandler object. If specified, className must be a subclass of the default configuration bean. | false
handler | text |  | Fully qualified Java class name for this exception handler. | false
path | text |  | The module-relative URI to the resource that will complete the request/response if this exception occurs. | false
scope | text |  | The context ("request" or "session") that is used to access the ActionError object [org.apache.struts.action.ActionError] for this exception. | false

### @struts.action-forward (0..*)

Defines local forwards for a Struts action class

Applies to: Struts Action

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the forward | true
path | text |  | The path of the forward | true
redirect | bool |  | Whether the browser should be redirected to the specified location. | false

### @struts.action-set-property (0..*)

Creates set-property tags for action blocks

Applies to: Struts Action

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
property | text |  | The name of the property to set | true
value | text |  | The value to set the property | true

### @struts.dynaform (0..*)

Defines a dynamic form bean and its attributes.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | Define a unique name for the form. | true
type | text |  | Define the class type of dynamic form. | true
validate | text |  | Declare if this form should be validated. If set to true, the dynamic form validation tag will iterate over this class and create the validation definition. | false

### @struts.form (0..*)

Defines a form bean and its attributes.

Applies to: Entity beans and POJOs

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | Define a unique name for the form. If generating a form using this tag, this attribute is not necessary. The className+Form will be used (i.e. Address -> addressForm). | true
extends | text |  | Define which class the generated form must extend. | false
implements | text |  | Define which interface the generated form must implement. | false
include-pk | bool |  | Whether to include pk field in form. Default is true. If set to false, individual pk fields can still be included. Default value(s): true | false
include-all | bool |  | Whether to include all persistent fields in form. Default is false. Default value(s): true | false

## @struts Method Level Tag Usage

### @struts.dynaform-field (0..*)

Include property in specific struts form

Applies to: property to be included

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the JavaBean property described by this element. Declare, if you want to override the generated property name. Default is the method's name converted to a property name | false
type | text |  | Fully qualified Java class name of the field underlying this property, optionally followed by "[]" to indicate that the field is indexed. Declare, if you want to override the generated property type. Default is the method's return type. | false
initial | text |  | String representation of the initial value for this property. If not specified, primitives will be initialized to zero and objects initialized to the zero-argument instantiation of that object class. For example, Strings will be initialized to "" | false
size | text |  | The number of array elements to create if the value of the "type" attribute specifies an array, but there is no value specified for the "initial" attribute. | false

### @struts.form-field (0..*)

Include property in specific struts form

Applies to: property to be included

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
form-name | text |  | Specify the name of the form this field should belong to. Required if "name" defined on @struts.form. | false

### @struts.validator (0..*)

Defines Struts Validator for current setter field. NOTE: If you're generating forms from POJOs, this tag needs to be on the getter. It will be put on the setter in the generated Form.

Applies to: Struts ValidatorForm

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
type | text |  | Validator type, such as "required" | true
override | text |  | If set to true, the validator definition defined in the calling class, not the property class, is used. For instance, if you have a class named Address with its own validation defined and wish to use you own validation in a class that refers to Address, set override to true and define your validation in the calling class. | false
msgkey | text |  | Override key for the validator error message | false
msgvalue | text |  | Explicitly define a validator error message | false
page | text |  | Only fields with a "page" attribute value that is equal to or less than the page property on the form JavaBean are processed. | false
arg0value | text |  | Value of argument index 0 | false
arg0resource | text |  | Resource key of argument index 0 | false
arg1value | text |  | Value of argument index 1 | false
arg1resource | text |  | Resource key of argument index 1 | false
arg2value | text |  | Value of argument index 2 | false
arg2resource | text |  | Resource key of argument index 2 | false
arg3value | text |  | Value of argument index 3 | false
arg3resource | text |  | Resource key of argument index 3 | false

### @struts.validator-args (0..1)

Defines arguments for current setter field.

Applies to: Struts ValidatorForm

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
arg0value | text |  | Value of argument index 0 | false
arg0resource | text |  | Resource key of argument index 0 Default value(s): FormName.fieldName | false
arg1value | text |  | Value of argument index 1 | false
arg1resource | text |  | Resource key of argument index 1 | false
arg2value | text |  | Value of argument index 2 | false
arg2resource | text |  | Resource key of argument index 2 | false
arg3value | text |  | Value of argument index 3 | false
arg3resource | text |  | Resource key of argument index 3 | false

### @struts.validator-var (0..*)

Defines Struts Validator variable

Applies to: Struts ValidatorForm

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | Variable name | true
value | text |  | Variable value | true

## @struts Field Level Tag Usage