xdoclet.modules.ejb.entity

Class PkTagsHandler

public class PkTagsHandler extends EjbTagsHandler

Tags used in generating PK classes for entity EJBs.

Version: $Revision: 1.18 $

Author: Ara Abrahamian (ara_e@email.com)

UNKNOWN: 13. juni 2002 namespace = "EjbPk"

Method Summary
static booleanclassHasPrimkeyField(XClass clazz)
Returns true if the specified class has a primkey-field defined on the ejb.bean tag (opposed to having a separate PK class).
StringextendsFrom()
Returns the name of the class pk class extends.
protected StringgetDependentClassFor(XClass clazz, String type)
Gets the DependentClassFor attribute of the PkTagsHandler object
protected static StringgetEntityPkClassPattern()
Returns the pattern which is used to calculate the Primary Key class' name from the EJB name.
static StringgetPkClassFor(XClass clazz)
Get the primary key class specified for a given class.
static StringgetPkClassForEjbJarXmlFor(XClass clazz)
Gets the PkClassForEjbJarXmlFor attribute of the PkTagsHandler class
static StringgetPrimkeyFieldFor(XClass clazz)
Get the primary key field specified for a given class.
static StringgetPrimkeyGetterFor(XClass clazz)
Returns the getter method of the primary key field specified for a given class.
static StringgetPrimkeySetterFor(XClass clazz)
Returns the setter method of the primary key field specified for a given class.
voidifDoesntHavePrimkeyField(String template, Properties attributes)
Process the tag body if the current class doesn't have a defined primkey-field.
voidifHasPrimkeyField(String template, Properties attributes)
Process the tag body if the current class has a defined primkey-field.
voidifHasPrimkeySetter(String template, Properties attributes)
Process the tag body if the current class has defined a setter for the primkey-field.
voidifIsNotPrimkeyField(String template, Properties attributes)
Process the tag body if the current method is not a getter or setter for the primkey-field.
voidifIsPkField(String template)
Evaluates the body if the current method is a primary key field.
voidifIsPrimkeyField(String template, Properties attributes)
Process the tag body if the current method is a getter or setter for the primkey-field.
static booleanisMethodPrimkeyField(XClass clazz, XMethod method)
Test if a given method is the getter or setter for the primary key field specified for the class.
StringpkClass()
Returns the name of generated PK class for the current class.
StringpkClassForEjbJarXml()
Returns the name of PK class for the current class.
StringpkfieldList()
Returns a string containing comma-separated list of primary key fields with their types.
StringpkfieldListFrom(Properties attributes)
Returns a string containing comma-separated list of primary key fields getting from an object specified as parameter.
StringprimkeyField(Properties attributes)
Returns the primkey-field defined for the current class.
StringprimkeyGetter(Properties attributes)
Returns the getter name for the primkey-field.
StringprimkeySetter(Properties attributes)
Returns the setter name for the primkey-field.

Method Detail

classHasPrimkeyField

public static boolean classHasPrimkeyField(XClass clazz)
Returns true if the specified class has a primkey-field defined on the ejb.bean tag (opposed to having a separate PK class).

Parameters: clazz The class to look into.

Returns: true if the class has a defined primkey-field

Throws: XDocletException

See Also: getPrimkeyFieldFor

extendsFrom

public String extendsFrom()
Returns the name of the class pk class extends.

Returns: superclass name

Throws: XDocletException

UNKNOWN: type = "content"

getDependentClassFor

protected String getDependentClassFor(XClass clazz, String type)
Gets the DependentClassFor attribute of the PkTagsHandler object

Parameters: clazz Describe what the parameter does type Describe what the parameter does

Returns: The DependentClassFor value

Throws: XDocletException

getEntityPkClassPattern

protected static String getEntityPkClassPattern()
Returns the pattern which is used to calculate the Primary Key class' name from the EJB name. The default is to append "PK", unless overridden on the subtask.

Returns: pattern

getPkClassFor

public static String getPkClassFor(XClass clazz)
Get the primary key class specified for a given class. If a primary key field has been specified, using the primkey-field parameter on the ejb.bean tag, this will be the return type of that field's getter method. Otherwise, it will be determined by the various parameters of the ejb.pk tag and the subtask's settings for default pattern, packageSubstitution, etc.

Parameters: clazz The class to look into

Returns: Fully qualified name of the primary key's type

Throws: XDocletException

getPkClassForEjbJarXmlFor

public static String getPkClassForEjbJarXmlFor(XClass clazz)
Gets the PkClassForEjbJarXmlFor attribute of the PkTagsHandler class

Parameters: clazz The class to look into

