Print
EjbTags

@dao.call

The method is a call to a data access object; the method will be included in the DAO interface,

and the EJB's generated subclass will contain a call to the DAO's method.

Unique

false

Allowed locations

class

method

constructor

field

true

true

true

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

name

false

Any value

 

no

 

Optionally specify the method's name in the DAO (it need not be the same as the calling method in the EJB).<br>

If not specified, the default is the usual interface equivalent of the method's name (i.e. generally the

same, but ejbFindByX becomes findByX etc.)

@ejb.activation-config-property

Defines information about the expected configuration properties of the message-driven bean in its operational

environment.<br>

The properties that are recognized for a particular message-driven bean are determined by the messaging type.<br>

The following activation-config-properties are automatically generated from the corresponding parameters

in ejb.bean and do not require a ejb.activation-config-property tag: acknowledgeMode, messageSelector,

destinationType, subscriptionDurability.<br>

Only applicable to EJB 2.1 message-driven beans.

Unique

false

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

name

true

Any value

 

no

 

Contains the name for an activation configuration property of a message-driven bean.

value

true

Any value

 

no

 

Contains the value for an activation configuration property of a message-driven bean.

@ejb.aggregate

Mark a persistent field containing a reference to another entity bean as being aggregated in this bean.<br>

The data object will contain accessor methods for the aggregated entity's data object instead of a reference

to the entity itself.<br>

The aggregated entity will also be removed when this entity is removed.<br>

For example, aggregates are useful for sending graphs of data to the client. <br>

This is only applicable to entity beans and has no parameters.

Unique

false

Allowed locations

class

method

constructor

field

true

true

true

true

@ejb.bean

The ejb.bean tag provides information about the EJB.<br>

It is the one compulsory tag for all EJBs, however not all parameters are applicable for all types of beans,

and some parameters apply differently for different types of beans.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

impl-class-name

false

Any value

 

no

 

Provides the fully qualified classname of the bean's implementation class, to be used in the ejb-class

element of the ejb-jar.xml deployment descriptor.<br>

Its value is only used when the implementation class is not being generated by a subtask

(e.g. <session/>, <entitycmp/>, ...) as those subtasks have other ways to determine the classname.<br>

This parameter is mainly intended to be used where the bean class itself is generated, and additional

code is to be added in a subclass.

acknowledge-mode

false

Auto-acknowledge, Dups-ok-acknowledge

 

no

 

Defines the acknowledge mode for MDB.

cmp-version

false

1.x, 2.x

 

no

 

Defines the version of the spec the bean is for CMP.

description

false

Any value

 

no

 

A description of the bean.<br>

Defaults to the first sentence of the class-level javadoc comment of the bean class.

destination-type

false

javax.jms.Queue, javax.jms.Topic

 

no

 

Defines the type of destination for MDB.

display-name

false

Any value

 

no

 

The display name of the bean.

generate

false

true, false

 

no

 

Set it to "false" if you want the class be excluded from list of EJBs.<br>

This is useful for abstract EJBs that other EJBs are to derive from.<br>

So you obviously do not want the abstract EJB be wrongly specified in deployment descriptors as

a concrete EJB.<br>

Default is "true".

large-icon

false

Any value

 

no

 

The large icon for the bean.

local-business-interface

false

Any value

 

no

 

Defines the local business interface for the bean.<br>

Similar to remote-business-interface, but the interface does not need to declare RemoteException

in the throws clause.

local-jndi-name

false

Any value

 

no

 

Provides the JNDI name of the bean that will be used in the vendor specific deployment descriptors.<br>

It's the JNDI name for the local EJB.

message-selector

false

Any value

 

no

 

Defines an optional message selector for MDB.

name

true

Any value

 

no

 

Provides the name of the bean that will be used in the ejb-jar.xml deployment descriptor.

primkey-field

false

Any value

 

no

 

Defines the primary key field for the bean.<br>

Use this if you have one field or use ejb.pk-field's.<br>

The primary fields for a bean are found gathering this bean's primary fields and super's bean primary

key field's.

reentrant

false

true, false

 

no

 

Defines the entity bean's reentrancy.

remote-business-interface

false

Any value

 

no

 

Defines the remote business interface for the bean.<br>

If present, ejb.interface-method tags are not required, instead the remote interface will extend

the business interface.<br>

The business interface must declare all methods as throwing RemoteException as per the business

interface pattern.

schema

false

Any value

 

no

 

Defines the abstract schema name for the bean.

small-icon

false

Any value

 

no

 

The small icon for the bean.

subscription-durability

false

Durable, NonDurable

 

no

 

Defines the durability of messages for MDB as per EJB 2.0 spec

transaction-type

false

Container, Bean

 

no

 

Defines the bean's transaction type.

type

false

CMP, BMP, Stateless, Stateful

 

no

 

Defines the bean's "type".<br>

Default value(s):

<ul>

<li>CMP (for javax.ejb.EntityBean)</li>

<li>Stateless (for javax.ejb.SessionBean)</li>

</ul>

use-soft-locking

false

true, false

 

no

 

If true, then generate a public int version attribute in the auto-generated concrete class,

to form a optimistic locking mechanism.<br>

The value of version attribute is incremented in ejbStore.<br>

The default is false.<br>

Note: It's applicable to both CMP and BMP, but many containers have optimistic locking capabilities

built-in, so you don't need to worry about it locking issues.

destination-link

false

Any value

 

no

 

Used to link the message-driven bean to a message destination.<br>

The value must be the message-destination-name of a message destination in the same Deployment File

or in another Deployment File in the same J2EE application unit.<br>

Alternatively, the value may be composed of a path name specifying a Deployment File containing the

referenced message destination with the message-destination-name of the destination appended and

separated from the path name by "#".<br>

The path name is relative to the Deployment File containing Deployment Component that is referencing

the message destination.<br>

This allows multiple message destinations with the same name to be uniquely identified.<br>

A message-destination-link is automatically generated if you add a message-destination tag to the

message-driven bean. This should be used if the message-destination is specified in another bean or

in a merge-file.<br>

Only applicable to EJB 2.1 message-driven beans.

destination-jndi-name

false

Any value

 

no

 

Defines the jndi name of the destination queue/topic.

Only applicable to message-driven beans.

connection-factory-jndi-name

false

Any value

 

no

 

Defines the jndi name of the JMS connection factory

Only applicable to message-driven beans.

messaging-type

false

Any value

 

no

 

The messaging-type element specifies the message listener interface of the message-driven bean.<br>

If the messaging-type element is not specified, it is assumed to be javax.jms.MessageListener.

Only applicable to EJB 2.1 message-driven beans.

jndi-name

false

Any value

 

no

 

Provides the JNDI name of the bean that will be used in the vendor specific deployment descriptors.<br>

<br>

Used in:

<ul>

<li>@ejb.bean</li>

<li>@ejb.facade</li>

<li>@ejb.message-destination - Contains the jndi-name of the message-destination.</li>

</ul>

view-type

false

local, remote, both, service-endpoint, remote-service-endpoint, local-service-endpoint, all

 

no

 

Specify which view-type the method/bean will be exposed in.<br>

The value "local" or "both" is only applicable to EJB 2.0 beans.<br>

The values "service-endpoint", "local-service-endpoint", "remote-service-endpoint", and "all" are

only applicable to EJB 2.1 beans.<br>

<br>

Used in:

<ul>

<li>@ejb.bean - Indicates what view-type(s) is(are) supported by the bean.<br>

Default value(s): "remote" for EJB 1.1 or "both" for EJB 2.0+

</li>

<li>@ejb.permission - Indicates the view-type(s) for which this permission applies.<br>

This parameter must not be set if "method-intf" is set.<br>

Default value(s): the view-type for the bean / method

</li>

<li>@ejb.interface-method - Optionally specify which view-type the method will be exposed in.<br>

Default value(s): the view-type for the bean

</li>

</ul>

@ejb.create-method

The method is an ejbCreate method and will be included in the home interface.<br>

It is applicable to Session and Entity beans.<br>

In Stateless Session beans the ejbCreate will be created if it is not in the code.

Unique

true

Allowed locations

class

method

constructor

field

false

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

view-type

false

local, remote

 

no

 

Optionally specify which view-type the method will be exposed in.

@ejb.dao

Defines the data access object of an entity bean. <br>

If the <dao/> subtask is included, then DAO interfaces will be generated for any entity beans containing

this tag, unless a generate="false" parameter is present.

Unique

false

Allowed locations

class

method

constructor

field

true

true

true

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

class

false

Any value

 

no

 

The fully qualified name of the DAO interface.<br>

If absent the interface name will be determined using the pattern and package parameters.

create-methods

false

Any value

 

no

 

Indicate if create methods should be automatically included in the DAO interface.<br>

Defaults to true.

finder-methods

false

Any value

 

no

 

Indicate if finder methods should be automatically included in the DAO interface.<br>

Defaults to true.

generate

false

true, false

 

no

 

Indicate if the DAO interface should be generated.<br>

Defaults to true.

impl-class

false

Any value

 

no

 

The fully qualified name of a class which implements the DAO interface.<br>

If present, then generated code for obtaining a DAO will just create a new instance of this class.

impl-jndi

false

Any value

 

no

 

Indicates a JNDI environment reference which will contain a String that is the fully qualified name of

a class implementing the DAO interface.<br>

If present, then generated code for obtaining a DAO will look up this reference, then create a new

instance of the class whose name is found there.<br>

This allows the actual implementation class to be determined at runtime.

pattern

false

Any value

 

no

 

Define the pattern (using {0} for the EJB name) for generated unqualified java class name.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated name of the PK Class</li>

<li>@ejb.dao - applies to the generated name of the DAO interface</li>

<li>@ejb.home - applies to the generated name of the home / local home interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalHomeInterfacePlugin, "LocalHome" will be append<br>

For RemoteHomeInterfacePlugin, "RemoteHome" will be append<br>

</li>

<li>@ejb.interface - applies to the generated name of the remote / local interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalInterfacePlugin, "Local" will be append<br>

For RemoteInterfacePlugin, "Remote" will be append<br>

</li>

</ul>

package

false

Any value

 

no

 

Define the package for the generated java class.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated PK Class.

See also PrimaryKeyClassPlugin for packageregex and packagereplace</li>

<li>@ejb.dao - applies to the generated DAO interface.

See also Dao??(TODO)??Plugin for packageregex and packagereplace</li>

<li>@ejb.home - applies to the generated home / local home interfaces.

(if -class and [interface]-pattern are absent) (will append home/localHome to diferentiate ???).

See also LocalInterfacePlugin/LocalHomeInterfacePlugin for packageregex and packagereplace</li>

<li>@ejb.interface - applies to the generated remote / local / service-endpoint interfaces.

(if -class and [interface]-pattern are absent) (will append remote/local to diferentiate ???).

See also RemoteInterfacePlugin/RemoteHomeInterfacePlugin for packageregex and packagereplace</li>

</ul>

@ejb.data-object

Defines configuration attributes used for data object generation.<br>

Applicable only for Entity beans.

Unique

false

Allowed locations

class

method

constructor

field

true

true

true

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

extends

false

Any value

 

no

 

Declare which class the generated bulk data class should extend.<br>

Default is "java.lang.Object".<br>

The class must be java.io.Serializable.<br>

This is useful if you want to add some methods that should always be available in bulk data objects.

@ejb.destination-ref

Contains a declaration of Deployment Component's reference to a message destination associated with a

resource in Deployment Component's environment.<br>

Only applicable to EJB 2.1.

Unique

false

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

name

true

Any value

 

no

 

Specifies the name of a message destination reference;<br>

its value is the environment entry name used in Deployment Component code.<br>

The name is a JNDI name relative to the java:comp/env context.

description

false

Any value

 

no

 

Optional description of a message destination reference.

type

true

Any value

 

no

 

Specifies the type of the destination.<br>

The type is specified by the Java interface expected to be implemented by the destination,

eg javax.jms.Queue.

usage

false

Consumes, Produces, ConsumesProduces

 

no

 

Specifies the use of the message destination indicated by the reference.<br>

The value indicates whether messages are consumed from the message destination, produced for the

destination, or both.<br>

The Assembler makes use of this information in linking producers of a destination with its consumers.

link

false

Any value

 

no

 

Used to link a message destination reference to a message destination.<br>

The Assembler sets the value to reflect the flow of messages between producers and consumers in

the application.<br>

The value must be the message-destination-name of a message destination in the same Deployment File or

in another Deployment File in the same J2EE application unit.<br>

Alternatively, the value may be composed of a path name specifying a Deployment File containing the

referenced message destination with the message-destination-name of the destination appended and

separated from the path name by "#".<br>

The path name is relative to the Deployment File containing Deployment Component that is referencing

the message destination.<br>

This allows multiple message destinations with the same name to be uniquely identified.

@ejb.ejb-external-ref

Defines an EJB reference to a bean which will be packaged in a different ejb jar file.<br>

Applicable to all types of EJBs.

Unique

false

Allowed locations

class

method

constructor

field

true

true

false

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

business

true

Any value

 

no

 

The fully qualified class name of the business interface (local or remote interface) of the referenced bean.

home

true

Any value

 

no

 

The fully qualified class name of the home interface of the referenced bean.

link

false

Any value

 

no

 

Defines an ejb-link to the referenced EJB.<br>

The value of the ejb-link element is the name of the target enterprise bean (It is the name defined in

the ejb-name element of the target enterprise bean).<br>

The target enterprise bean can be in any ejb-jar file in the same J2EE application as the referencing

application component.

ref-name

false

Any value

 

no

 

The name that the referenced bean will be referred to by.<br>

For example, to refer to the bean Customer as java:comp/env/ejb/Customer name should be ejb/Customer.<br>

Defaults to ejb/[ejb-name], where [ejb-name] is the named of the referenced bean (Customer) prefixed

by "ejb/".

type

true

Entity, Session

 

no

 

The type of EJB being referenced.

view-type

false

local, remote

 

no

 

The view type of the referenced bean.

@ejb.ejb-ref

Defines an EJB-reference.<br>

Applicable to all EJB types.<br>

Attention: you have to import the referred class (the ejbdoclet one) even your EJB does not need it.<br>

to the bean with EJB-name [ejb-name]. ref-name is optional and if not specified then the reference name

is [ejb-name] prefixed by a ejb/

Unique

false

Allowed locations

class

method

constructor

field

true

true

false

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

ejb-name

true

Any value

 

no

 

The name of the EJB being referenced.

ref-name

false

Any value

 

no

 

The name that the referenced bean will be referred to by.<br>

For example, to refer to the bean Customer as java:comp/env/ejb/Customer name should be ejb/Customer.<br>

Defaults to:

<ul>

<li>Class-level tags: ejb/[ejb-name] for remote references an ejb/[ejb-name]Local for local references,

where [ejb-name] is the name of the referenced bean.</li>

<li>Method- and field-level tags: the method or field name.</li>

</ul>

view-type

false

local, remote

 

no

 

The view type that the reference uses.

@ejb.ejb-service-ref

Defines a (web)service reference for an EJB.<br>

This is a EJB2.1 thing.<br>

For field-level tags, the service is automatically looked up and assigned to the field before

setSessionContext, setEntityContext or setMessageDrivenContext is called when generating the

technical bean with the session, entitybmp, entitycmp or mdb subtask.<br>

Therefore, the field must have the protected access modifier.<br>

The tag may also be used on abstract methods which return the servic-interface.<br>

Those methods are implemented in the object generated by the session, entitybmp, entitycmp or mdb subtasks.<br>

The implementation performs a caching for the value.<br>

Applies to: Applicable to all EJB types with EJB-spec 2.1

Unique

false

Allowed locations

class

method

constructor

field

true

true

false

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

description

false

Any value

 

no

 

Optional description

name

false

Any value

 

no

 

The logical name of the component to be looked up.<br>

Mandatory for class level tags.<br>

The default for method- and field-level tags is the method or field name.

interface

false

Any value

 

no

 

The fully qualified class name of the JAX-RPC interface.<br>

It is automatically set for method- and field-level tags.<br>

For method-level tags, it is set to the method's return type.<br>

For field-level tags, it is set to the field's type.

wsdl-file-uri

false

Any value

 

no

 

The URI location of a WSDL-file. This is relative to the module root.

jaxrpc-mapping-file

false

Any value

 

no

 

The name of a JAXRPC-mapping file describing the mapping from Java to Wsdl.

qname

false

Any value

 

no

 

Ths service-qname describes the specific wsdl service element that is being refered to.<br>

This is only needed if a wsdl file is given.

@ejb.env-entry

Defines an environment entry for an EJB.

Unique

false

Allowed locations

class

method

constructor

field

true

true

false

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

description

false

Any value

 

no

 

Optional description of the env-entry

name

true

Any value

 

no

 

The name of the env-entry

type

false

java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.String, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Float, java.lang.Double

 

no

 

The type of the env-entry, eg java.lang.String.<br>

Supported types outlined in the EJB spec.<br>

"type" is optional, the default is java.lang.String.

value

false

Any value

 

no

 

The value of the env-entry

@ejb.facade-method

Marks session bean method for inclusion in remote facade.

Unique

false

Allowed locations

class

method

constructor

field

true

true

true

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

cache

false

true, false

 

no

 

Setup result caching for this method result.<br>

No effect on void methods.

immutable

false

true, false

 

no

 

If value is immutable it will be never invalidated.<br>

No effect on void methods.

invalidate

false

true, false

 

no

 

Mark this method as invalidating.<br>

Remote Facade will fire callbacks and zap caches.<br>

Use on methods which change ejb or create/remove entities.<br>

NOTE: setting this to true will have no effect for facade methods which cache their result.

@ejb.facade

This tag is optional and allows generation of session facade EJB for entity bean.<br>

Facade EJB will provide all finder and creation methods to outside, and also all data setting

methods for data and value objects.<br>

Finder methods will return collections of data or value objects instead of remote interfaces.<br>

Facade bean will connect to ejb using local ( if generated ) or remote interfaces.<br>

Resulting bean needs processing by xdoclet together with all ejb classes.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

description

false

Any value

 

no

 

A description of the bean.<br>

Defaults to the first sentence of the class-level javadoc comment of the bean class.

display-name

false

Any value

 

no

 

The display name of the bean.

