Package org.kuali.rice.krad.service
Interface PersistenceStructureService
- All Known Implementing Classes:
PersistenceStructureServiceImpl,PersistenceStructureServiceOjbImpl
Deprecated.
Defines methods that a Persistence Service must provide. PersistenceMetadataService provides access to
persistence-layer information about persistable classes
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
-
Method Summary
Modifier and TypeMethodDescriptionclearPrimaryKeyFields(Object persistableObject) Deprecated.Class<? extends PersistableBusinessObjectExtension> getBusinessObjectAttributeClass(Class<? extends PersistableBusinessObject> clazz, String attributeName) Deprecated.This method is a PersistableBusinessObject specifific utility method.getForeignKeyFieldName(Class persistableObjectClass, String attributeName, String pkName) Deprecated.org.kuali.rice.krad.util.ForeignKeyFieldsPopulationStategetForeignKeyFieldsPopulationState(PersistableBusinessObject bo, String referenceName) Deprecated.This method checks the foreign keys for a reference on a given BO, and tests that all fk fields are populated if any are populated.getForeignKeysForReference(Class clazz, String attributeName) Deprecated.This method will return a Map of all the foreign key fields and the corresponding primary key fields for a given reference.getInverseForeignKeysForCollection(Class boClass, String collectionName) Deprecated.Returns a listing of the FK field mappings between a BO and the elements in a collection.getNestedForeignKeyMap(Class persistableObjectClass) Deprecated.Builds a map of reference pk attributes back to the foreign key.getPrimaryKeys(Class clazz) Deprecated.This method returns a List of Strings, each containing the field name of one of the primary keys, as defined in the ORM layer.getReferencesForForeignKey(Class persistableObjectClass, String attributeName) Deprecated.Attempts to match the attribute name given for the class as a fk field to a reference class defined in the repository.getRelationshipMetadata(Class persistableClass, String attributeName) Deprecated.getRelationshipMetadata(Class persistableClass, String attributeName, String attributePrefix) Deprecated.getTableName(Class<? extends PersistableBusinessObject> boClass) Deprecated.Returns the name of the table underlying the business object classbooleanhasCollection(Class boClass, String collectionName) Deprecated.Returns whether BOs of the given class have a collection defined within them with the given collection name.booleanhasPrimaryKeyFieldValues(Object persistableObject) Deprecated.booleanhasReference(Class boClass, String referenceName) Deprecated.Returns whether there is a reference defined in the persistence layer with the given name.booleanisCollectionUpdatable(Class boClass, String collectionName) Deprecated.booleanisPersistable(Class clazz) Deprecated.booleanisReferenceUpdatable(Class boClass, String referenceName) Deprecated.listCollectionObjectTypes(Class boClass) Deprecated.Deprecated.listFieldNames(Class clazz) Deprecated.listPersistableSubclasses(Class superclazz) Deprecated.listPrimaryKeyFieldNames(Class clazz) Deprecated.listReferenceObjectFields(Class boClass) Deprecated.This method uses the persistence layer to determine the list of reference objects contained within this parent object.Deprecated.This method uses the persistence layer to determine the list of reference objects contained within this parent object.
-
Method Details
-
isPersistable
Deprecated.- Parameters:
clazz-- Returns:
- true if the given Class is persistable (is known to OJB)
-
listPrimaryKeyFieldNames
Deprecated.- Parameters:
clazz- Class whose primary key field names you want to list- Returns:
- a List of field names for the given class which are designated as key fields in the OJB repository file
- Throws:
IllegalArgumentException- if the given Class is nullorg.kuali.rice.krad.exception.ClassNotPersistableException- if the given object is of a type not described in the OJB repository
-
listFieldNames
Deprecated.- Parameters:
clazz- Class whose field names you want to list- Returns:
- a List of field names for the given class in the OJB repository file
- Throws:
IllegalArgumentException- if the given Class is nullorg.kuali.rice.krad.exception.ClassNotPersistableException- if the given object is of a type not described in the OJB repository
-
getPrimaryKeys
Deprecated.This method returns a List of Strings, each containing the field name of one of the primary keys, as defined in the ORM layer.- Parameters:
clazz- - Class whose primary key field names are requested- Returns:
- A List of Strings, each containing the field name of the primary key
- Throws:
IllegalArgumentException- if the given Object is nullorg.kuali.rice.krad.exception.ClassNotPersistableException- if the given object is of a type not described in the OJB repository
-
hasPrimaryKeyFieldValues
Deprecated.- Parameters:
persistableObject-- Returns:
- true if all primary key fields of the string have a non-null (and non-empty, for Strings) value
- Throws:
IllegalArgumentException- if the given Object is nullorg.kuali.rice.krad.exception.ClassNotPersistableException- if the given object is of a type not described in the OJB repository
-
clearPrimaryKeyFields
Deprecated.- Parameters:
persistableObject- object whose primary key fields need to be cleared- Returns:
- the object whose primary key fields have just been cleared
- Throws:
IllegalArgumentException- if the given Object is nullorg.kuali.rice.krad.exception.ClassNotPersistableException- if the given object is of a type not described in the OJB repository
-
listPersistableSubclasses
Deprecated.- Parameters:
superclazz- class whose persistable subclasses (or interface whose implementors) will be returned- Returns:
- a List of persistable Classes which extend or implement the given Class
- Throws:
IllegalArgumentException- if the given class is null
-
getRelationshipMetadata
Map<String,org.kuali.rice.krad.bo.DataObjectRelationship> getRelationshipMetadata(Class persistableClass, String attributeName, String attributePrefix) Deprecated.- Parameters:
persistableClass-attributeName- Name of an attribute used in the relationship- Returns:
- BusinessObjectRelationship object containing information about the object type related via the named relationship of the given class, or null if the persistence service can find no object type related via the named relationship
- Throws:
IllegalArgumentException- if the given Class is nullIllegalArgumentException- if the given relationshipName is blanksorg.kuali.rice.krad.exception.ClassNotPersistableException- if the given Class is a type not described in the OJB repository
-
getRelationshipMetadata
Map<String,org.kuali.rice.krad.bo.DataObjectRelationship> getRelationshipMetadata(Class persistableClass, String attributeName) Deprecated. -
getForeignKeyFieldName
Deprecated. -
getReferencesForForeignKey
Deprecated.Attempts to match the attribute name given for the class as a fk field to a reference class defined in the repository. Since a fk field can have references to many tables, this returns a list of all found.- Parameters:
persistableObjectClass-attributeName-- Returns:
- Map with attribue name as key of map and class as value
-
getForeignKeysForReference
Deprecated.This method will return a Map of all the foreign key fields and the corresponding primary key fields for a given reference. The Map structure is: Key(String fkFieldName) => Value(String pkFieldName)- Parameters:
clazz- - Class that contains the named referenceattributeName- - Name of the member that is the reference you want foreign keys for- Returns:
- returns a Map populated as described above, with one entry per foreign key field
-
getBusinessObjectAttributeClass
Class<? extends PersistableBusinessObjectExtension> getBusinessObjectAttributeClass(Class<? extends PersistableBusinessObject> clazz, String attributeName) Deprecated.This method is a PersistableBusinessObject specifific utility method. If the Class clazz passed in is a descendent of PersistableBusinessObject, and if the attributeName specified exists on the object, then the class of this attribute named will be returned.- Parameters:
clazz- - class to be examined for the attribute's classattributeName- - name of the class' attribute to be examined- Returns:
- the class of the named attribute, if no exceptions occur
-
getNestedForeignKeyMap
Deprecated.Builds a map of reference pk attributes back to the foreign key.- Parameters:
persistableObjectClass-- Returns:
-
getForeignKeyFieldsPopulationState
org.kuali.rice.krad.util.ForeignKeyFieldsPopulationState getForeignKeyFieldsPopulationState(PersistableBusinessObject bo, String referenceName) Deprecated.This method checks the foreign keys for a reference on a given BO, and tests that all fk fields are populated if any are populated. In other words, for a given reference, it finds all the attributes of the BO that make up the foreign keys, and checks to see if they all have values. It also keeps a list of all the fieldNames that do not have values.- Parameters:
bo- - A populated BusinessObject descendent. Must contain an attributed named referenceName.referenceName- - The name of the field that is a reference we are analyzing.- Returns:
- A populated ForeignKeyFieldsPopulation object which represents the state of population for the foreign key fields.
-
listReferenceObjectFields
Deprecated.This method uses the persistence layer to determine the list of reference objects contained within this parent object. For example, an Account object contains sub-objects such as Chart, as well as the key that connects the two, String chartOfAccountsCode. The return structure is: Mapinvalid input: '<'referenceName, referenceClass>. As an example, an Account object passed into this would return: 0:['chartOfAccounts', org.kuali.module.chart.bo.Chart] 1:['organization', org.kuali.module.chart.bo.Org] etc.- Parameters:
boClass- Class that would like to be analyzed for reference names- Returns:
- Map containing the reference name for the key as a string, and the class of the reference as the value. If the object contains no references, then this Map will be empty.
-
listReferenceObjectFields
Deprecated.This method uses the persistence layer to determine the list of reference objects contained within this parent object. For example, an Account object contains sub-objects such as Chart, as well as the key that connects the two, String chartOfAccountsCode. The return structure is: Mapinvalid input: '<'referenceName, referenceClass>. As an example, an Account object passed into this would return: 0:['chartOfAccounts', org.kuali.module.chart.bo.Chart] 1:['organization', org.kuali.module.chart.bo.Org] etc.- Parameters:
bo- BusinessObject (or subclass) instance that would like to be analyzed for reference names- Returns:
- Map containing the reference name for the key as a string, and the class of the reference as the value. If the object contains no references, then this Map will be empty.
-
listCollectionObjectTypes
Deprecated. -
listCollectionObjectTypes
Deprecated. -
hasReference
Deprecated.Returns whether there is a reference defined in the persistence layer with the given name. Depending on the type of underlying persistence mechanism, this method may or may not return true when the referenceName really refers to a collection type. To determine whether a reference is a collection, use the hasCollection method instead. In OJB, this method will return false for collection references.- Parameters:
boClass-referenceName-- Returns:
-
hasCollection
Deprecated.Returns whether BOs of the given class have a collection defined within them with the given collection name.- Parameters:
boClass-collectionName-- Returns:
-
isReferenceUpdatable
Deprecated. -
isCollectionUpdatable
Deprecated. -
getInverseForeignKeysForCollection
Deprecated.Returns a listing of the FK field mappings between a BO and the elements in a collection. Since this is in effect a 1:n relationship, only the complete primary key set of the parent BO will be returned. for example, assume Account BO has an "acctNbrForAcct" PK, and it has a list of subAccounts, each of which has a ("acctNbrForSubAcct", "subAcctNbr") PK pair. the Account PK will be mapped to some of the PK fields of the element list. When called on the Account BO class with the "subAccounts" collection name, his method should return a map with a mapping of "acctNbrForAcct" (key) => "acctNbrForSubAcct"- Parameters:
boClass-collectionName-- Returns:
-
getTableName
Deprecated.Returns the name of the table underlying the business object class- Parameters:
boClass-- Returns:
-
DataObjectService