
The following example shows how to check the change recording state of a PCM object:
//Get the IAdminBase representation of an object
IAdminBase objAdminBase = getAdminBase(objectPath);
//Get the IChangeRecordingInfo implementation for the object
IChangeRecordingInfo crInfo = (IChangeRecordingInfo) objAdminBase.getImplementation(IAdminBase.CHANGE_RECORDING_INFO);
//Get all change recording information for the object
//Check if changes to the object are recorded
boolean isRecorded = crInfo.isRecorded();
if (isRecorded){
//If the object is recorded, get the ID of the changelist containing it
String changeListId = crInfo.getChangeListId();
//If the changelist ID is not null, the object is checked out
if (changeListId != null){
//In this case, the object has an owner (the owner of the containing changelist)
String ownerId = crInfo.getOwnerId();
//Check whether the object was created, deleted or modified
ChangeRecordingState changeRecordingState = crInfo.getChangeRecordingState();
switch (changeRecordingState) {
case ADDED:
//Object was created
break;
case DELETED:
//Object was deleted
break;
case MODIFIED:
//Object was modified
break;
case NOT_CHANGED:
//This should not happen, because the object is checked out in a changelist
throw new IllegalStateException();
}
}
}