large-icon

false

Any value

 

no

 

The large icon for the bean.

local-jndi-name

false

Any value

 

no

 

Provides the JNDI name of the bean that will be used in the vendor specific deployment descriptors.<br>

It's the JNDI name for the local EJB.

name

false

Any value

 

no

 

Name of generated facade ejb.<br>

Default is {0}Facade

small-icon

false

Any value

 

no

 

The small icon for the bean.

transaction-type

false

Container, Bean

 

no

 

Defines the bean's transaction type.

type

true

Stateless, Stateful

 

no

 

Defines the bean's "type".

view-type

false

local, remote, both

 

no

 

Indicates what view-type(s) is(are) supported by the bean.

jndi-name

false

Any value

 

no

 

Provides the JNDI name of the bean that will be used in the vendor specific deployment descriptors.<br>

<br>

Used in:

<ul>

<li>@ejb.bean</li>

<li>@ejb.facade</li>

<li>@ejb.message-destination - Contains the jndi-name of the message-destination.</li>

</ul>

@ejb.finder

Defines a finder method for the home interface.<br>

An entity bean may have zero or more ejb.finder tags.

Unique

false

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

description

false

Any value

 

no

 

Description of the finder

method-intf

false

Home, LocalHome

 

no

 

Indicates the interface (Home or LocalHome) for which the finder permissions should be set.<br>

If the permissions should apply to supported interfaces, this parameter should not be specified.

query

false

Any value

 

no

 

EJB-QL query for the finder.

result-type-mapping

false

Local, Remote

 

no

 

Result type mapping (indicates the return type) for the finder method.

signature

true

Any value

 

no

 

Defines the signature of the method.<br>

E.g.. "java.util.Collection findAll()".<br>

The return type in the signature must be fully qualified.

transaction-type

false

NotSupported, Supports, Required, RequiresNew, Mandatory, Never

 

no

 

Indicates the transaction type attribute sets to the method.

view-type

false

local, remote, both

 

no

 

To restrict the home interface in which the finder will be defined.

unchecked

false

true, false

 

no

 

Flags the method as having unchecked permission.<br>

role-names must be omitted for this tag mean something.<br>

Applies to EJB 2.0+

role-names

false

Any value

 

yes

,

Comma-separated list of roles allowed to call this method.<br>

<br>

Used in:

<ul>

<li>@ejb.finder - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.permission - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.pk - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.security-roles</li>

</ul>

@ejb.home-method

Define this method as a home method (e.g. its name is "ejbHomefoo", and the corresponding home method

should be defined in the home interface).

Unique

true

Allowed locations

class

method

constructor

field

false

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

view-type

false

local, remote

 

no

 

Optionally specify which view-type the method will be exposed in.

@ejb.home

The @ejb.home tag provides information about an Entity or Session Bean's home interface.<br>

All parameters are applicable to both Entity and Session beans.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

generate

false

local, remote

 

yes

,

Which home interfaces should be generated.<br>

extends

false

Any value

 

yes

,

Declare which interface(s) the generated interface should extend (comma separated list).<br>

<ul>

<li>@ejb.home - Default is "javax.ejb.EJBHome"</li>

<li>@ejb.interface - Default is "javax.ejb.EJBObject"</li>

</ul>

local-class

false

Any value

 

no

 

The fully qualified name of the generated local interface.

local-extends

false

Any value

 

yes

,

Declare which interface(s) the generated local interface should extend (comma separated list).<br>

<ul>

<li>@ejb.home - Default is "javax.ejb.EJBLocalHome"</li>

<li>@ejb.interface - Default is "javax.ejb.EJBLocalObject"</li>

</ul>

local-package

false

Any value

 

no

 

The package the local interface should be in - only used where local-class is not present.<br>

See also RemoteHomeInterfacePlugin/LocalHomeInterfacePlugin for packageregex and packagereplace

local-pattern

false

Any value

 

no

 

The pattern to be used in determining the unqualified name of the local home interface - only used

if local-class is not present.

remote-class

false

Any value

 

no

 

The fully qualified name of the generated remote interface.

remote-package

false

Any value

 

no

 

The package the remote interface should be in - only used where local-class is not present.<br>

See also RemoteInterfacePlugin/LocalInterfacePlugin for packageregex and packagereplace

remote-pattern

false

Any value

 

no

 

The pattern to be used in determining the unqualified name of the remote home interface - only used

if local-class is not present.

pattern

false

Any value

 

no

 

Define the pattern (using {0} for the EJB name) for generated unqualified java class name.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated name of the PK Class</li>

<li>@ejb.dao - applies to the generated name of the DAO interface</li>

<li>@ejb.home - applies to the generated name of the home / local home interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalHomeInterfacePlugin, "LocalHome" will be append<br>

For RemoteHomeInterfacePlugin, "RemoteHome" will be append<br>

</li>

<li>@ejb.interface - applies to the generated name of the remote / local interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalInterfacePlugin, "Local" will be append<br>

For RemoteInterfacePlugin, "Remote" will be append<br>

</li>

</ul>

package

false

Any value

 

no

 

Define the package for the generated java class.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated PK Class.

See also PrimaryKeyClassPlugin for packageregex and packagereplace</li>

<li>@ejb.dao - applies to the generated DAO interface.

See also Dao??(TODO)??Plugin for packageregex and packagereplace</li>

<li>@ejb.home - applies to the generated home / local home interfaces.

(if -class and [interface]-pattern are absent) (will append home/localHome to diferentiate ???).

See also LocalInterfacePlugin/LocalHomeInterfacePlugin for packageregex and packagereplace</li>

<li>@ejb.interface - applies to the generated remote / local / service-endpoint interfaces.

(if -class and [interface]-pattern are absent) (will append remote/local to diferentiate ???).

See also RemoteInterfacePlugin/RemoteHomeInterfacePlugin for packageregex and packagereplace</li>

</ul>

@ejb.interface-method

Declare in which interface (local/remote) this method must appear.<br>

If the view-type parameter is absent then the method will be added to whatever component interfaces

are defined in @ejb.bean.

Unique

true

Allowed locations

class

method

constructor

field

false

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

view-type

false

local, remote, both, service-endpoint, remote-service-endpoint, local-service-endpoint, all

 

no

 

Specify which view-type the method/bean will be exposed in.<br>

The value "local" or "both" is only applicable to EJB 2.0 beans.<br>

The values "service-endpoint", "local-service-endpoint", "remote-service-endpoint", and "all" are

only applicable to EJB 2.1 beans.<br>

<br>

Used in:

<ul>

<li>@ejb.bean - Indicates what view-type(s) is(are) supported by the bean.<br>

Default value(s): "remote" for EJB 1.1 or "both" for EJB 2.0+

</li>

<li>@ejb.permission - Indicates the view-type(s) for which this permission applies.<br>

This parameter must not be set if "method-intf" is set.<br>

Default value(s): the view-type for the bean / method

</li>

<li>@ejb.interface-method - Optionally specify which view-type the method will be exposed in.<br>

Default value(s): the view-type for the bean

</li>

</ul>

@ejb.interface

The @ejb.interface tag provides information about an Entity or Session Bean's component interfaces

(remote and/or local).<br>

It is not applicable to Message-driven beans.<br>

The view-type "service-endpoint" is restricted to EJB2.1 Session beans.<br>

All parameters are applicable to both Entity and Session beans.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

generate

false

local, remote, service-endpoint

 

yes

,

Which interfaces should be generated.<br>

service-endpoint-extends

false

Any value

 

yes

,

Declare which interface(s) the generated service-endpoint interface should extend (comma separated list).<br>

Default is "java.rmi.Remote".

service-endpoint-class

false

Any value

 

no

 

The fully qualified name of the service endpoint interface.<br>

Applies: Session beans, EJB 2.1 |

service-endpoint-pattern

false

Any value

 

no

 

The pattern to be used in determining the unqualified name of the service-endpoint interface - only used

if service-endpoint-class is not present.<br>

Applies: Session beans, EJB 2.1 |

service-endpoint-package

false

Any value

 

no

 

The package the service-endpoint interface should be in - only used where service-endpoint-class is not

present.<br>

See also ServiceEndpointPlugin for packageregex and packagereplace<br>

Applies: Session beans, EJB 2.1 |

extends

false

Any value

 

yes

,

Declare which interface(s) the generated interface should extend (comma separated list).<br>

<ul>

<li>@ejb.home - Default is "javax.ejb.EJBHome"</li>

<li>@ejb.interface - Default is "javax.ejb.EJBObject"</li>

</ul>

local-class

false

Any value

 

no

 

The fully qualified name of the generated local interface.

local-extends

false

Any value

 

yes

,

Declare which interface(s) the generated local interface should extend (comma separated list).<br>

<ul>

<li>@ejb.home - Default is "javax.ejb.EJBLocalHome"</li>

<li>@ejb.interface - Default is "javax.ejb.EJBLocalObject"</li>

</ul>

local-package

false

Any value

 

no

 

The package the local interface should be in - only used where local-class is not present.<br>

See also RemoteHomeInterfacePlugin/LocalHomeInterfacePlugin for packageregex and packagereplace

local-pattern

false

Any value

 

no

 

The pattern to be used in determining the unqualified name of the local home interface - only used

if local-class is not present.

remote-class

false

Any value

 

no

 

The fully qualified name of the generated remote interface.

remote-package

false

Any value

 

no

 

The package the remote interface should be in - only used where local-class is not present.<br>

See also RemoteInterfacePlugin/LocalInterfacePlugin for packageregex and packagereplace

remote-pattern

false

Any value

 

no

 

The pattern to be used in determining the unqualified name of the remote home interface - only used

if local-class is not present.

pattern

false

Any value

 

no

 

Define the pattern (using {0} for the EJB name) for generated unqualified java class name.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated name of the PK Class</li>

<li>@ejb.dao - applies to the generated name of the DAO interface</li>

<li>@ejb.home - applies to the generated name of the home / local home interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalHomeInterfacePlugin, "LocalHome" will be append<br>

For RemoteHomeInterfacePlugin, "RemoteHome" will be append<br>

</li>

<li>@ejb.interface - applies to the generated name of the remote / local interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalInterfacePlugin, "Local" will be append<br>

For RemoteInterfacePlugin, "Remote" will be append<br>

</li>

</ul>

package

false

Any value

 

no

 

Define the package for the generated java class.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated PK Class.

See also PrimaryKeyClassPlugin for packageregex and packagereplace</li>

<li>@ejb.dao - applies to the generated DAO interface.

See also Dao??(TODO)??Plugin for packageregex and packagereplace</li>

<li>@ejb.home - applies to the generated home / local home interfaces.

(if -class and [interface]-pattern are absent) (will append home/localHome to diferentiate ???).

See also LocalInterfacePlugin/LocalHomeInterfacePlugin for packageregex and packagereplace</li>

<li>@ejb.interface - applies to the generated remote / local / service-endpoint interfaces.

(if -class and [interface]-pattern are absent) (will append remote/local to diferentiate ???).

See also RemoteInterfacePlugin/RemoteHomeInterfacePlugin for packageregex and packagereplace</li>

</ul>

@ejb.message-destination

The message-destinationType specifies a message destination.<br>

The logical destination described by this element is mapped to a physical destination by the Deployer.<br>

Only applicable to EJB 2.1 message-driven beans.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

name

true

Any value

 

no

 

Contains the name of the message-destination.

display-name

false

Any value

 

no

 

Contains the display name of the message-destination.

description

false

Any value

 

no

 

Contains the description of the message-destination.

jndi-name

false

Any value

 

no

 

Provides the JNDI name of the bean that will be used in the vendor specific deployment descriptors.<br>

<br>

Used in:

<ul>

<li>@ejb.bean</li>

<li>@ejb.facade</li>

<li>@ejb.message-destination - Contains the jndi-name of the message-destination.</li>

</ul>

@ejb.permission

Defines the transactional behaviour for this method.<br>

Applicable to methods with @ejb.create-method and @ejb.interface-method tags,

finder methods<br>

When used on class level applies to all interface methods cumulatively.

Unique

false

Allowed locations

class

method

constructor

field

true

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

method-intf

false

Remote, Home, Local, LocalHome, ServiceEndpoint

 

no

 

