
org.kuali.rice.krad.bo.PersistableBusinessObjectBaseAdapter Maven / Gradle / Ivy
/**
* Copyright 2005-2016 The Kuali Foundation
*
* Licensed under the Educational Community License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/ecl2.php
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kuali.rice.krad.bo;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Transient;
import org.kuali.rice.krad.service.KRADServiceLocator;
import org.kuali.rice.krad.service.LegacyDataAppAdapter;
/**
* Adapter class to provide some of the parent methods expected of persistable business objects
* This is a temporary class to use in place of PBOB (moved to the KNS module) to facilitate
* code-level compatibility with existing business objects and documents.
*
* @author Kuali Rice Team ([email protected])
*/
public class PersistableBusinessObjectBaseAdapter extends DataObjectBase {
private static final long serialVersionUID = 1L;
private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(PersistableBusinessObjectBaseAdapter.class);
@Transient protected boolean newCollectionRecord;
@Transient protected Object extension;
/**
* getService Refreshes the reference objects from the primitive values.
*
* @see org.kuali.rice.krad.bo.BusinessObject#refresh()
*/
public void refresh() {
// do nothing
}
public void refreshNonUpdateableReferences() {
getLegacyDataAdapter().refreshAllNonUpdatingReferences(this);
}
public void refreshReferenceObject(String referenceObjectName) {
getLegacyDataAdapter().refreshReferenceObject(this, referenceObjectName);
}
/**
* Returns the legacy data adapter for handling legacy KNS and KRAD data and metadata.
*
* @return the legacy data adapter
* @deprecated application code should never use this! Always use KRAD code directly.
*/
@Deprecated
protected LegacyDataAppAdapter getLegacyDataAdapter() {
return KRADServiceLocator.getLegacyDataAdapter();
}
public List buildListOfDeletionAwareLists() {
return new ArrayList();
}
public void linkEditableUserFields() {
// do nothing
}
public Object getExtension() {
if ( extension == null
&& getLegacyDataAdapter().isPersistable(this.getClass())) {
try {
extension = getLegacyDataAdapter().getExtension(this.getClass());
} catch ( Exception ex ) {
LOG.error( "unable to create extension object", ex );
}
}
return extension;
}
public void setExtension(Object extension) {
this.extension = extension;
}
public boolean isNewCollectionRecord() {
return newCollectionRecord;
}
public void setNewCollectionRecord(boolean isNewCollectionRecord) {
this.newCollectionRecord = isNewCollectionRecord;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy