## EjbPersistent

Implemented in class xdoclet.modules.ejb.entity.PersistentTagsHandler.

- Block Tags
- Content Tags

### Block Tags:

#### ifHasAtLeastOnePkField (block template)

Evaluates the body if the class has at least one primary key field.

#### ifHasAtLeastOnePersistentField (block template)

Evaluates the body if the class has at least one persistent field.

#### forAllPersistentFields (block template)

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.

[superclasses] | Include persistent fields of superclasses. True by default. Valid Values = {true,false}
[valueobject] | If present, only loop over fields with a matching \@ejb.value-object tag.
[only-pk] | If true, only loop over the persistent fields that are in the primary key. False by default. Valid Values = {true,false}
[not-pk] | If true, only loop over the persistent fields that are not in the primary key. False by default. Valid Values = {true,false}

#### ifUsingCmp2 (block template)

Evaluate the body block if using EJB 2.0 and CMP version 2.x.

#### ifNotUsingCmp2 (block template)

Evaluate the body block if not using EJB 2.0 or using EJB 2.0 but CMP version 1.x.

#### ifEntityIsCmp (block template)

Evaluates the body block if current class is an CMP entity bean.

#### forAllCmpEntityBeans (block template)

Evaluates the body block for each EJBean derived from EntityBean which is CMP.

#### forAllCmpFields (block template)

Evaluates the body block for each persistent field of current class (if entity CMP). Looks at super classes as well. Searches for the getter methods which has ejb:persistent-field defined.

#### ifEntity (block template)

Evaluate the body block if current class is of an entity type.

#### forAllEntityBeans (block template)

Evaluates the body block for each EJBean derived from EntityBean.

#### forAllEjbSelectMethods (block template)

Evaluates the body block for each ejbSelect method.

#### forAllBeans (block template)

Evaluates the body block for each EJBean derived from one of the three EJB types: EntityBean, SessionBean or MessageDrivenBean.

#### ifIsAConcreteEJBean (block template)

Evaluates the body block if current bean is a concrete bean meaning the generate parameter of ejb:bean is either not specified or equals to "true", otherwise the bean is just an abstract base class bean not meant to be used as a EJBean but serve as the base for other EJBeans.

#### ifLocalEjb (block template)

#### ifRemoteEjb (block template)

#### ifServiceEndpointEjb (block template)

#### ifNotLocalEjb (block template)

#### ifNotRemoteEjb (block template)

#### ifNotServiceEndpointEjb (block template)

### Content templates:

#### persistentfieldNameValueList (content template)

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

#### persistentfieldList (content template)

Returns a string containing comma-separated list of persistent fields with their types.

#### persistentfieldNameValueList (content template)

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

#### entityCmpClass (content template)

Returns the name of generated CMP class.

#### fieldName (content template)

Returns the cmp-version 2.x compatible cmp / cmr field name for the current method.

#### persistenceType (content template)

Returns the persistent type of current bean.

#### reentrant (content template)

Returns True if ejb:bean reentrant is true, False otherwise. It does the case conversion trick from true to True and false to False.

#### ejbRefName (content template)

Returns the name of EJB ref.

#### ejbRefName (content template)

Returns the name of EJB ref.

#### ejbName (content template)

Returns the name of current EJB bean.

[prefixWithEjbSlash] | Specifies whether to prefix it with ejb/ or not. False by default. Valid Values = {true,false}

#### ejbExternalRefName (content template)

Returns the name of EJB ref.

#### symbolicClassName (content template)

Returns the symbolic name of the current class. For an EJBean it's the value of ejb:bean's name parameter.

#### shortEjbName (content template)

Returns short version of ejbName(). Example: "foo.bar.MyBean" ->"MyBean", "foo/bar/MyBean" ->"MyBean"

#### beanType (content template)

Returns Bean type : "Entity", "Session" or "Message Driven".

#### concreteFullClassName (content template)

Returns the full-qualified name of the current class's concrete class. This is the class that is generated and is derived from current class.

#### id (content template)

Returns unique id for current ejb.