A ClassificationScheme object represents the highest-level container object in a file plan. It enables a hierarchical grouping of RM folders into record categories, record folders, and volumes within a file plan. This hierarchical folder structure represents the business functions of an organization, and allows you to aggregate records under different folders within a classification scheme based on business functions. In addition, a classification scheme provides a logical partitioning of objects within a file plan. You can perform various operations--such as relocate, inactivate, or delete--on objects that you create within a classification scheme.
You can create multiple ClassificationScheme objects in the Records Management folder, which represents the root folder for file plan entities. To create a ClassificationScheme object, call the createClassificationScheme method on an RMObjectStore object. You must specify a unique name for the ClassificationScheme object along with its properties and permissions. In addition, the name of the object cannot contain special characters such as \ / : * ? " < > |.
// Creates a ClassificationScheme object public void createClassificationScheme(String asName, Properties aoProps, Permissions aoACLs, RMObjectStore aoRMOS) { ClassificationScheme loCS = aoRMOS.createClassificationScheme(asName, aoProps, aoACLs); }
The topics in this section describe how to apply a naming pattern to objects created under a classification scheme and how to retrieve ClassificationScheme objects within a file plan.
// Creates a Pattern object public void createPattern(Properties aoProps, Permissions aoACLs, RMObjectStore aoRMOS) { RMCustomObject loPattern = aoRMOS.createPattern(aoProps, aoACLs); }
//Associates a Pattern object with a PatternLevel object public void createPatternLevel(Properties aoProps, Permissions aoACLs, String asPatternGUID, RMObjectStore aoRMOS) { RMCustomObject loPatternLevel = aoRMOS.createPatternLevel(aoProps, aoACLs, asPatternGUID); }
To associate the Pattern object with a ClassificationScheme object, call the setPatternValue method on a ClassificationScheme object. You specify an existing Pattern object in the aoPattern parameter. Alternatively, you can call the setProperties method and pass in a Properties collection containing the pattern property to the ClassificationScheme object.
You can retrieve ClassificationScheme objects present in an object store in the following ways:
//Retrieves ClassificationScheme objects public void getClassificationSchemes(RMObjectStore aoRMOS) { ClassificationSchemes loCSs = aoRMOS.getClassificationSchemes(); Iterator loIterator = loCSs.iterator(); while (loIterator.hasNext()) { ClassificationScheme loCS = (ClassificationScheme)loIterator.next(); } }
//Retrieves a ClassificationScheme object public ClassificationScheme getClassificationScheme(RMObjectStore aoRMOS, String asCSGUID) { ClassificationScheme loCS = (ClassificationScheme)aoRMOS.getObject( RMType.RM_TYPE_CLASSIFICATIONSCHEME, asCSGUID); return loCS; }
//Retrieves a ClassificationScheme object public ClassificationScheme getClassificationScheme(RecordCategory aoRC) { ClassificationScheme loCS = (ClassificationScheme)aoRC.getParentFolder(); // where aoRC is an object of RecordCategory, which is directly contained in // a ClassificationScheme object return loCS; }
//Retrieves a ClassificationScheme object public ClassificationScheme getClassificationScheme(RMObjectStore aoRMOS, String asCSGUID) { Folder loFolder = (Folder)aoRMOS.getObject( BaseObject.TYPE_FOLDER, asCSGUID); ClassificationScheme loCS = aoRMOS.getClassificationSchemeInterface(loFolder); return loCS; }