xdoclet.modules.ejb.entity

Class PersistentTagsHandler

public class PersistentTagsHandler extends CmpTagsHandler

Version: $Revision: 1.23 $

Author: Ara Abrahamian (ara_e@email.com)

UNKNOWN: Oct 16, 2001 namespace = "EjbPersistent"

Method Summary
static StringfieldList(XClass clazz, String inclTag, String exclTag, int type, String valueObject, boolean superclasses)
Returns comma-separated list of fields, excluding fields that have tags of exclTag list, including fields that have tags of inclTag list.
voidforAllPersistentFields(String template, Properties attributes)
Evaluates the body for each persistent field.
protected voidforAllPersistentMatchedFields(String template, String include_tags, String exclude_tags, boolean superclasses, String valueObject)
Generate only for all Persisted Fields matching a specific XTag or Persisted fields that do not match a specific Tag
protected String[]getPkFieldsInHeader()
Returns an array containing ejb:pk-field tags defined in class level.
voidifHasAtLeastOnePersistentField(String template)
Evaluates the body if the class has at least one persistent field.
voidifHasAtLeastOnePkField(String template)
Evaluates the body if the class has at least one primary key field.
static booleanisPersistentField(XMethod method)
Returns true if method is a persistent field, false otherwise.
static booleanisPkField(XMethod method)
Returns true if method is a primary key field, false otherwise.
static booleanisPkFieldInHeader(XClass clazz)
Returns true if clazz has ejb:pk-field defined.
static booleanisValueObjectField(XClass clazz, XMethod method, String valueObject)
Gets the ValueObjectField attribute of the PersistentTagsHandler class
StringpersistentfieldList(Properties attributes)
Returns a string containing comma-separated list of persistent fields with their types.
StringpersistentfieldNameValueList(Properties attributes)
Returns a string containing comma-separated list of persistent fields without their types in fieldname="value" format.
StringpersistentfieldNameValueList()
Returns a string containing comma-separated list of persistent fields without their types in fieldname="value" format.

Method Detail

fieldList

public static String fieldList(XClass clazz, String inclTag, String exclTag, int type, String valueObject, boolean superclasses)
Returns comma-separated list of fields, excluding fields that have tags of exclTag list, including fields that have tags of inclTag list. If name_value_out is true, then the list is in fieldname="value" format.

Parameters: clazz Description of Parameter inclTag Fields that have at least of the tags of this comma-separated list are used. exclTag Fields that don't have all of the tags of this comma-separated list are used. type Type of return (0: comma separated list - 1: field=value comma separated list - 2: getter comma sperated list, 3: comma separated name list) valueObject superclasses

Returns: Description of the Returned Value

Throws: XDocletException

UNKNOWN: This method only takes the field of the current class. I think it's ok. Any objection ?

forAllPersistentFields

public void forAllPersistentFields(String template, Properties attributes)
Evaluates the body for each persistent field. If only-pk="true" then use only primary keys, if not-pk="true" then use only persistent fields that are not primary keys. By default use all regardless of being primary key field or not.

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

Throws: XDocletException

See Also: PersistentTagsHandler

UNKNOWN: type = "block" name = "superclasses" optional = "true" values = "true,false" description = "Include * persistent fields of superclasses. True by default." name = "valueobject" optional = "true" description = "If present, only loop over fields * with a matching \@ejb.value-object tag." name = "only-pk" optional = "true" values = "true,false" description = "If true, only loop * over the persistent fields that are in the primary key. False by default." name = "not-pk" optional = "true" values = "true,false" description = "If true, only loop * over the persistent fields that are not in the primary key. False by default."

forAllPersistentMatchedFields

protected void forAllPersistentMatchedFields(String template, String include_tags, String exclude_tags, boolean superclasses, String valueObject)
Generate only for all Persisted Fields matching a specific XTag or Persisted fields that do not match a specific Tag

Parameters: template The body of the block tag include_tags only fields having these tags exclude_tags only fields not having these tags superclasses traverse superclasses too valueObject

Throws: XDocletException

See Also: PersistentTagsHandler

getPkFieldsInHeader

protected String[] getPkFieldsInHeader()
Returns an array containing ejb:pk-field tags defined in class level.

Returns: The PkFieldsInHeader value

Throws: XDocletException

ifHasAtLeastOnePersistentField

public void ifHasAtLeastOnePersistentField(String template)
Evaluates the body if the class has at least one persistent field.

Parameters: template The body of the block tag

Throws: XDocletException

UNKNOWN: type = "block"

ifHasAtLeastOnePkField

public void ifHasAtLeastOnePkField(String template)
Evaluates the body if the class has at least one primary key field.

Parameters: template The body of the block tag

Throws: XDocletException

UNKNOWN: type = "block"

isPersistentField

public static boolean isPersistentField(XMethod method)
Returns true if method is a persistent field, false otherwise. Persistent fields are getter methods marked with a ejb:persistent-field tag.

Parameters: method Description of Parameter

Returns: The PersistentField value

isPkField

public static boolean isPkField(XMethod method)
Returns true if method is a primary key field, false otherwise. PK fields are getter methods marked with a ejb:pk-field tag.

Parameters: method Description of Parameter

Returns: The PkField value

isPkFieldInHeader

public static boolean isPkFieldInHeader(XClass clazz)
Returns true if clazz has ejb:pk-field defined.

Parameters: clazz Description of Parameter

Returns: The PkFieldInHeader value

isValueObjectField

public static boolean isValueObjectField(XClass clazz, XMethod method, String valueObject)
Gets the ValueObjectField attribute of the PersistentTagsHandler class

Parameters: clazz Describe what the parameter does method Describe what the parameter does valueObject Describe what the parameter does

Returns: The ValueObjectField value

Throws: XDocletException

persistentfieldList

public String persistentfieldList(Properties attributes)
Returns a string containing comma-separated list of persistent fields with their types.

Parameters: attributes

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

Throws: XDocletException

See Also: PersistentTagsHandler

UNKNOWN: type = "content"

persistentfieldNameValueList

public String persistentfieldNameValueList(Properties attributes)
Returns a string containing comma-separated list of persistent fields without their types in fieldname="value" format.

Parameters: attributes

Returns: A string containing comma-separated list of persistent fields with their types like an ordinary method parameter definition.

Throws: XDocletException

See Also: PersistentTagsHandler

UNKNOWN: type = "content"

persistentfieldNameValueList

public String persistentfieldNameValueList()
Returns a string containing comma-separated list of persistent fields without their types in fieldname="value" format.

Returns: A string containing comma-separated list of persistent fields with their types like an ordinary method parameter definition.

Throws: XDocletException

See Also: PersistentTagsHandler

UNKNOWN: type = "content"