To control the retention and disposal of entities, you define and associate a disposition schedule with entities. In a disposition schedule, you specify the retention rules for entities and the disposal action to be performed at the end of the retention period.
You can specify review, transfer to an archive for permanent preservation, export to another location, or destruction as a disposal action.
To create a DispositionSchedule object, first create a Properties collection of the required properties. See Properties for more detailed information on how to retrieve the property descriptions of required properties, or how to examine which properties are required for an object using IBM® Administration Console for Content Platform Engine.
When you create the Properties collection of the property descriptions obtained earlier in this topic, you must specify a disposal trigger that triggers a date or an event to start the disposal process for an entity. This disposal trigger can be a calendar date or an event. To accomplish this, you pass a value for either a calendar date or an Event object into the properties collection.
// Creates a Properties collection for the DispositionSchedule object with the
// calendar date property for aoAction refer to RMCustomObject documentation on how
// to create an action object
public Properties getPropsforDSWithCalendardate (Date aoCalanderDate,
RMCustomObject aoAction)
{
Properties loProperties = ObjectFactory.getProperties();
Property loPropDSName = ObjectFactory.getProperty(RMProperty.DISPOSAL_SCHEDULE_NAME);
loPropDSName.setValue("DisposalScheduleCalendarDate");
loProperties.add(loPropDSName); Property loPropCalendarDate =
ObjectFactory.getProperty(RMProperty.CALENDAR_DATE);
oPropCalendarDate.setValue(aoCalanderDate); loProperties.add(loPropCalendarDate);
Property loPropCutOffDays =
ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_DAYS);
loPropCutOffDays.setValue(1); loProperties.add(loPropCutOffDays);
Property loPropCutOffMonths =
ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_MONTHS);
loPropCutOffMonths.setValue(1); loProperties.add(loPropCutOffMonths);
Property loPropCutOffYears =
ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_YEARS);
loPropCutOffYears.setValue(1); loProperties.add(loPropCutOffYears);
//Specifying an action is mandatory, if workflow
//is to be launched for cutoff
Property loPropCutOffAction = ObjectFactory.getProperty(RMProperty.CUTOFF_ACTION);
loPropCutOffAction.setValue(aoAction.thisBaseObject());
loProperties.add(loPropCutOffAction);
return loProperties;
}
//Creates a Properties collection for a DispositionSchedule object passing an
//Event object
public Properties getPropsForDSWithEvent(RMCustomObject aoEvent, RMCustomObject aoAction)
{
Properties loProperties = ObjectFactory.getProperties();
Property loPropDSName = ObjectFactory.getProperty(RMProperty.DISPOSAL_SCHEDULE_NAME);
loPropDSName.setValue("DisposalScheduleCalendarDate");
loProperties.add(loPropDSName);
Property loPropDisposalTrigger =
ObjectFactory.getProperty(RMProperty.CUTOFF_DISPOSAL_TRIGGER);
loPropDisposalTrigger.setValue(aoEvent.thisBaseObject());
loProperties.add(loPropDisposalTrigger);
Property loPropCutOffDays = ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_DAYS);
loPropCutOffDays.setValue(1);
loProperties.add(loPropCutOffDays);
Property loPropCutOffMonths =
ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_MONTHS);
loPropCutOffMonths.setValue(1);
loProperties.add(loPropCutOffMonths);
Property loPropCutOffYears =
ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_YEARS);
loPropCutOffYears.setValue(1);
loProperties.add(loPropCutOffYears);
//Specifies an action
Property loPropCutOffAction = ObjectFactory.getProperty(RMProperty.CUTOFF_ACTION);
loPropCutOffAction.setValue(aoAction.thisBaseObject());
loProperties.add(loPropCutOffAction);
return loProperties;
}
//Creates a disposition schedule
Public DispositionSchedule createDipositionSchedule (RMObjectStore aoRMobjectStore,
Properties aoProperties, Permissions aoAcls)
{
DispositionSchedule loDispositionSchedule = (DispositionSchedule) aoRMObjectStore.
createDispositionSchedule (aoPropertries, aoAcls);
}
//Creates a Properties collection
public void getPropertiesForPhase(RMCustomObject aoPhaseAction)
{
Properties loProperties = ObjectFactory.getProperties();
Property loPhaseName = ObjectFactory.getProperty(RMProperty.PHASE_NAME);
loPhaseName.setValue("Test-Phase"); loProperties.add(loPhaseName);
Property loPhaseAction = ObjectFactory.getProperty(RMProperty.PHASE_ACTION);
loPhaseAction.setValue(aoPhaseAction.thisBaseObject());
loProperties.add(loPhaseAction);
Property loIsScrReq = ObjectFactory.getProperty(RMProperty.IS_SCREENINGREQUIRED);
loIsScrReq.setValue(false);
loProperties.add(loIsScrReq);
}
See Properties for more detailed information on how to retrieve the property descriptions of required properties, or how to examine which properties are required for an object using Enterprise Manager.
//Creates a Phase object
Public RMCustomObject createPhase (DispositionSchedule aoDS, Properties aoProperties,
Permissions aoAcls)
{
// Creates a Phase object for the given disposition schedule
RMCustomObject loPhase = aoDS.createPhase (aoPropertries, aoAcls);
}