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

## @sunone Tag Reference

Tags for creation of SunONE/iPlanet specific resources

Applies to: all EJB types on class level

### @sunone Class Level Tags

@sunone.bean
@sunone.bean-cache
@sunone.bean-pool
@sunone.consistency
@sunone.finder
@sunone.persistence-manager
@sunone.pool-manager

### @sunone Method Level Tags

@sunone.fetched-with
@sunone.relation

### @sunone Field Level Tags

## @sunone Class Level Tag Usage

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

All parameters of <session-deployment/>, <entity-deployment/> and <message-driven-deployment/> are placed under this class level tag.

Applies to: all EJB types

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
guid | text |  | A string that represent the guid of the Ejb in question | false
pass-timeout | int |  | Passivation timeout in seconds used by the container. This value can be changed during runtime by the Administration Tool. | true
pass-by-value | bool |  | Controls use of Pass by Value/Reference semantics for calls from an enterprise bean to remote interface methods in another EJB that is co-located within the same process. If true, pass by value is used. If false, pass by reference. NB in version 7.0, Sun changed the relevant DD element to pass-by-reference, with the opposite meaning. You should still use this tag in exactly the same way, the template takes account of the change. | false
session-timeout | int | Only relevant for SessionBeans | The session timeout. In seconds, according to the DTD; in minutes, according to Sun's online documentation... NB According to the DTD it's mandatory for all session beans, but surely it's only relevant for stateful ones? | true
transaction-manager-type | text |  | The transaction manager type for the component. Only relevant to version 6.5. Allowed values are 'local' and 'global'. Valid options are: local global Default value(s): | false
failover-required | bool |  | This is a True or False value indicating whether failover is required | false
iiop | bool |  | Optional element indicating if the bean is rich client enabled. (true | false), default value is false Default value(s): false | false
destination-name | text | Only relevant for MessageDrivenBeans | Specifies the name of the Queue or the Topic a MDB listens to. | true
max-message-limit | int | Only relevant for MessageDrivenBeans | The maximum number of messages to load into a JMS Session | true
durable-name | text | Only relevant for MessageDrivenBeans | The durable name of the topic subscription | false
max-mdb-pool-size | int | Only relevant for MessageDrivenBeans | The maximum size of the ServerSessionPool | true
min-mdb-pool-size | int | Only relevant for MessageDrivenBeans | The minimum size of the ServerSessionPool | true
cmp-mapping-properties | text | CMP entity bean | Specifies the location of the persistence vendor's specific O/R database mapping file. | true
read-only | bool | BMP entity bean | A flag specifying that this bean is a read-only bean. Default value(s): false | false
refresh-period | int | BMP entity bean | Specifies the rate at which a read-only-bean must be refreshed from the data source, in seconds. If this is less than or equal to zero, the bean is never refreshed; if greater than zero, the bean instances are refreshed at the specified interval. This rate is just a hint to the container. Default is 600. Default value(s): 600 | false
commit-option | text | BMP entity bean | Optionally specifies the commit option that will be used on transaction completion. Valid values are B or C (commit option A is not supported for the Sun ONE Application Server 7 release). Default value is B. Valid options are: B C Default value(s): B | false

### @sunone.bean-cache (0..1)

Specifies the entity bean cache properties. Used for entity beans and stateful session beans.