Returns: The PkClassForEjbJarXmlFor value

Throws: XDocletException

getPrimkeyFieldFor

public static String getPrimkeyFieldFor(XClass clazz)
Get the primary key field specified for a given class. This is given by the primkey-field parameter on the ejb.bean tag, although this may be inherited from a superclass.

Parameters: clazz The class to look into

Returns: The value of the ejb.bean primkey-field parameter

Throws: XDocletException

getPrimkeyGetterFor

public static String getPrimkeyGetterFor(XClass clazz)
Returns the getter method of the primary key field specified for a given class.

Parameters: clazz The class to look into

Returns: The name of the ejb.bean primkey-field parameter's getter method, or null if there isn't one

Throws: XDocletException

See Also: getPrimkeyFieldFor

getPrimkeySetterFor

public static String getPrimkeySetterFor(XClass clazz)
Returns the setter method of the primary key field specified for a given class.

Parameters: clazz The class to look into

Returns: The name of the ejb.bean primkey-field parameter's setter method, or null if there isn't one

Throws: XDocletException

See Also: getPrimkeyFieldFor

ifDoesntHavePrimkeyField

public void ifDoesntHavePrimkeyField(String template, Properties attributes)
Process the tag body if the current class doesn't have a defined primkey-field.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

UNKNOWN: type = "block"

ifHasPrimkeyField

public void ifHasPrimkeyField(String template, Properties attributes)
Process the tag body if the current class has a defined primkey-field.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

UNKNOWN: type = "block"

ifHasPrimkeySetter

public void ifHasPrimkeySetter(String template, Properties attributes)
Process the tag body if the current class has defined a setter for the primkey-field.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

See Also: getPrimkeySetterFor

UNKNOWN: type = "block"

ifIsNotPrimkeyField

public void ifIsNotPrimkeyField(String template, Properties attributes)
Process the tag body if the current method is not a getter or setter for the primkey-field.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

UNKNOWN: type = "block"

ifIsPkField

public void ifIsPkField(String template)
Evaluates the body if the current method is a primary key field.

Parameters: template The body of the block tag

Throws: XDocletException

UNKNOWN: type = "block"

ifIsPrimkeyField

public void ifIsPrimkeyField(String template, Properties attributes)
Process the tag body if the current method is a getter or setter for the primkey-field.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

UNKNOWN: type = "block"

isMethodPrimkeyField

public static boolean isMethodPrimkeyField(XClass clazz, XMethod method)
Test if a given method is the getter or setter for the primary key field specified for the class.

Parameters: clazz The class to look into method The method to check for primkey-field

Returns: true if the method is a getter or setter for the primkey-field

Throws: XDocletException

See Also: getPrimkeyFieldFor

pkClass

public String pkClass()
Returns the name of generated PK class for the current class.

Returns: The name of generated PK class.

Throws: XDocletException

UNKNOWN: type = "content"

pkClassForEjbJarXml

public String pkClassForEjbJarXml()
Returns the name of PK class for the current class.

Returns: The name of generated PK class.

Throws: XDocletException

UNKNOWN: type = "content"

pkfieldList

public String pkfieldList()
Returns a string containing comma-separated list of primary key fields with their types.

Returns: A string containing comma-separated list of primary key fields with their types.

Throws: XDocletException

See Also: PersistentTagsHandler

UNKNOWN: type = "content"

pkfieldListFrom

public String pkfieldListFrom(Properties attributes)
Returns a string containing comma-separated list of primary key fields getting from an object specified as parameter.

Parameters: attributes The attributes of the template tag

Returns: A string containing comma-separated list of primary key fields without their types.

Throws: XDocletException

See Also: PersistentTagsHandler

UNKNOWN: type = "content" name = "name" optional = "false" description = "The name of the variable to get the fields * from."

primkeyField

public String primkeyField(Properties attributes)
Returns the primkey-field defined for the current class.

Parameters: attributes The attributes of the template tag

Returns: The value of the ejb.bean primkey-field parameter

Throws: XDocletException

See Also: getPrimkeyFieldFor

UNKNOWN: type = "content"

primkeyGetter

public String primkeyGetter(Properties attributes)
Returns the getter name for the primkey-field.

Parameters: attributes The attributes of the template tag

Returns: The primkey-field getter

Throws: XDocletException

See Also: getPrimkeyGetterFor

UNKNOWN: type = "content"

primkeySetter

public String primkeySetter(Properties attributes)
Returns the setter name for the primkey-field.

Parameters: attributes The attributes of the template tag

Returns: The primkey-field setter

Throws: XDocletException

See Also: getPrimkeySetterFor

UNKNOWN: type = "content"