1 /** 2 * Copyright 2005-2013 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.rice.krad.service; 17 18 import org.kuali.rice.krad.bo.PersistableBusinessObject; 19 import org.kuali.rice.krad.util.LegacyDataFramework; 20 21 import java.util.List; 22 import java.util.Map; 23 24 /** 25 * @author Kuali Rice Team (rice.collab@kuali.org) 26 * @deprecated use new KRAD Data framework {@link org.kuali.rice.krad.data.DataObjectService} 27 */ 28 @Deprecated 29 @LegacyDataFramework 30 public interface PersistenceService { 31 32 @Deprecated 33 void loadRepositoryDescriptor(String ojbRepositoryFilePath); 34 35 @Deprecated 36 void clearCache(); 37 38 @Deprecated 39 Object resolveProxy(Object o); 40 41 /** 42 * @param persistableObject object whose primary key field name,value pairs you want 43 * @return a Map containing the names and values of fields specified the given class which are designated as key fields in the 44 * OJB repository file 45 * @throws IllegalArgumentException if the given Object is null 46 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 47 */ 48 @Deprecated 49 Map getPrimaryKeyFieldValues(Object persistableObject); 50 51 /** 52 * @param persistableObject object whose primary key field name,value pairs you want 53 * @param sortFieldNames if true, the returned Map will iterate through its entries sorted by fieldName 54 * @return a Map containing the names and values of fields specified the given class which are designated as key fields in the 55 * OJB repository file 56 * @throws IllegalArgumentException if the given Object is null 57 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 58 */ 59 @Deprecated 60 Map getPrimaryKeyFieldValues(Object persistableObject, boolean sortFieldNames); 61 62 /** 63 * @param persistableObject object whose objects need to be filled in based on primary keys 64 * @return the object whose key fields have just been retrieved 65 * @throws IllegalArgumentException if the given Object is null 66 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 67 */ 68 @Deprecated 69 void retrieveNonKeyFields(Object persistableObject); 70 71 /** 72 * @param persistableObject object whose specified reference object needs to be filled in based on primary keys 73 * @param referenceObjectName the name of the reference object that will be filled in based on primary key values 74 * @throws IllegalArgumentException if the given Object is null 75 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 76 */ 77 @Deprecated 78 void retrieveReferenceObject(Object persistableObject, String referenceObjectName); 79 80 81 /** 82 * @param persistableObject object whose specified reference objects need to be filled in based on primary keys 83 * @param referenceObjectNames the names of the reference objects that will be filled in based on primary key values 84 * @throws IllegalArgumentException if either of the given lists is null or empty, or if any of the referenceObjectNames is 85 * blank 86 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 87 */ 88 @Deprecated 89 void retrieveReferenceObjects(Object persistableObject, List referenceObjectNames); 90 91 /** 92 * @param persistableObjects objects whose specified reference objects need to be filled in based on primary keys 93 * @param referenceObjectNames the names of the reference objects that will be filled in based on primary key values 94 * @throws IllegalArgumentException if either of the given lists is null or empty, or if any of the referenceObjectNames is 95 * blank 96 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 97 */ 98 @Deprecated 99 void retrieveReferenceObjects(List persistableObjects, List referenceObjectNames); 100 101 102 /** 103 * @param persistableObject object whose objects need to have keys filled 104 * @return the object whose key fields have just been filled 105 * @throws IllegalArgumentException if the given Object is null 106 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 107 */ 108 @Deprecated 109 void linkObjects(Object persistableObject); 110 111 /** 112 * @param persistableObject object whose primary key field name,value pairs you want 113 * @param bounded - whether to restrict the number of rows returned 114 * @return a String representation of the primary key fields and values for the given persistableObject 115 * @throws IllegalArgumentException if the given Object is null 116 * @throws org.kuali.rice.krad.exception.ClassNotPersistableException if the given object is of a type not described in the OJB repository 117 */ 118 @Deprecated 119 String getFlattenedPrimaryKeyFieldValues(Object persistableObject); 120 121 /** 122 * 123 * This method examines whether all the foreign key fields for the specified reference contain values. 124 * 125 * @param bo 126 * @param referenceName 127 * @return true if they all are accessible and have values, false otherwise 128 * 129 */ 130 @Deprecated 131 boolean allForeignKeyValuesPopulatedForReference(PersistableBusinessObject bo, String referenceName); 132 133 /** 134 * 135 * This method refreshes all reference objects to this main object that are 'non-updateable'. In general, this means that if a 136 * reference object is configured to not be updated when the parent document is saved, then they are non-updated. 137 * 138 * This will not refresh updateable objects, which can cause problems when you're creating new objects. 139 * 140 * See PersistenceServiceImpl.isUpdateableReference() for the full logic. 141 * 142 * @param bo - the businessObject to be refreshed 143 * 144 */ 145 @Deprecated 146 void refreshAllNonUpdatingReferences(PersistableBusinessObject bo); 147 148 149 /** 150 * Determines if the given object is proxied by the ORM or not 151 * 152 * @param object the object to determine if it is a proxy 153 * @return true if the object is an ORM proxy; false otherwise 154 */ 155 @Deprecated 156 boolean isProxied(Object object); 157 158 /** 159 * Determines if JPA is enabled for the KNS and for the given class 160 * 161 * @param clazz the class to check for JPA enabling of 162 * @return true if JPA is enabled for the class, false otherwise 163 */ 164 @Deprecated 165 boolean isJpaEnabledForKradClass(Class clazz); 166 167 }