Session and Entity beans, EJB 2.0+<br>

Indicates the method-interfaces for which this permission applies.<br>

The type "ServiceEndpoint" is only applicable to EJB2.1 session beans.<br>

This parameter is only applicable to class-level permission.<br>

It must not be set if "view-type" is set.<br>

Default value(s): all interfaces which are supported by the bean / method

view-type

false

local, remote, both, service-endpoint, remote-service-endpoint, local-service-endpoint, all

 

no

 

Specify which view-type the method/bean will be exposed in.<br>

The value "local" or "both" is only applicable to EJB 2.0 beans.<br>

The values "service-endpoint", "local-service-endpoint", "remote-service-endpoint", and "all" are

only applicable to EJB 2.1 beans.<br>

<br>

Used in:

<ul>

<li>@ejb.bean - Indicates what view-type(s) is(are) supported by the bean.<br>

Default value(s): "remote" for EJB 1.1 or "both" for EJB 2.0+

</li>

<li>@ejb.permission - Indicates the view-type(s) for which this permission applies.<br>

This parameter must not be set if "method-intf" is set.<br>

Default value(s): the view-type for the bean / method

</li>

<li>@ejb.interface-method - Optionally specify which view-type the method will be exposed in.<br>

Default value(s): the view-type for the bean

</li>

</ul>

unchecked

false

true, false

 

no

 

Flags the method as having unchecked permission.<br>

role-names must be omitted for this tag mean something.<br>

Applies to EJB 2.0+

role-names

false

Any value

 

yes

,

Comma-separated list of roles allowed to call this method.<br>

<br>

Used in:

<ul>

<li>@ejb.finder - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.permission - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.pk - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.security-roles</li>

</ul>

@ejb.persistence-field

The @ejb.persistence-field tag provides information about the persistence of a CMP Entity bean's fields.<br>

Use this for methods with the following patterns:

<ul>

<li>public abstract Foo getX();</li>

<li>public abstract boolean isX();</li>

<li>public abstract void setX(Foo newVal);</li>

</ul>

This will create the CMP field "X" in the generated CMP layer of type "Foo", and concrete implementations

of the getX/setX methods.<br>

For BMP, it will generate getX/setX methods that keep track of a dirty flag (so that ejbStore is only

called if necessary).<br>

If the type is boolean it is ok to have the get method prefixed "is" instead of "get".<br>

If you don't define the setter method, no setter method is generated for the concrete BMP/CMP class

(concrete CMP class is generated only if EJB 1.1 or EJB 2.0 but using CMP 1.x).<br>

This is useful for cases where for example nothing is set programmatically but via external sources such

as a stored procedure.<br>

Applicable for entity beans.

Unique

true

Allowed locations

class

method

constructor

field

false

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

column-name

false

Any value

 

no

 

Declare the column-name to which the CMP field will be mapped.

jdbc-type

false

ARRAY, BIGINT, BINARY, BIT, BLOB, BOOLEAN, CHAR, CLOB, DATALINK, DATE, DECIMAL, DISTINCT, DOUBLE, FLOAT, INTEGER, JAVA_OBJECT, LONGVARBINARY, LONGVARCHAR, NULL, NUMERIC, OTHER, REAL, REF, SMALLINT, STRUCT, TIME, TIMESTAMP, TINYINT, VARBINARY, VARCHAR

 

no

 

Declare the JDBC Type.<br>

Its value must be one of the fields of java.sql.Types (e.g. BIT, CHAR...).<br>

This jdbc type will be used by the CMP provider to determine which method to call on PreparedStatement

and ResultSet for INSERT / UPDATE / SELECT queries.<br>

read-only

false

true, false

 

no

 

Indicates that a field is read-only.

sql-type

false

Any value

 

no

 

Declare the actual type of the field in the database.<br>

This value will only be used when the CMP container creates your table (if possible).

@ejb.persistence

The @ejb.persistence tag provides information about the persistence of a CMP Entity bean.<br>

Applies to: CMP entity bean

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

table-name

false

Any value

 

no

 

Declare the table to which the CMP will be mapped.<br>

If table-name is not specified, the name of the class will be used, and it will be up to the

container to create the tables.

read-only

false

true, false

 

no

 

Indicates that a field is read-only.<br>

Many app servers can optimise access to such beans (e.g. better caching, bypassing checks for changes, etc.)

@ejb.pk-field

Use this for methods with the following pattern:

<ul>

<li>public abstract Foo getX().</li>

</ul>

This will denote the persistent field "X" as a primary key field, which will be included in the

generated primary key class.<br>

Must be used with the persistence tag.<br>

This tag is only valid for EntityBeans.<br>

It has no parameters.

Unique

false

Allowed locations

class

method

constructor

field

true

true

true

true

@ejb.pk

Defines the primary key of an entity bean.<br>

If the <entitypk/> subtask is included, then primary key classes will be generated for all entity beans

unless a generate="false" parameter is present, or the primary class is in the java.lang package.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

class

false

Any value

 

no

 

The fully qualified name of the primary key class.<br>

If absent the primary key class name will be determined using the pattern and package parameters.

extends

false

Any value

 

no

 

Define which class the generated pk must extend.

generate

false

true, false

 

no

 

Indicate if the primary key class should be generated.<br>

However this will only be used if needed (if more than one primary-key field is found, pex)

implements

false

Any value

 

yes

,

Define which interfaces the generated pk must implement.

method-intf

false

Home, LocalHome

 

no

 

Indicates the interface (Home or LocalHome) for which the findByPrimaryKey permissions should be set.<br>

Applies only if role-names or unchecked is specified.<br>

If the permissions should apply to both Home or LocalHome interfaces, this parameter should not be specified.

pattern

false

Any value

 

no

 

Define the pattern (using {0} for the EJB name) for generated unqualified java class name.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated name of the PK Class</li>

<li>@ejb.dao - applies to the generated name of the DAO interface</li>

<li>@ejb.home - applies to the generated name of the home / local home interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalHomeInterfacePlugin, "LocalHome" will be append<br>

For RemoteHomeInterfacePlugin, "RemoteHome" will be append<br>

</li>

<li>@ejb.interface - applies to the generated name of the remote / local interfaces.

