Class EjbConversionHelper
- java.lang.Object
-
- com.sun.jdo.spi.persistence.support.ejb.ejbc.EjbConversionHelper
-
- All Implemented Interfaces:
ConversionHelper
public class EjbConversionHelper extends Object implements ConversionHelper
-
-
Field Summary
-
Fields inherited from interface com.sun.jdo.api.persistence.mapping.ejb.ConversionHelper
MANY, ONE
-
-
Constructor Summary
Constructors Constructor Description EjbConversionHelper(NameMapper nameMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
applyDefaultUnknownPKClassStrategy(String ejbName)
Returns flag whether the mapping conversion should apply the default strategy for dealing with unknown primary key classes.boolean
ensureValidation()
Returns the flag whether the mapping conversion should validate all fields against schema columns.boolean
generateFields()
Returns the flag whether the mapping conversion should generate relationship fields and primary key fields to support run-time.Object[]
getFields(String ejbName)
IfgenerateFields
istrue
, then this method will return an array of cmp + cmr + pseudo cmr fields, otherwise the method will return an array of cmp + cmr fields.String
getGeneratedPKFieldName()
Returns the name used for generated primary key fields.List
getGeneratedRelationships(String ejbName)
Returns a list of generated relationship field names.String
getGeneratedVersionFieldNamePrefix()
Returns the prefix used for generated version fields.String
getInverseFieldName(String ejbName, String fieldName)
This method return the fieldName of relation role on the other end.String
getMappedClassName(String ejbName)
Computes the name of the TP implementation class for a bean.String
getMultiplicity(String ejbName, String fieldName)
getMultiplicity of the other role on the relationship Please note that multiplicity is JDO styleString
getRelationshipFieldContent(String ejbName, String fieldName)
Return the name of the opposite roles ejb-nameString
getRelationshipFieldType(String ejbName, String fieldName)
This API will only be called from MappingFile when multiplicity is Many on the other role.boolean
hasField(String ejbName, String fieldName)
IfgenerateFields
istrue
, then this method will check if the field is one of the cmp + cmr + pseudo cmr fields, otherwise the method will check if the field is one of the cmp + cmr fields.boolean
isGeneratedField(String ejbName, String fieldName)
Returnstrue
if the field is generated.boolean
isGeneratedRelationship(String ejbName, String fieldName)
Flag whether the conversion helper generated the relationship fieldboolean
isKey(String ejbName, String fieldName, boolean candidate)
The boolean argument candidate is ignored in this case.boolean
relatedObjectsAreDeleted(String beanName, String fieldName)
void
setEnsureValidation(boolean isValidating)
Sets the flag whether the mapping conversion should validate all fields against schema columns.void
setGenerateFields(boolean generateFields)
Sets the flag whether the mapping conversion should generate relationship fields, primary key fields, and version fields to support run-time.
-
-
-
Constructor Detail
-
EjbConversionHelper
public EjbConversionHelper(NameMapper nameMapper)
-
-
Method Detail
-
getMappedClassName
public String getMappedClassName(String ejbName)
Description copied from interface:ConversionHelper
Computes the name of the TP implementation class for a bean.- Specified by:
getMappedClassName
in interfaceConversionHelper
- Parameters:
ejbName
- The value of the ejb-name element for a bean.- Returns:
- The full name of the TP class that implements the fields and relationships of an EJB.
-
hasField
public boolean hasField(String ejbName, String fieldName)
IfgenerateFields
istrue
, then this method will check if the field is one of the cmp + cmr + pseudo cmr fields, otherwise the method will check if the field is one of the cmp + cmr fields.- Specified by:
hasField
in interfaceConversionHelper
- Parameters:
ejbName
- The ejb-name element for the beanfieldName
- The name of a container managed field in the named bean- Returns:
true
if the bean contains the field, otherwise returnfalse
-
getFields
public Object[] getFields(String ejbName)
IfgenerateFields
istrue
, then this method will return an array of cmp + cmr + pseudo cmr fields, otherwise the method will return an array of cmp + cmr fields.- Specified by:
getFields
in interfaceConversionHelper
- Parameters:
ejbName
- The ejb-name element for the bean- Returns:
- an array of fields in the ejb bean
-
isKey
public boolean isKey(String ejbName, String fieldName, boolean candidate)
The boolean argument candidate is ignored in this case.- Specified by:
isKey
in interfaceConversionHelper
- Parameters:
ejbName
- The value of the ejb-name element for a bean.fieldName
- The name of a container managed field in the named bean.candidate
- The value "proposed" by the content of the sun-cmp-mapping file.- Returns:
- The real value of the keyness of a field. This may be different than the candidate value, if the correct values of a fields keyness can be computed from available data.
-
getRelationshipFieldType
public String getRelationshipFieldType(String ejbName, String fieldName)
This API will only be called from MappingFile when multiplicity is Many on the other role.- Specified by:
getRelationshipFieldType
in interfaceConversionHelper
- Parameters:
ejbName
- The value of the ejb-name element for a bean.fieldName
- The name of a container managed field in the named bean.- Returns:
- The String values "One" or "Many".
-
getMultiplicity
public String getMultiplicity(String ejbName, String fieldName)
getMultiplicity of the other role on the relationship Please note that multiplicity is JDO style- Specified by:
getMultiplicity
in interfaceConversionHelper
- Parameters:
ejbName
- The ejb-name element for the beanfieldName
- The name of a container managed field in the named bean.- Returns:
- The String values "One" or "Many".
-
getRelationshipFieldContent
public String getRelationshipFieldContent(String ejbName, String fieldName)
Description copied from interface:ConversionHelper
Return the name of the opposite roles ejb-name- Specified by:
getRelationshipFieldContent
in interfaceConversionHelper
- Parameters:
ejbName
- The value of the ejb-name element for a bean.fieldName
- The name of a container managed field in the named bean.- Returns:
- The ejb-name of the bean that is referenced by a relationship field. This is the ejb-name of the "other" roles relationship-role-source.
-
getInverseFieldName
public String getInverseFieldName(String ejbName, String fieldName)
This method return the fieldName of relation role on the other end.- Specified by:
getInverseFieldName
in interfaceConversionHelper
- Parameters:
ejbName
- The value of the ejb-name element for a bean.fieldName
- The name of a container managed field in the named bean.- Returns:
- The String values "One" or "Many".
-
applyDefaultUnknownPKClassStrategy
public boolean applyDefaultUnknownPKClassStrategy(String ejbName)
Returns flag whether the mapping conversion should apply the default strategy for dealing with unknown primary key classes. This method will only be called whengenerateFields
returnstrue
.- Specified by:
applyDefaultUnknownPKClassStrategy
in interfaceConversionHelper
- Parameters:
ejbName
- The value of the ejb-name element for a bean.- Returns:
true
to apply the default unknown PK Class Strategy,false
otherwise
-
getGeneratedPKFieldName
public String getGeneratedPKFieldName()
Returns the name used for generated primary key fields.- Specified by:
getGeneratedPKFieldName
in interfaceConversionHelper
- Returns:
- a string for key field name
-
getGeneratedVersionFieldNamePrefix
public String getGeneratedVersionFieldNamePrefix()
Returns the prefix used for generated version fields.- Specified by:
getGeneratedVersionFieldNamePrefix
in interfaceConversionHelper
- Returns:
- a string for version field name prefix
-
relatedObjectsAreDeleted
public boolean relatedObjectsAreDeleted(String beanName, String fieldName)
- Specified by:
relatedObjectsAreDeleted
in interfaceConversionHelper
- Parameters:
beanName
- The ejb-name element for the beanfieldName
- The name of a container managed field in the named bean.- Returns:
- boolean flag indicating whether the objects in this collection field are to be deleted when this field' owning object is deleted.
-
generateFields
public boolean generateFields()
Returns the flag whether the mapping conversion should generate relationship fields and primary key fields to support run-time. The version field is always created evengenerateFields
isfalse
because it holds version column information.- Specified by:
generateFields
in interfaceConversionHelper
- Returns:
true
to generate fields in the dot-mapping file (if they are not present).
-
setGenerateFields
public void setGenerateFields(boolean generateFields)
Sets the flag whether the mapping conversion should generate relationship fields, primary key fields, and version fields to support run-time.- Specified by:
setGenerateFields
in interfaceConversionHelper
- Parameters:
generateFields
- a flag which indicates whether fields should be generated
-
ensureValidation
public boolean ensureValidation()
Returns the flag whether the mapping conversion should validate all fields against schema columns.- Specified by:
ensureValidation
in interfaceConversionHelper
- Returns:
true
to validate all the fields in the dot-mapping file.
-
setEnsureValidation
public void setEnsureValidation(boolean isValidating)
Sets the flag whether the mapping conversion should validate all fields against schema columns.- Specified by:
setEnsureValidation
in interfaceConversionHelper
- Parameters:
isValidating
- a boolean of indicating validating fields or not
-
isGeneratedField
public boolean isGeneratedField(String ejbName, String fieldName)
Returnstrue
if the field is generated. There are three types of generated fields: generated relationships, unknown primary key fields, and version consistency fields.- Specified by:
isGeneratedField
in interfaceConversionHelper
- Parameters:
ejbName
- The ejb-name element for the beanfieldName
- The name of a container managed field in the named bean- Returns:
true
if the field is generated;false
otherwise.
-
isGeneratedRelationship
public boolean isGeneratedRelationship(String ejbName, String fieldName)
Description copied from interface:ConversionHelper
Flag whether the conversion helper generated the relationship field- Specified by:
isGeneratedRelationship
in interfaceConversionHelper
- Parameters:
ejbName
- The ejb-name element for the beanfieldName
- The name of a container managed field in the named bean.- Returns:
true
if the field was created by the conversion helper.
-
getGeneratedRelationships
public List getGeneratedRelationships(String ejbName)
Returns a list of generated relationship field names.- Specified by:
getGeneratedRelationships
in interfaceConversionHelper
- Parameters:
ejbName
- The ejb-name element for the bean- Returns:
- a list of generated relationship field names
-
-