A RecordFolder object represents a container or collection of related records. It is used to manage records according to the specified retention and disposition periods and events. You can create multiple record folders in a record category. However, you can create a record folder only within a record category that does not contain a record category. You can subclass the RecordFolder class as Physical Record Folder, Electronic Record Folder, Hybrid Record Folder , and Physical Container to manage electronic and physical records. These subclasses are described below:
To create a RecordFolder object, you call the addRecordFolder method on an RMRecordFolderContainer object. By default, the addRecordFolder method creates an electronic record folder.
//Creates a RecordFolder object public void createDefaultRecordFolder(String asName, Properties aoProps, Permissions aoACLs, RecordCategory aoParentRC) { RecordFolder loRF = aoParentRC.addRecordFolder(asName, aoProps, aoACLs); }
//Creates a specific type of RecordFolder object public void createSpecificRecordFolder(String asName, String asClassId, Properties aoProps, Permissions aoACLs, RecordCategory aoParentRC) { RecordFolder loRF = aoParentRC.addRecordFolder(asName, asClassId, aoProps, aoACLs); }
// Get the class ID of physical record folder public String getRMTypeClassId(RMObjectStore aoRMOS) { String lsClassId = new RMUtil().getClassIDs( aoRMOS, new int[]{RMType.RM_TYPE_PHYSICALRECORDFOLDER}, false)[0]; return lsClassId; }
You can retrieve RecordFolder objects in the following ways:
//Retrieves a RecordFolder object public RecordFolder getRecordFolder( RMObjectStore aoRMOS, String asRFGUID) { RecordFolder loRF = (RecordFolder)aoRMOS.getObject(RMType.RM_TYPE_RECORDFOLDER, asRFGUID); return loRF; }
//Retrieves a RecordFolder object public RecordFolder getRecordFolder1(RMObjectStore aoRMOS, String asRCGUID) { Folder loFolder = (Folder)aoRMOS.getObject( BaseObject.TYPE_FOLDER, asRCGUID); RecordFolder loRF = aoRMOS.getRecordFolderInterface(loFolder); return loRF; }
//Retrieves RecordFolder objects public RecordFolders getRecordFolders(RecordCategory aoRC) { RecordFolders loRFs = (RecordFolders)aoRC.getContainees( new int[]{RMType.RM_TYPE_RECORDFOLDER}); return loRFs; }
//Retrieves RecordFolder objects public RecordFolders getRecordFolders(RMObjectStore aoRMOS, RecordInfo aoRecord) { RecordFolders loRFs = aoRecord.getParentRecordFolders(); return loRFs; }
//Retrieves RecordFolder objects public RecordFolder getRecordFolder(Volume aoVol) { RecordFolder loRF = (RecordFolder)aoVol.getParentFolder(); // where aoVol is an object of Volume, which is directly contained in a RecordFolder object return loRF; }
//Retrieves RecordFolder objects public RMObjects getContainers1(RMObjectStore aoRMOS, RecordInfo aoRecord) { Folders loObjs = aoRecord.getContainers(); RMObjects loRFs = aoRMOS.getRMObjects(); Iterator loIterator = loObjs.iterator(); while (loIterator.hasNext()) { Folder loFolder = (Folder)loIterator.next(); if (loFolder instanceof RecordFolder) { loRFs.add(loFolder); } } return loRFs; }