##### XDoclet

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

##### Ant Task Reference

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

##### Tag Reference

- apache (@soap @struts @axis)
- 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

##### 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

## @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
--- | --- | --- | --- | ---
name | text |  | Define the service's name. | true
scope | text |  | Define the service scope. Valid options are: Request Session Application Default value(s): Application | 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

## @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
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
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