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

## @web Tag Reference

These tags are used to specify information about web application components (servlets, filters & listeners). They are used in generating the WEB-INF/web.xml file.

Applies to: Servlet, Filter, Listener, JSP and JAXRPC Tags

### @web Class Level Tags

@web.ejb-local-ref
@web.ejb-ref
@web.env-entry
@web.filter
@web.filter-init-param
@web.filter-mapping
@web.listener
@web.resource-env-ref
@web.resource-ref
@web.security-role
@web.security-role-ref
@web.servlet
@web.servlet-init-param
@web.servlet-mapping

### @web Method Level Tags

@web.interface-method

### @web Field Level Tags

## @web Class Level Tag Usage

### @web.ejb-local-ref (0..1)

Defines a local EJB reference with the specified name, type, home interface name, local interface name, link name, and description. The value of the link parameter must be the ejb-name of an enterprise bean in the same J2EE application unit.

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the ejb reference | false
type | text |  | The expected type of the referenced enterprise bean. Must be one of the following: Entity or Session Valid options are: Entity Session | false
home | text |  | The home interface of the referenced ejb | false
local | text |  | The local interface of the referenced ejb | false
link | text |  | The link to the EJB | false
description | text |  | An optional description for the ejb-ref | false

### @web.ejb-ref (0..1)

Defines a remote EJB reference with the specified name, type, home interface name, remote interface name, link name, and description. The value of the link parameter must be the ejb-name of an enterprise bean in the same J2EE application unit

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the ejb reference | false
type | text |  | The expected type of the referenced enterprise bean. Must be one of the following: Entity or Session Valid options are: Entity Session | false
home | text |  | The home interface of the referenced ejb | false
remote | text |  | The remote interface of the referenced ejb | false
link | text |  | The link to the EJB | false
description | text |  | An optional description for the ejb-ref | false

### @web.env-entry (0..1)

Defines a environment entry with the specified description, name, type and value

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
description | text |  | A description of the env-entry | false
name | text |  | The name of the env-entry | true
type | text |  | The type of the env-entry | true
value | text |  | The value of the env-entry | false

### @web.filter (0..1)

Declares the class as a Filter class, with the specified name, display-name, icon and description. Applicable to Servlet 2.3 only

Applies to: Filter

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name for the filter. Unique within the application | true
display-name | text |  | The display name of the filter | false
icon | text |  | The icon for the filter | false
description | text |  | A description for the filter | false

### @web.filter-init-param (0..1)

Declares init parameters for the Filter with the specified parameter name, value and description. Applicable to Servlet 2.3 only.

Applies to: Filter

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the init parameter | true
value | text |  | The value for the parameter | false
description | text |  | An optional description of the parameter | false

### @web.filter-mapping (0..1)

Defines the mapping for the Filter. Either url-pattern or servlet-name should be specified. Applicable to Servlet 2.3 only. With Servlet 2.4 it is also possible to specify a comma-separated list of dispatchers.

Applies to: Filter

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
url-pattern | text |  | The url pattern the filter should match | false
servlet-name | text |  | The servlet name for the filter | false
dispatcher | text |  | The request dispatchers which should consider the filter | false

### @web.listener (0..1)

Declares the class as a Listener class

Applies to: Listener

### @web.resource-env-ref (0..1)

Defines a resource environment reference with the specified name, type and description

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the resource environment reference | true
type | text |  | The type of the referenced resource | true
description | text |  | An optional description of the resource reference | false

### @web.resource-ref (0..1)

Defines a resource reference with the specified name, type, description, authentication (auth) and scope

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the resource reference | true
type | text |  | The type of the referenced resource | true
auth | text |  | The authentication for the resource. "Application" | "Container" Valid options are: Application Container | true
description | text |  | An optional description for the resource reference | false
scope | text |  | The scope of the resource. "Shareable" | "Unshareable" Valid options are: Shareable Unshareable | false
jndi-name | text |  | The physical jndi-name of the resource. Note: it currently is used only in 1-2 of the app server modules, but those modules will also support this consolidated standard tag soon. | false

### @web.security-role (0..1)

Defines a security role with the specified role-name and description

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
role-name | text |  | The role name | false
description | text |  | The description of the role | false

### @web.security-role-ref (0..1)

Defines a security role reference with the name role-name to a security role link named role-link

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
role-name | text |  | The name of the role reference | true
role-link | text |  | The name of the role link | true