Applies to: all EJB types (doesn't actually apply to SFSB and MDB, but the template will ignore it for those)

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
max-cache-size | int |  | Optionally specifies the maximum number of beans allowable in cache. A value of zero indicates an unbounded cache. In reality, there is no hard limit. The max-cache-size limit is just a hint to the cache implementation. Default is 512. Default value(s): 512 | false
cache-idle-timeout | int |  | Optionally specifies the maximum time in seconds that a bean can remain idle in the cache. After this amount of time, the container can passivate this bean. A value of 0 specifies that beans may never become candidates for passivation. Default is 600. Default value(s): 600 | false
removal-timeout | int |  | Optionally specifies the amount of time in seconds a bean instance can remain idle in the container before it is removed (timeout). A value of 0 specifies that the container does not remove inactive beans automatically. The default value is 5400. If removal-timeout is less than or equal to cache-idle-timeout, beans are removed immediately without being passivated. Default value(s): 5400 | false
victim-selection-policy | text |  | Optionally specifies how stateful session beans are selected for passivation. Possible values are First In, First Out (FIFO), Least Recently Used (LRU), Not Recently Used (NRU). The default value is NRU, which is actually pseudo-LRU. Valid options are: FIFO LRU NRU Default value(s): NRU | false

### @sunone.bean-pool (0..1)

Specifies the pool properties of stateless session beans, entity beans, and message-driven bean.

Applies to: all EJB types (doesn't actually apply to SFSB, but the template will ignore it for those)

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
steady-pool-size | int |  | Specifies the initial and minimum number of beans maintained in the pool. Default is 32. Default value(s): 32 | false
resize-quantity | int |  | Specifies the number of beans to be created if the pool is empty (subject to the max-pool-size limit). Values are from 0 to MAX_INTEGER. | false
max-pool-size | int |  | Specifies the maximum number of beans in the pool. Values are from 0 to MAX_INTEGER. Default is to server.xml or 60. | false
pool-idle-timeout | int |  | Specifies the maximum time in seconds that a bean is allowed to be idle in the pool. After this time, the bean is removed. This is a hint to the server. Default time is 600 seconds (10 minutes). Default value(s): 600 | false

### @sunone.consistency (0..1)

Specifies container behavior in guaranteeing transactional consistency of the data in the bean. Optional. Any one of the parameters may be used alone, or lock-when-modified and check-all-at-commit may also be used together. If not present, none is assumed.

Applies to: entity bean

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
none | bool |  | No consistency checking occurs. | false
check-modified-at-commit | bool |  | This flag is not implemented for Sun ONE Application Server 7. | false
check-all-at-commit | bool |  | Checks modified instances at commit time. | false
lock-when-modified | bool |  | This flag is not implemented for Sun ONE Application Server 7. | false
lock-when-loaded | bool |  | An exclusive lock is obtained when the data is loaded. | false

### @sunone.finder (0..1)

Describes the finders for container-managed persistence (CMP) 1.1 with a method name and query.

Applies to: CMP 1.1 entity bean

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
method-name | text |  | Specifies the method name for the query field. | true
query-params | text |  | Optional data that specifies the query parameters for the finder | false
query-filter | text |  | Specifies the query filter for the CMP 1.1 finder. Optional. | false
query-variables | text |  | Optional data that specifies variables in query expression for the CMP 1.1 finder. | false

### @sunone.persistence-manager (0..1)

defines all the persistence manager specific information

Applies to: Used in Entity beans.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
factory-class-name | text |  | Factory class used to create new instances of a persistence manager | true
properties-file-location | text |  | Location in jar file of properties file, relative to the META-INF/ of the jar | false

### @sunone.pool-manager (0..1)

Descriptor for cache pool attributes.

Applies to: Used in Entity beans.

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
commit-option | text |  | A string field whose valid values are either COMMIT_OPTION_C, or COMMIT_OPTION_B. Default is the COMMIT_OPTION_C value. Valid options are: COMMIT_OPTION_B COMMIT_OPTION_C Default value(s): COMMIT_OPTION_C | true
ready-pool-timeout | int |  | ready pool timeout used by the container. An integer in seconds. Default is 0 (infinite) This value can be changed during runtime by the Administration Tool. Default value(s): 0 | true
ready-pool-maxsize | int |  | maxsize of the ready cache (in number of entries). An integer that defaults to 0. This value can be changed during runtime by the Administration Tool. Default value(s): 0 | true
free-pool-maxsize | int |  | maxsize of the instance free pool (in number of entries). An integer that defaults to 0. This value can be changed during runtime by the Administration Tool. Default value(s): 0 | true

## @sunone Method Level Tag Usage

### @sunone.fetched-with (0..1)

Specifies the fetch group configuration for fields and relationships. Optional. A field may participate in a hierarchical or independent fetch group. If the fetched-with element is not present, the value "none" assumed. Only one of the parameters should be specified.

Applies to: EJB entity bean fields. On the persistent fields getter methods

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
level | int |  | Specifies a hierarchical fetch group. The value must be an integer. Fields and relationships that belong to a hierarchical fetch group of equal or lesser value are fetched at the same time. The value of level must be greater than zero. | false
named-group | text |  | Specifies the name of an independent fetch group. All the fields and relationships that are part of a named group are fetched at the same time. | false
none | bool |  | A value of "true" indicates that this field or relationship is fetched by itself. | false

### @sunone.relation (0..*)

Specifies the column pairs in the mapping of a relation. Must occur at least once, though may occur multiple times, once for each column pair.

Applies to: EJB entity bean fields. On the relation fields getter methods

Parameter | Type | Applicability | Description | Mandatory
--- | --- | --- | --- | ---
column | text |  | TABLE.COLUMN for this end of the relation. | true
target | text |  | TABLE.COLUMN for the target end of the relation. | true

## @sunone Field Level Tag Usage