(if -class and [interface]-pattern are absent)<br>

For LocalInterfacePlugin, "Local" will be append<br>

For RemoteInterfacePlugin, "Remote" will be append<br>

</li>

</ul>

package

false

Any value

 

no

 

Define the package for the generated java class.<br>

<br>

Used in:

<ul>

<li>@ejb.pk - applies to the generated PK Class.

See also PrimaryKeyClassPlugin for packageregex and packagereplace</li>

<li>@ejb.dao - applies to the generated DAO interface.

See also Dao??(TODO)??Plugin for packageregex and packagereplace</li>

<li>@ejb.home - applies to the generated home / local home interfaces.

(if -class and [interface]-pattern are absent) (will append home/localHome to diferentiate ???).

See also LocalInterfacePlugin/LocalHomeInterfacePlugin for packageregex and packagereplace</li>

<li>@ejb.interface - applies to the generated remote / local / service-endpoint interfaces.

(if -class and [interface]-pattern are absent) (will append remote/local to diferentiate ???).

See also RemoteInterfacePlugin/RemoteHomeInterfacePlugin for packageregex and packagereplace</li>

</ul>

unchecked

false

true, false

 

no

 

Flags the method as having unchecked permission.<br>

role-names must be omitted for this tag mean something.<br>

Applies to EJB 2.0+

role-names

false

Any value

 

yes

,

Comma-separated list of roles allowed to call this method.<br>

<br>

Used in:

<ul>

<li>@ejb.finder - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.permission - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.pk - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.security-roles</li>

</ul>

@ejb.relation

Defines a relationship between Entity beans.

Unique

true

Allowed locations

class

method

constructor

field

false

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

cascade-delete

false

true, false

 

no

 

Indicates whether or not the app server should perform cascade deletes.<br>

If yes, specify cascade-delete="true".

name

true

Any value

 

no

 

Name of the relation.<br>

For bidirectional relationships, specify the same name on both sides.

role-name

true

Any value

 

no

 

Name of the relationship role.

target-cascade-delete

false

true, false

 

no

 

Indicates whether or not the app server should perform cascade deletes for the other side of the relation.<br>

If yes, specify cascade-delete="yes".<br>

Should only occur if the relation is unidirectional.

target-ejb

false

Any value

 

no

 

Name of the EJB on the other side of the relation.<br>

Should only occur if the relation is unidirectional.

target-multiple

false

true, false

 

no

 

If this EJB represents a many-side of the other side of the relation, specify target-multiple="yes".<br>

If not, just don't use this parameter, or specify "no".<br>

Should only occur if the relation is unidirectional.

target-role-name

false

Any value

 

no

 

Name of the relationship role on the other side of the relation.<br>

Should only occur if the relation is unidirectional.

@ejb.remote-facade

Generate remote facade class for entity beans.<br>

This class will provide convenient view on session bean and perform all the necesary lookups.<br>

Session Bean methods marked with @ejb.facade-method will be included and transparently proxied.<br>

Generated class name will follow pattern: {0}Remote<br>

Unique

false

Allowed locations

class

method

constructor

field

true

true

true

true

@ejb.resource-env-ref

Defines a resource environment reference with the name name to a resource of type type.

Unique

false

Allowed locations

class

method

constructor

field

true

true

false

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

name

false

Any value

 

no

 

The name of the resource.

type

false

Any value

 

no

 

The type of the resource.

description

false

Any value

 

no

 

A optional description for the resource.

@ejb.resource-ref

Defines a resource reference with the name res-ref-name to a resource of type res-type, and the

authentication is done by the one specified in res-auth.

Unique

false

Allowed locations

class

method

constructor

field

true

true

false

true

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

res-auth

true

Container, Application

 

no

 

The resource authentication type.

res-ref-name

false

Any value

 

no

 

The name of the environment entry used in the enterprise bean's code.

res-sharing-scope

false

Shareable, Unshareable

 

no

 

The resource sharing scope

res-type

true

Any value

 

no

 

The resource type.

description

false

Any value

 

no

 

A optional description for the resource.

@ejb.security-identity

The security-identity element specifies whether the caller's security identity is to be used for the

execution of the methods of the enterprise bean or whether a specific run-as identity is to be used.<br>

It contains an optional description and a specification of the security identity to be used.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

description

false

Any value

 

no

 

The description of the security identity.

run-as

false

Any value

 

no

 

The run-as element specifies the run-as identity to be used for the execution of the methods of

an enterprise bean.<br>

It contains an optional description, and the name of a security role.

use-caller-identity

false

true, false

 

no

 

The use-caller-identity element specifies that the caller's security identity be used as the

security identity for the execution of the enterprise bean's methods.

@ejb.security-role-ref

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

Unique

false

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

role-link

true

Any value

 

no

 

The name of the role link.

role-name

true

Any value

 

no

 

The name of the role reference

@ejb.security-roles

List additional security roles that are not yet listes by method level @ejb.permission role-names tags.<br>

This is useful in conjunction with the @ejb.security-role-ref tag.

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

role-names

false

Any value

 

yes

,

Comma-separated list of roles allowed to call this method.<br>

<br>

Used in:

<ul>

<li>@ejb.finder - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.permission - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.pk - xdoclet1 calls this tag role-name and not role-names</li>

<li>@ejb.security-roles</li>

</ul>

@ejb.select

Defines a select method.<br>

This tag is placed on the ejbSelect methods.

Unique

true

Allowed locations

class

method

constructor

field

false

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

query

true

Any value

 

no

 

EJB-QL query for the select method.

result-type-mapping

false

Local, Remote

 

no

 

Result type mapping for the select method.

@ejb.transaction

Defines the transactional behaviour for this method.<br>

Applicable to methods with @ejb.create-method and @ejb.interface-method tags.<br>

If used on class level applies to all interface methods unless overridden

Unique

true

Allowed locations

class

method

constructor

field

true

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

type

true

NotSupported, Supports, Required, RequiresNew, Mandatory, Never

 

no

 

Define the type of transactional behaviour.

@ejb.util

This tag is optional, and lets you define whether or not a util class should be generated, and whether

to use the logical component name (java:comp/env) or the physical JNDI name to do the lookup.<br>