### @web.servlet (0..1)

Declares the class as a Servlet class, with the specified name, display-name, icon and description. As of Servlet 2.4, the servlet class may also an arbitrary jaxrpc bean that is to be exposed as a web service endpoint.

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the servlet - unique within the application | true
display-name | text |  | The display name of the servlet | false
icon | text |  | The icon for the servlet | false
description | text |  | A description for the servlet | false
service-endpoint-class | text | JAXRPC beans | fully qualified name of the service endpoint interface | false
service-endpoint-extends | text |  | Declare which interface the generated service-endpoint interface should extend. Default is "java.rmi.Remote". Default value(s): java.rmi.Remote | false
service-endpoint-package | text | JAXRPC Beans | The package the service-endpoint interface should be in - only used where service-endpoint-class is not present. Use <packageSubstitution/> to configure which package the interface should end up in. | false
service-endpoint-pattern | text | Session beans, EJB 2.1 | The pattern to be used in determining the unqualified name of the service-endpoint interface - only used if service-endpoint-class is not present. | false
service-endpoint-business-interface | text | JAXRPC beans | Defines the service-endpoint business interface for the bean. Similar to remote-business-interface. | false
load-on-startup | text |  | Integer indicating order in which the servlet should be loaded. | false
run-as | text |  | Specifies the run-as identity (the name of a security role) to be used for the execution of the web application. | false

### @web.servlet-init-param (0..1)

Declares init parameters for the Servlet with the specified parameter name, value and description

Applies to: Servlet

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the init parameter | true
value | text |  | The value for the parameter | false
description | text |  | An optional description of the parameter | false

### @web.servlet-mapping (0..1)

Defines the mapping for the Servlet to the specified url-pattern

Applies to: Filter

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
url-pattern | text |  | The url pattern the filter should match | false

## @web Method Level Tag Usage

### @web.interface-method (0..1)

Exposes the bean method in the service interface.

Applies to: JAXRPC Beans, Servlet 2.4

## @web Field Level Tag Usage

## @jsp Tag Reference

These tags are used to give information about JSP custom tags and tag library validators, used in generating the tag library descriptor (TLD) file.

Applies to: JSP Tag or Tag Library Validator

### @jsp Class Level Tags

@jsp.tag
@jsp.validator-init-param
@jsp.variable

### @jsp Method Level Tags

@jsp.attribute

### @jsp Field Level Tags

## @jsp Class Level Tag Usage

### @jsp.tag (0..1)

Declares the class as a class implementing a JSP tag and specifies various properties of that tag

Applies to: Tag

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the JSP tag | true
tei-class | text |  | The tei class for the JSP | false
body-content | text |  | The body content field for the tag. Valid options are: tagdependent JSP empty Default value(s): JSP | false
display-name | text |  | An optional display name for the tag | false
small-icon | text |  | An optional small icon for the tag | false
large-icon | text |  | An optional large icon for the tag | false
description | text |  | An optional description for the tag | false

### @jsp.validator-init-param (0..1)

Declares init parameters for the Validator with the specified parameter name, value and description

Applies to: Tag Library Validator

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name | text |  | The name of the validator init param | true
value | text |  | The value of the validator init param | true
description | text |  | An optional description for the validator | false

### @jsp.variable (0..1)

Declares a JSP tag variable and information on the scripting variables defined.

Applies to: Tag

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
name-given | text |  | The variable name as a constant | false
name-from-attribute | text |  | The name of an attribute whose (translation time) value will give the name of the variable. One of name-given or name-from-attribute is required | false
class | text |  | Name of the class of the variable. java.lang.String is default Default value(s): java.lang.String | false
declare | bool |  | Whether the variable is declared or not. Default value(s): true | false
scope | text |  | The scope of the scripting variable defined. Valid options are: NESTED AT_BEGIN AT_END Default value(s): NESTED | false
description | text |  | An optional description of the variable | false

## @jsp Method Level Tag Usage

### @jsp.attribute (0..1)

Declares the specified field a JSP tag attribute. This tag should be placed on getter methods

Applies to: Tag

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
required | bool |  | Whether the attribute is required | true
rtexprvalue | bool |  | Whether the attribute is a runtime attribute | true
type | text |  | The type of the attribute | true
description | text |  | An optional description of the attribute | false

## @jsp Field Level Tag Usage