XDoclet: Attribute-Oriented Programming - Migration from EJBDoclet to XDoclet
Author: Aslak Hellesoy

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

## Migration from EJBDoclet to XDoclet

This page shows you which tags have been removed from EJBDoclet, and wich tags you should use instead.

### Class Level

Old Tag | Old Parameter | Applicable | New Tag
--- | --- | --- | ---
@ejb:ejb-name | name: String | All | @ejb.bean
@ejb:entity-cmp |  | Entity | @ejb.bean
@ejb:cmp-version | version: String | Entity (2.0) | @ejb.bean cmp-version=
@ejb:entity-bmp |  | Entity | @ejb.bean
@ejb:stateless-session |  | Stateless Session | @ejb.bean
@ejb:stateful-session |  | Stateful Session | @ejb.bean
@ejb:message-driven |  | Message Driven | @ejb.bean
@ejb:transaction-type | type: "Bean" | "Container" | Session | @ejb.bean transaction-type=
@ejb:data-container | value: "true" | false | Entity | @ejb.data-object
@ejb:data-method | value: "true" | "false" | Entity | @ejb.data-object
@ejb:data-equals | value: "true" | "false" | Entity | @ejb.data-object
@ejb:data-implements | interface1 [, interface2[, interfaceN]] | Entity | @ejb.data-object
@ejb:data-extends | base-class-name: String | Entity | @ejb.data-object
@ejb:remote-extends | base-class-name: String | All | @ejb.interface extends=
@ejb:home-extends | base-class-name: String | All | @ejb.home extends=
@ejb:pk-extends | base-class-name: String | Entity | @ejb.pk extends=
@ejb:pk-implements | base-class-name: String | Entity | @ejb.pk implements=
@ejb:pk-serial | name: String | Entity | @ejb.pk serial=
@ejb:pk-field | type: String, name: String | Entity Beans | @ejb.pk
@ejb:acknowledge-mode | mode: "Auto-acknowledge" | "Dups-ok-acknowledge" | Message Driven | @ejb.bean acknowledge-mode=
@ejb:destination-type | type: "javax.jms.Queue" | "javax.jms.Topic" | Message Driven | @ejb.bean destination-type=
@ejb:subscription-durability | durability: "Durable" | "NonDurable" | Message Driven | @ejb.bean subscription-durability=
@ejb:message-selector | selector: String | Message Driven | @ejb.bean message-selector=
@jboss:finder-order | Example: @jboss:finder-order findFoo foo,bar | CMP through JAWS | @jboss.finder-query order=

### Method Level

Old Tag | Old Parameter | Applicable | New Tag
--- | --- | --- | ---
@ejb:remote-method |  | All | @ejb.interface-method view-type="remote"