Interface PersistenceStructureService

All Known Implementing Classes:
PersistenceStructureServiceImpl, PersistenceStructureServiceOjbImpl

@Deprecated public interface PersistenceStructureService
Deprecated.
use new KRAD Data framework DataObjectService
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 Details

    • isPersistable

      boolean isPersistable(Class clazz)
      Deprecated.
      Parameters:
      clazz -
      Returns:
      true if the given Class is persistable (is known to OJB)
    • listPrimaryKeyFieldNames

      List listPrimaryKeyFieldNames(Class clazz)
      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 null
      ClassNotPersistableException - if the given object is of a type not described in the OJB repository
    • listFieldNames

      List listFieldNames(Class clazz)
      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 null
      ClassNotPersistableException - if the given object is of a type not described in the OJB repository
    • getPrimaryKeys

      List 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.
      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 null
      ClassNotPersistableException - if the given object is of a type not described in the OJB repository
    • hasPrimaryKeyFieldValues

      boolean hasPrimaryKeyFieldValues(Object persistableObject)
      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 null
      ClassNotPersistableException - if the given object is of a type not described in the OJB repository
    • clearPrimaryKeyFields

      Object clearPrimaryKeyFields(Object persistableObject)
      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 null
      ClassNotPersistableException - if the given object is of a type not described in the OJB repository
    • listPersistableSubclasses

      List listPersistableSubclasses(Class superclazz)
      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,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 null
      IllegalArgumentException - if the given relationshipName is blanks
      ClassNotPersistableException - if the given Class is a type not described in the OJB repository
    • getRelationshipMetadata

      Map<String,DataObjectRelationship> getRelationshipMetadata(Class persistableClass, String attributeName)
      Deprecated.
    • getForeignKeyFieldName

      String getForeignKeyFieldName(Class persistableObjectClass, String attributeName, String pkName)
      Deprecated.
    • getReferencesForForeignKey

      Map<String,Class> 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. 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

      Map 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. The Map structure is: Key(String fkFieldName) => Value(String pkFieldName)
      Parameters:
      clazz - - Class that contains the named reference
      attributeName - - 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 class
      attributeName - - name of the class' attribute to be examined
      Returns:
      the class of the named attribute, if no exceptions occur
    • getNestedForeignKeyMap

      Map getNestedForeignKeyMap(Class persistableObjectClass)
      Deprecated.
      Builds a map of reference pk attributes back to the foreign key.
      Parameters:
      persistableObjectClass -
      Returns:
    • getForeignKeyFieldsPopulationState

      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

      Map<String,Class> listReferenceObjectFields(Class boClass)
      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

      Map<String,Class> listReferenceObjectFields(PersistableBusinessObject bo)
      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

      Map<String,Class> listCollectionObjectTypes(Class boClass)
      Deprecated.
    • listCollectionObjectTypes

      Map<String,Class> listCollectionObjectTypes(PersistableBusinessObject bo)
      Deprecated.
    • hasReference

      boolean hasReference(Class boClass, String referenceName)
      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

      boolean hasCollection(Class boClass, String collectionName)
      Deprecated.
      Returns whether BOs of the given class have a collection defined within them with the given collection name.
      Parameters:
      boClass -
      collectionName -
      Returns:
    • isReferenceUpdatable

      boolean isReferenceUpdatable(Class boClass, String referenceName)
      Deprecated.
    • isCollectionUpdatable

      boolean isCollectionUpdatable(Class boClass, String collectionName)
      Deprecated.
    • getInverseForeignKeysForCollection

      Map<String,String> getInverseForeignKeysForCollection(Class boClass, String collectionName)
      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

      String getTableName(Class<? extends PersistableBusinessObject> boClass)
      Deprecated.
      Returns the name of the table underlying the business object class
      Parameters:
      boClass -
      Returns: