com.ibm.jarm.api.core

Interface RecordContainer

    • Method Detail

      • getRecords

        PageableSet<Record> getRecords(java.lang.Integer pageSize)
        Returns a pageable collection of Record instances that are directly contained by this RecordContainer.

        Note that when this method is called on a RecordFolder that requires the use of child volumes, the result is an empty collection.

        Parameters:
        pageSize - An optional page size value. If null, then the repository default value is used.
        Returns:
        A pageable collection of Record instances.
        Throws:
        E_UNEXPECTED_EXCEPTION - - For any unexpected error.
      • fileRecord

        void fileRecord(Record record)
        Files the specified Record into this RecordContainer.
        Parameters:
        record - The Record to file. This entry cannot be null.
        Throws:
        E_NULL_OR_EMPTY_INPUT_PARAM - For an invalid input parameter.
        API_CANNOT_FILE_INTO_CLOSED_CONTAINER - If this container is currently closed.
        API_CANNOT_CONTAIN_CHILDTYPE - If this container is not currently allowed to contain a RecordFolder.
        API_CANNOT_FILE_INTO_INACTIVE_CONTAINER - If this container is currently inactive.
        RAL_NO_ACTIVE_VOLUME_AVAILABLE - If no active record volume is available and one is required.
        API_CANNOT_FILE_SPECIFIC_RECORD_TYPE - If this container is not allowed to contain the record.
        API_CANNOT_FILE_RECORD_IT_ALREADY_EXISTS_IN_CONTAINER - If the record is already filed in this container.
        API_CANNOT_FILE_RECORD_INTO_EXTERNAL_FILEPLAN - For any attempt to file a record outside of its existing file plan.
        API_CANNOT_FILE_PHYSRECORD_INTO_MULTIPLE_PHYS_CONTAINERS - For any attempt to file a physical record into a second physical folder.
        E_UNEXPECTED_EXCEPTION - For any unexpected error.
      • fileRecord

        void fileRecord(java.lang.String recordIdent)
        Files the specified Record into this RecordContainer.
        Parameters:
        recordIdent - The Id String or full path String of the Record to file.
        Throws:
        E_NULL_OR_EMPTY_INPUT_PARAM - For an invalid input parameter.
        API_CANNOT_FILE_INTO_CLOSED_CONTAINER - If this container is currently closed.
        API_CANNOT_CONTAIN_CHILDTYPE - If this container is not currently allowed to contain a RecordFolder.
        API_CANNOT_FILE_INTO_INACTIVE_CONTAINER - If this container is currently inactive.
        RAL_NO_ACTIVE_VOLUME_AVAILABLE - If no active record volume is available and one is required.
        API_CANNOT_FILE_SPECIFIC_RECORD_TYPE - If this container is not allowed to contain the record.
        API_CANNOT_FILE_RECORD_IT_ALREADY_EXISTS_IN_CONTAINER - If the record is already filed in this container.
        API_CANNOT_FILE_RECORD_INTO_EXTERNAL_FILEPLAN - For any attempt to file a record outside of its existing file plan.
        API_CANNOT_FILE_PHYSRECORD_INTO_MULTIPLE_PHYS_CONTAINERS - For any attempt to file a physical record into a second physical folder.
        E_UNEXPECTED_EXCEPTION - For any unexpected error.
      • unfileRecord

        void unfileRecord(Record record)
        Unfiles the specified Record from this RecordContainer.

        If this container represents the record's current security folder, then one of the record's remaining containers will be automatically assigned as the record's new security folder.

        Parameters:
        record - The Record to unfile.
        Throws:
        E_NULL_OR_EMPTY_INPUT_PARAM - For an invalid input parameter.
        API_CANNOT_UNFILE_RECORD_FROM_NONCONTAINING_CONTAINER - If specified record is not currently filed in this container.
        API_CANNOT_UNFILE_SINGLE_FILED_RECORD - If specified record is currently only filed in a single container.
        E_UNEXPECTED_EXCEPTION - For any unexpected error.
      • unfileRecord

        void unfileRecord(java.lang.String recordIdent)
        Unfiles the specified Record from this RecordContainer.

        If this container currently represents the record's current security folder, then one of the record's remaining containers is automatically assigned as the record's new security folder.

        Parameters:
        recordIdent - The Id String or full path String of the Record to file.
        Throws:
        E_NULL_OR_EMPTY_INPUT_PARAM - For an invalid input parameter.
        API_CANNOT_UNFILE_RECORD_FROM_NONCONTAINING_CONTAINER - If specified record is not currently filed in this container.
        API_CANNOT_UNFILE_SINGLE_FILED_RECORD - If specified record is currently only filed in a single container.
        E_UNEXPECTED_EXCEPTION - For any unexpected error.
      • isPhysicalRecordContainer

        boolean isPhysicalRecordContainer()
        Indicates whether or not this RecordContainer is considered a "physical" record container.
        Returns:
        true if this RecordContainer represents a physical record container.
      • declare

        Record declare(java.lang.String classIdent,
                     RMProperties props,
                     java.util.List<RMPermission> perms,
                     java.util.List<RecordContainer> additionalContainers)
        Creates a new Record based upon the specified record class and files it into this RecordContainer. The resulting Record is NOT associated with any content. This declaration method is primarily intended for physical record declaration.

        If the supplied RMProperties collection includes an entry for a RMPropertyName.Id property value, then that property value will be used as the id for the new record; otherwise a new id will be automatically generated.

        Parameters:
        classIdent - the String ID or symbolic name of the class to base the new record upon.
        props - the RMProperties collection to assign to the new instance.
        perms - an optional RMPermission collection to assign to the new instance.
        additionalContainers - an optional collection of additional RecordContainer instances into which the new record should also be filed. This parameter can be an empty collection or can be null.
        Returns:
        A new Record instance.
        Throws:
        E_NULL_OR_EMPTY_INPUT_PARAM - For an invalid input parameter.
        API_DECL_ERROR_CONTAINERS_DIFF_REPOSITORIES - If not all specified RecordContainers reside on the same FilePlanRepository.
        API_CANNOT_CONTAIN_CHILDTYPE - If a specified RecordContainer cannot contain this type of record.
        RAL_NO_ACTIVE_VOLUME_AVAILABLE - If a specified RecordFolder container has no available active child volume.
        API_DECL_ERROR_CONTAINER_IS_DELETED - If a specified RecordContainer has been "logically" deleted.
        API_DECL_ERROR_CONTAINER_IS_CLOSED - If a specified RecordContainer is currently closed.
        API_DECL_ERROR_CONTAINER_IS_INACTIVE - If a specified RecordContainer is currently inactive.
        API_DECL_ERROR_MULITPLE_PHYS_CONTAINERS - If a new physical record would result in being filed into more than one physical container.
        API_DOD_CLASS_DECL_ERROR_* - For various DoD Classified record declaration errors.
        API_DECL_ERROR_RECEIPTOF_TARGET_INELIGIBLE - For any "Receipt Of" property assignment error.
        API_DECL_ERROR_SUPERSEDE_* - For various "Supersede" property assignment errors.
        E_UNEXPECTED_EXCEPTION - For any unexpected error.
      • declare

        Record declare(java.lang.String classIdent,
                     RMProperties props,
                     java.util.List<RMPermission> perms,
                     java.util.List<RecordContainer> additionalContainers,
                     java.util.List<ContentItem> associatedContent)
        Creates a new Record based upon the specified record class and files it into this RecordContainer. Associates the Record with each member of the specified ContentItem collection, if any are given.

        If the supplied RMProperties collection includes an entry for a RMPropertyName.Id property value, then that property value will be used as the id for the new record; otherwise a new id will be automatically generated.

        Parameters:
        classIdent - the String ID or symbolic name of the class to base the new record on.
        props - the RMProperties collection to assign to the new instance.
        perms - an optional RMPermission collection to assign to the new instance.
        additionalContainers - an optional collection of additional RecordContainer instances into which the new record should also be filed. This parameter can be an empty or can be null.
        associatedContent - An optional collection of ContentItem instances to which the new record should be associated with. This parameter can be empty or null.
        Returns:
        A new Record instance.
        Throws:
        E_NULL_OR_EMPTY_INPUT_PARAM - For an invalid input parameter.
        API_DECL_ERROR_CONTAINERS_DIFF_REPOSITORIES - If not all specified RecordContainers reside on the same FilePlanRepository.
        API_CANNOT_CONTAIN_CHILDTYPE - If a specified RecordContainer cannot contain this type of record.
        RAL_NO_ACTIVE_VOLUME_AVAILABLE - If a specified RecordFolder container has no available active child volume.
        API_DECL_ERROR_CONTAINER_IS_DELETED - If a specified RecordContainer has been "logically" deleted.
        API_DECL_ERROR_CONTAINER_IS_CLOSED - If a specified RecordContainer is currently closed.
        API_DECL_ERROR_CONTAINER_IS_INACTIVE - If a specified RecordContainer is currently inactive.
        API_DECL_ERROR_MULITPLE_PHYS_CONTAINERS - If a new physical record would result in being filed into more than one physical container.
        API_DOD_CLASS_DECL_ERROR_* - For various DoD Classified record declaration errors.
        API_DECL_ERROR_RECEIPTOF_TARGET_INELIGIBLE - For any "Receipt Of" property assignment error.
        API_DECL_ERROR_SUPERSEDE_* - For various "Supersede" property assignment errors.
        API_DECL_ERROR_MULTIPLE_CONTENT_REPOSITORIES - If not all specified ContentItems are from the same ContentRepository.
        API_DECL_ERROR_INELIGIBLE_CONTENT_ITEM - If a specified ContentItem is ineligible for record declaration.
        E_UNEXPECTED_EXCEPTION - For any unexpected error.
      • declare

        Record declare(java.lang.String classIdent,
                     RMProperties props,
                     java.util.List<RMPermission> perms,
                     java.util.List<RecordContainer> additionalContainers,
                     ContentRepository contentRepository,
                     java.util.List<java.lang.String> contentIdents)
        Creates a new Record based upon the specified record class and files it into this RecordContainer. Associates the Record with the specified content items if any are given.

        If the supplied RMProperties collection includes an entry for a RMPropertyName.Id property value, then that property value will be used as the id for the new record; otherwise a new id will be automatically generated.

        Parameters:
        classIdent - the String ID or symbolic name of the class to base the new record on.
        props - the RMProperties collection to assign to the new instance.
        perms - an optional RMPermission collection to assign to the new instance.
        additionalContainers - an optional collection of additional RecordContainer instances into which the new record should also be filed. This parameter can be an empty or null.
        contentRepository - the common ContentRepository on which the specified content items reside.
        contentIdents - a collection of identifying Strings representing the ContentItems that are to be associated with the new record. This parameter can be empty or null.
        Returns:
        A new Record instance.
        Throws:
        E_NULL_OR_EMPTY_INPUT_PARAM - For an invalid input parameter.
        API_DECL_ERROR_CONTAINERS_DIFF_REPOSITORIES - If not all specified RecordContainers reside on the same FilePlanRepository.
        API_CANNOT_CONTAIN_CHILDTYPE - If a specified RecordContainer cannot contain this type of record.
        RAL_NO_ACTIVE_VOLUME_AVAILABLE - If a specified RecordFolder container has no available active child volume.
        API_DECL_ERROR_CONTAINER_IS_DELETED - If a specified RecordContainer was previously "logically" deleted.
        API_DECL_ERROR_CONTAINER_IS_CLOSED - If a specified RecordContainer is currently closed.
        API_DECL_ERROR_CONTAINER_IS_INACTIVE - If a specified RecordContainer is currently inactive.
        API_DECL_ERROR_MULITPLE_PHYS_CONTAINERS - If a new physical record would result in being filed into more than one physical container.
        API_DOD_CLASS_DECL_ERROR_* - For various DoD Classified record declaration errors.
        API_DECL_ERROR_RECEIPTOF_TARGET_INELIGIBLE - For any "Receipt Of" property assignment error.
        API_DECL_ERROR_SUPERSEDE_* - For any "Supersede" property assignment errors.
        API_DECL_ERROR_INELIGIBLE_CONTENT_ITEM - If a specified ContentItem is ineligible for record declaration.
        E_UNEXPECTED_EXCEPTION - For any unexpected error.
      • isInactive

        boolean isInactive()
        Indicates if this RecordContainer has been set to Inactive.

        If this RecordContainer is a RecordVolume, then this method returns whether or not its parent RecordFolder is Inactive.

        Returns:
        true if this RecordContainer has been set to Inactive.
      • setActive

        void setActive()
        Sets this RecordContainer as Active.
        Throws:
        API_CONTAINER_ALREADY_ACTIVE - If this RecordContainer is already Active.
        API_PARENT_CONTAINER_IS_INACTIVE - If any ancestral parent container of this RecordContainer is currently Inactive.
      • setInactive

        void setInactive(java.lang.String reasonForInactive)
        Sets this RecordContainer as Inactive.

        When a container is Inactive, you cannot create sub-containers or file records into that container.

        When a container is set to Inactive, all sub-containers to the bottom of the hierarchy are also set to Inactive.

        Parameters:
        reasonForInactive - a String that specifies the reason that the container is being set to Inactive. This entry cannot be null nor blank.
        Throws:
        API_REASON_FOR_INACTIVE_IS_REQUIRED - If no valid reasonForInactive parameter is provided.
        API_CONTAINER_ALREADY_INACTIVE - If this RecordContainer is already Inactive.
      • isOpen

        boolean isOpen()
        Indicates whether or not this RecordContainer is currently in the open state. If the RecordContainer has been closed and then reopened, this method also returns true.
        Returns:
        true if this RecordContainer is currently open, false if it is currently closed.
      • isReopened

        boolean isReopened()
        Indicates whether or not this RecordContainer has been reopened from the closed state.
        Returns:
        true if it has been reopened, false otherwise.
      • isClosed

        boolean isClosed()
        Indicates whether or not this RecordContainer is currently in the closed state.
        Returns:
        true if this RecordContainer is closed, false otherwise.
      • isAnyParentClosed

        boolean isAnyParentClosed()
        Indicates whether any parent of this RecordContainer up to the file plan level is currently in the closed state. A closed RecordContainer cannot be reopened unless all of its ancestral parent containers are already in the open state. This call provides an easy way to check that all ancestral parents are open.
        Returns:
        true if any ancestral parent container is closed, false otherwise.
      • reopen

        void reopen()
        Reopens a RecordContainer that is currently closed.
        Throws:
        API_CANNOT_REOPEN_CONTAINER_NOT_CLOSED - For an attempt to reopen a RecordContainer that was never closed.
        API_CANNOT_REOPEN_CONTAINER_ALREADY_REOPENED - For an attempt to reopen a RecordContainer that has already been reopened.
        API_CANNOT_REOPEN_CONTAINER_PARENT_CONTANER_IS_CLOSED - If any ancestral parent container is currently closed.
      • close

        void close(java.lang.String reasonForClose)
        Closes this RecordContainer.
        Parameters:
        reasonForClose - A Stringg that specifies why the container is being closed. This entry cannot be null nor blank.
        Throws:
        API_REASON_FOR_CLOSE_IS_REQUIRED - If no valid reasonForClose parameter is provided.
        API_CANNOT_CLOSE_CONTAINER_ALREADY_CLOSED - If this RecordContainer is already closed.
      • requiresChildVolume

        boolean requiresChildVolume()
        Indicates whether or not this RecordContainer requires the use of a child RecordVolume instance to contain Record instances.
        Returns:
        true if this RecordContainer requires the use of a child RecordVolume instance for the actual containment of records. false if this container can directly contain records.
      • getFilePlan

        FilePlan getFilePlan()
        Returns the top level FilePlan instance under which this RecordContainer resides.
        Returns:
        A FilePlan instance.
      • exportUsingP8_XML

        void exportUsingP8_XML(java.lang.String exportFileSystemPath,
                             java.lang.String xsltDefStr,
                             ContentXMLExport contentExportOption)
        Exports the metadata and any content of this entity and of its hierarchical children as external XML file(s) based upon the legacy P8 Content Engine-3.x export XML schema.
        Parameters:
        exportFileSystemPath - a required path String that defines a local file system directory where all generated export files are written.
        xsltDefStr - an optional XSLT definition String that is used to transform any generated XML prior to it being written to the file system.
        contentExportOption - an optional ContentXMLExport value that defines how any document content of the entity (or any of its applicable hierarchical children) is to be exported. If this parameter is null then the export process will default to ContentXMLExport.EmbeddedInDocumentXML.

© Copyright IBM Corp. 2010, 2013. All Rights Reserved.