If this tag is not specified, the util class will be generated using logical lookups

(provided the <utilobject/> subtask is used)

Unique

true

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

generate

false

true, false

 

no

 

Should util class be generated.<br>

lookup-kind

false

logical, physical

 

no

 

Logical will generate a util class that uses the component name for lookup, and physical will generate

a class that uses the JNDI name for lookups.<br>

Default is logical.

@ejb.value-object-field

For a description have a look at the class level @ejb.value-object description.<br>

Applies to: Entity beans.

Unique

false

Allowed locations

class

method

constructor

field

false

true

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

aggregate

false

Any value

 

no

 

Tell XDoclet which should be the type of items contained in the multi valued property.<br>

This should be a fully qualified class name.

aggregate-name

false

Any value

 

no

 

Tell XDoclet how the accessor methods to this property in the value object should be called.<br>

The value of this parameter should be the method name, sans get or set

aggregates-name

false

Any value

 

no

 

Tell XDoclet how the accessor to collections of this property in the value object should be called.<br>

The value of this parameter should be the method name, without get or set.<br>

Default is [aggregate-name]s.

compose

false

Any value

 

no

 

Tell XDoclet which should be the type of items contained in the multi valued property.<br>

This should be a fully qualified class name.

compose-name

false

Any value

 

no

 

Tell XDoclet how the accessor methods to this property in the value object should be called.<br>

The value of this parameter should be the method name, sans get or set.

composes-name

false

Any value

 

no

 

Tell XDoclet how the accessor to collections of this property in the value object should be called.<br>

The value of this parameter should be the method name, without get or set.<br>

Default is [aggregate-name]s.

members

false

Any value

 

no

 

The class of the local or remote interface of the associated or composed bean.

members-name

false

Any value

 

no

 

The Bean Name of the associated or composed Bean.

relation

false

Any value

 

no

 

This tells XDoclet that this property can be updated outside of the scope of this value object, so

the generated method should always retrieve the property value.<br>

For relations, this is a no brainer: always include the relation="external" parameter.

concrete-type

false

Any value

 

no

 

This tells XDoclet which Collection implementation to use for storing the related objects from a

aggregation or composition.<br>

Default value(s): java.util.ArrayList for Collections and java.util.HashSet for Sets

match

false

Any value

 

no

 

An identifier that can be used to select groups of attributes to be included in this value object.<br>

You can repeat this identifier in the method-level @ejb.value-object-field tag to add a property

to a value object.<br>

You can use '*' as an special value, indicating that all entity properties will be included in this

value object.

<br>

Used in:

<ul>

<li>@ejb.value-object - Set's the match group

</li>

<li>@ejb.value-object-field - Repeat the 'match' declared in a class-level @ejb.value-object

tag to link this property to the declared value object.

</li>

</ul> |

@ejb.value-object

Definition for ValueObjects that follow the TransferObject pattern from http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html.<br>

ValueObjects can 'link' to other objects (of a relation) in two ways: aggregation and composition.<br>

Aggregation means that the other object is loosely coupled, while in Composition, the other object is

'embedded'.<br>

Note that aggregation and composition are mutually exclusive.<br>

Applies to: Entity beans

Unique

false

Allowed locations

class

method

constructor

field

true

false

false

false

Parameter

Required

Allowed values

Default value

Array

Token separator

Description

name

true

Any value

 

no

 

The name for this value object.<br>

The name will be used to form the generated class name.<br>

Using the default pattern "

Unknown macro: {0}

ValueObject" (using

for the EJB name), for example, if name is 'User',

an 'UserValue' class will be generated.<br>

pattern

false

Any value

 

no

 

Define the pattern (using {0} for the ValueObject name) for generated unqualified java class name.<br>

The default value is "

Unknown macro: {0}

ValueObject" where "ValueObject" is defined as the default 'filereplace' for ValueObjectPlugin

extends

false

Any value

 

no

 

The name of the class the generated value object class should extend, if any.

implements

false

Any value

 

yes

,

A comma-separated list of interfaces the generated value object should implements, if any.<br>

Please note that XDoclet won't generate methods to implement these interfaces, so use this only if the

interfaces doesn't contains any methods, or if the value object superclass (indicated in the 'extends'

parameter) already implements all interface methods.

ordering

false

strict, none

 

no

 

Alters the relationships between value objects.<br>

Strict ordering requires that all primary key field in the object are java.lang.Comparable.<br>

In return, the value object itself becomes java.lang.Comparable, and has very well defined ordering and

equality semantics.<br>

Strictly ordered objects are only equal if they each have all their primary key fields set (even to null),

and each of these corresponding keys is equal.<br>

None indicates that these objects can only be loosly compared.<br>

Equality is not as strictly defined, and the objects are not java.lang.Comparable.<br>

When ordering is not strict, objects are considered equal if and only if all of their members are

themselves equal.<br>

In either case the hashCode() is consistent with equals.

synchronization

false

full, partial, none

 

no

 

Indicates the level of synchronization of the value object.<br>

Full synchronization is just what it sounds like, all methods are synchronized.<br>

Partial synchronization indicates that only collections are synchronized.<br>

None indicates that nothing is synchronized.

abstract

false

true, false

 

no

 

Set if this value object is intended to be an abstract object which other value objects extend.

generate-p-k-constructor

false

true, false

 

no

 

Set if this value object should have a single argument constructor that sets the PK only.<br>

It's useful when using aggregation and you want to create a relationship between a new object and an

existing object with the form of obj.addSomeObjectRelation(new SomeObject(pk));

full-clone

false

true, false

 

no

 

Set if objects clone method should be a field by field, or otherwise, a simple copy of relations,

maintaining the same references

match

false

Any value

 

no

 

An identifier that can be used to select groups of attributes to be included in this value object.<br>

You can repeat this identifier in the method-level @ejb.value-object-field tag to add a property

to a value object.<br>

You can use '*' as an special value, indicating that all entity properties will be included in this

value object.

<br>

Used in:

<ul>

<li>@ejb.value-object - Set's the match group

</li>

<li>@ejb.value-object-field - Repeat the 'match' declared in a class-level @ejb.value-object

tag to link this property to the declared value object.

</li>

</ul> |

Powered by Atlassian Confluence