xdoclet.tagshandler
Class PackageTagsHandler.PackageSubstitution
java.lang.Object
xdoclet.tagshandler.PackageTagsHandler.PackageSubstitution
- PackageTagsHandler
- Serializable
public static class PackageTagsHandler.PackageSubstitution
extends java.lang.Object
implements Serializable
It's good practice to put interfaces (such as remote/local interfaces, data objects and home interfaces) in a
separate "interfaces" package rather than in the EJB bean implementation package. Previous versions of XDoclet
dictated this behavior, so if package name of a bean ended with
.beans
or
.ejb
interfaces were put into .interfaces package. It's no more the case. You have full control over it. If you don't
use a
packageSubstitution
element, then all interfaces are generated to the same package as the bean
implementation class. But if you want to follow the pattern and put interfaces into a separate package you can,
by providing the list of package name tails that interfaces of beans inside that packages should be placed into
the package you define. For example interfaces of
test.ejb.CustomerBean
will be placed in
test.interfaces
by the following
packageSubstitution
:
<packageSubstitution packages="ejb,beans" substituteWith="interfaces" />
By using the
useFirst
attribute, you can tell xdoclet to substitute the first occurrence and not the
last.
Now if you have a structure like
com.acme.foo.bar.ejb
com.acme.baz.lala.ejb
you want to gather all interfaces under one root/subtree like e.g.
com.acme.interfaces.bar.*
com.acme.interfaces.lala.*
now you can say:
<packagesubstitution packages="foo,baz" substituteWith="interfaces" useFirst="true"/>
String | getPackages() - Gets the Packages attribute of the PackageSubstitution object
|
String | getSubstituteWith() - Gets the SubstituteWith attribute of the PackageSubstitution object
|
boolean | getUseFirst() - return the useAny attribute.
|
void | setPackages(String packages) - Sets the Packages attribute of the PackageSubstitution object
|
void | setSubstituteWith(String substituteWith) - Sets the SubstituteWith attribute of the PackageSubstitution object
|
void | setUseFirst(boolean first) - Sets the useFirst attribute
|
getPackages
public String getPackages()
Gets the Packages attribute of the PackageSubstitution object
getSubstituteWith
public String getSubstituteWith()
Gets the SubstituteWith attribute of the PackageSubstitution object
getUseFirst
public boolean getUseFirst()
return the useAny attribute. This attribute specifies if the substitution can only appear at the end of a
package (useAny=false) or also in the middle.
setPackages
public void setPackages(String packages)
Sets the Packages attribute of the PackageSubstitution object
packages
- The new Packages value
setSubstituteWith
public void setSubstituteWith(String substituteWith)
Sets the SubstituteWith attribute of the PackageSubstitution object
substituteWith
- The new SubstituteWith value
setUseFirst
public void setUseFirst(boolean first)
Sets the useFirst attribute
first
- should the first occurrence be used or not?