com.filenet.api.core

Interface Document

    • Method Detail

      • get_StorageLocation

        java.lang.String get_StorageLocation()
        Deprecated. As of release 4.0.0.
        Returns the value of the StorageLocation property. For more information, see StorageLocation Property.
      • get_ContentSize

        java.lang.Double get_ContentSize()
        Returns the value of the ContentSize property. For more information, see ContentSize Property.
      • get_MimeType

        java.lang.String get_MimeType()
        Returns the value of the MimeType property. For more information, see MimeType Property.
      • set_MimeType

        void set_MimeType(java.lang.String value)
        Sets the value of the MimeType property. For more information, see MimeType Property.
      • get_DateContentLastAccessed

        java.util.Date get_DateContentLastAccessed()
        Returns the value of the DateContentLastAccessed property. For more information, see DateContentLastAccessed Property.
      • get_ContentRetentionDate

        java.util.Date get_ContentRetentionDate()
        Returns the value of the ContentRetentionDate property. For more information, see ContentRetentionDate Property.
      • get_CurrentState

        java.lang.String get_CurrentState()
        Returns the value of the CurrentState property. For more information, see CurrentState Property.
      • get_IsInExceptionState

        java.lang.Boolean get_IsInExceptionState()
        Returns the value of the IsInExceptionState property. For more information, see IsInExceptionState Property.
      • get_IndexationId

        Id get_IndexationId()
        Returns the value of the IndexationId property. For more information, see IndexationId Property.
      • get_CmIndexingFailureCode

        java.lang.Integer get_CmIndexingFailureCode()
        Returns the value of the CmIndexingFailureCode property. For more information, see CmIndexingFailureCode Property.
      • get_CmRetentionDate

        java.util.Date get_CmRetentionDate()
        Returns the value of the CmRetentionDate property. For more information, see CmRetentionDate Property.
      • set_CmRetentionDate

        void set_CmRetentionDate(java.util.Date value)
        Sets the value of the CmRetentionDate property. For more information, see CmRetentionDate Property.
      • set_SourceDocument

        void set_SourceDocument(Document value)
        Sets the value of the SourceDocument property. For more information, see SourceDocument Property.
      • set_OwnerDocument

        void set_OwnerDocument(Document value)
        Sets the value of the OwnerDocument property. For more information, see OwnerDocument Property.
      • get_PublicationInfo

        byte[] get_PublicationInfo()
        Returns the value of the PublicationInfo property. For more information, see PublicationInfo Property.
      • set_PublicationInfo

        void set_PublicationInfo(byte[] value)
        Sets the value of the PublicationInfo property. For more information, see PublicationInfo Property.
      • set_PublishingSubsidiaryFolder

        void set_PublishingSubsidiaryFolder(Folder value)
        Sets the value of the PublishingSubsidiaryFolder property. For more information, see PublishingSubsidiaryFolder Property.
      • isLocked

        java.lang.Boolean isLocked()
        Queries this object's lock state. This helper method examines the object's lock-related properties and determines the object's lock state. An alternative approach is to call the lock method and handle any exception thrown if the method fails.

        Note that this method returns an approximation of the locked state at the time of the call. Once this method executes and returns the value, the object's lock state could be immediately changed by another application's call to the lock method or the lock could expire.

        Before calling this method, make sure that the object's LockToken, LockTimeout, and DateLastModified properties have relatively fresh values. If any of those properties is missing, they are silently fetched from the server and added to the object's property cache.

        The isLocked method returns false if the LockTimeout property is not set or if the lock has expired. The lock is determined to be expired if the DateLastModified property value plus the number of seconds specified by the LockTimeout property is less than the current system time. (All millisecond components are dropped from the calculation.) If the DateLastModified property is not set, this method returns false because the check against the lock timeout value or the lock token will yield null, meaning that the object is not locked. As soon as some action locks the object, the DateLastModified property will be updated and can then used for the expiration calculation.

        Note To successfully run isLocked and other cooperative locking methods, system clocks on the IBM FileNet P8 platform engine machines must be synchronized. The calculation performed by the isLocked() method is done on the client system. If the client and server machine clocks are not synchronized, the result of this calculation might be incorrect.

        Returns:
        true if this object is locked; otherwise, returns false.
      • lock

        void lock(int timeout,
                java.lang.String owner)
        Sets a new lock or updates an existing lock on the object. Calling this method has no effect in preventing others from updating a locked object (with the exception that others cannot re-lock the locked object). This lock mechanism is used for custom purposes only and has no bearing on the actual ability to update an object.

        To successfully execute this method, the current user must have permission to modify this object's properties. For example, locking a Document object requires the following combination of access rights: AccessRight.CHANGE_STATE | AccessRight.CREATE_INSTANCE | AccessRight.LINK | AccessRight.UNLINK | AccessRight.VIEW_CONTENT | AccessRight.WRITE | AccessRight.READ_ACL | AccessLevel.READ.

        If the call succeeds:

        • The object's LockOwner property is populated with the user name specified in the owner parameter. (New lock only.)
        • The value specified by timeout is applied to the object's LockTimeout property.
        • A LockToken (GUID) is internally created by the server. (New lock only.)

        To update an existing lock, the objects needs to be in the locked state and the current user needs to match the user of the lock. Note that the user is the logged in user, not the owner string. If the call succeeds, then only the LockTimeout property is updated with the timeout value. The owner parameter in this case is ignored. (See the updateLock() method instead.)

        Parameters:
        timeout - An integer that represents the number of seconds after which the lock will expire. The range of values is 0 to 2147483647 (Integer.MAX_VALUE) seconds.
        owner - A String representing the user name to be assigned as the owner of the lock on this object. Defaults to the short principal name of the requesting user. The value is strictly advisory and is not validated against user or group names known to the Content Engine. The value can be used by client applications to identify the user who has locked the object.
        Throws:
        E_OBJECT_LOCKED - If the object is already locked and the current user does not match the user of the lock.
        E_OBJECT_NOT_LOCKED - If the user tries to update an existing lock but the object is not locked (absence of a LockToken).
      • getPublicationStatus

        PublicationStatus getPublicationStatus()
        Returns a PublicationStatus enumeration value, which identifies the document's publication status (dependent, independent, or not a publication).
        Returns:
        A PublicationStatus object.
      • applySecurityTemplate

        void applySecurityTemplate(Id applyStateId)
        Applies a security policy template to the given object. The specified value for the applyStateId parameter must match the value of the ApplyStateID property of one of the templates in the security policy for the object. For a versioning security template, the apply state ID can be one of the following:
        • VersionStatusId.IN_PROCESS
        • VersionStatusId.RELEASED
        • VersionStatusId.RESERVATION
        • VersionStatusId.SUPERSEDED
        For an application security template, the apply state ID is defined by your application.
        Parameters:
        applyStateId - An Id object representing the unique identifier of the security template to apply.
      • republish

        PublishRequest republish(Document publication,
                               java.lang.String publishOptions)
        Republishes the specified published document. The specified published document must have been published with a publish template that still exists and had this Document object as its source document. This method returns the PublishRequest object that is queued for this request. All publish requests are asynchronous, including copy operations, which do not transform the document. A publish request is always enqueued, and a copy of the PublishRequest object is always returned to the caller.

        The publishOptions parameter is a string containing XML that specifies the publish options for the republished document. See Publish Options XML for more information.

        Parameters:
        publication - The Document object to be republished.
        publishOptions - A string containing XML that specifies the publish options for the republished document. Can be null, in which case the values for the publication name, output folder, and event action are as specified in the associated publish template.
        Returns:
        The PublishRequest object that is queued for this request.
      • accessContentStream

        java.io.InputStream accessContentStream(int element)
        Obtains read access, via an input stream, to the content data of a ContentTransfer content element associated with this document or annotation. The content data is fetched from the server. The Content Engine will not automatically close the stream after access has finished; unless you want the stream to remain open, your application should close the stream after it has finished reading the content data.
        Parameters:
        element - An int specifying the index of the content element to which the content data belongs.
        Returns:
        An InputStream object for reading content data.
        Throws:
        API_INDEX_OUT_OF_BOUNDS - if the element parameter specifies an invalid index.
        API_NO_CONTENT_ELEMENTS - if no content elements exist on this document or annotation.
        API_NOT_A_CONTENT_TRANSFER - if the content element is not a ContentTransfer object.
        See Also:
        ContentAccessRecordingLevel property, DateContentLastAccessed property
      • changeState

        void changeState(LifecycleChangeFlags flags)
        Changes the current, user-defined lifecycle state of a Document object, or the current state of a CmTask object (see TaskState for a list of the states). The changeState method must be followed by a save() or an equivalent batch operation to commit the state change. Every state change generates a ChangeStateEvent , to which you can subscribe or audit.

        For documents, you cannot change the state of a document that is a reservation object. Valid lifecycle states are defined by the collection of DocumentState objects belonging to the document's associated DocumentLifecyclePolicy object.

        For documents, the LifecycleChangeFlags constant can be used as follows:

        • PROMOTE: Promotes the document's current lifecycle state to the next state in its document lifecycle policy and sets the document's CurrentState property to the name of the next state. Throws an error if the document is in the exception state or in the last state of its lifecycle.
        • DEMOTE: Demotes the document's current lifecycle state to the previous state in its document lifecycle policy and sets the document's CurrentState property to the name of the previous state, unless the CanBeDemoted property of the document�s current state (DocumentState object) is set to false. Throws an error if the document is in the exception state, in the first state of its lifecycle, or does not allow demotion.
        • SET_EXCEPTION: Places the document into the exception state and sets its IsInExceptionState property to true. Throws an error if the document's IsInExceptionState property is already set to true.
        • CLEAR_EXCEPTION: Removes the document from the exception state and sets its IsInExceptionState property to false. Throws an error if the document's IsInExceptionState property is already set to false.
        • RESET: Resets the lifecycle state to the initial state in its document lifecycle policy and sets the document's CurrentState property to the name of the initial state. Throws an error if the document is in the exception state.

        For tasks, the LifecycleChangeFlags constant can be used as follows:

        • PROMOTE: Promotes the task's current state to the next state.
        • DEMOTE: Demotes the task's current state to the previous state.
        • SET_EXCEPTION: Places the task into the exception state.
        • CLEAR_EXCEPTION: Removes the task from the exception state.
        • RESET: Not supported for tasks.
        For a detailed description of task states, see Task State Machine.

        Parameters:
        flags - A LifecycleChangeFlags constant that specifies the type of state transition to be applied to the document or task.
        Throws:
        E_BAD_PARAMETER - if you attempt to promote, demote, reset, or place into the exception state a document or task that is in the exception state, or attempt to clear the exception of a document or task that is not in the exception state.
        E_NOT_SUPPORTED - if you attempt to promote or demote a document or task from a state that does not allow promotion or demotion.
      • takeFederatedOwnership

        void takeFederatedOwnership()
        For a document that has been federated by Content Federation Services (CFS), grants exclusive control of this document to the FileNet P8 Content Engine by making the corresponding external document read-only. (Since the external document ceases to change, no changes exist for CFS to propagate from the external repository to the Content Engine, and the Content Engine becomes the sole means for modifying or deleting the document.) For non-federated documents or for documents for which this method has already been called, this method has no effect.
        Throws:
        E_NOT_SUPPORTED - if this document is a reservation object (VersionStatus property is set to RESERVATION).
      • publish

        PublishRequest publish(PublishTemplate publishTemplate,
                             java.lang.String publishOptions)
        Publishes this Document object according to the specifications included in the specified publish template as modified by the contents of the publishOptions parameter. This method returns the PublishRequest object that is queued for this request. All publish requests are asynchronous, including copy operations, which do not transform the document. A publish request is always enqueued, and a copy of the PublishRequest object is always returned to the caller.

        The publish template you specify, as well as any objects specified in the publish template itself, must reside on the same object store as this Document object. Note that publishing to a document class containing a required binary- or object-valued property is not supported as there is no way to set these property values during publishing.

        The publishOptions parameter is a string containing XML that specifies the publish options for the published document. See Publish Options XML for more information.

        After a successful call to publish, call the save method of the returned PublishRequest object to submit the request to the publish queue.

        Parameters:
        publishTemplate - The PublishTemplate object to use for this publish operation.
        publishOptions - A string containing XML that specifies the publish options for the published document. Can be null, in which case the values for the publication name, output folder, and event action are as specified in the associated publish template.
        Returns:
        The PublishRequest object that is queued for this request.
      • moveContent

        void moveContent(StorageArea storageArea)
        Moves the content data of an object to a new storage area. For VersionSeries, this method moves the content for all associated document versions.

        After a successful call to the moveContent method, the content data is deleted from the original location unless the content data is IBM FileNet Content Federation Services for Image Services federated content. To enable deletion of IBM FileNet Content Federation Services for Image Services federated content from its original location, set the com.filenet.replication.EnableLegacyMoveContentBehaviour parameter to true for your application server. For information about how to assign JVM parameter values for your application server, see Setting JVM parameters.

        You can force content to be encrypted, re-encrypted, or decrypted based on the current encryption configuration for the destination storage area. Likewise, you can force content to be compressed or decompressed based on the content compression configuration for the destination storage area. For more information, see Content encryption and Content compression.

        .
        Parameters:
        storageArea - A StorageArea object specifying the new storage area for this object's content data.
      • checkin

        void checkin(AutoClassify autoClassify,
                   CheckinType checkinType)
        Checks in this document reservation object by saving it as a new document version. You must have the appropriate access rights to check in a document (MAJOR_VERSION to check it in a major version or MINOR_VERSION to check it in a minor version). A major version is either the current released document version (if it is the latest major version) or a former released version that has been superseded. A minor version is either the in-process document version (if it is the latest minor version) or a former in-process version that has been superseded. In addition, if the reservation object is an exclusive reservation (its ReservationType property is set to EXCLUSIVE), you must be the user who checked out the document, or have the WRITE_OWNER access right. An error will occur if this method is called by a document that is not a reservation object.

        Before you can check in a document that has content, you must set the content for the document by adding to its ContentElements collection one or more ContentTransfer objects if the content is stored in a Content Engine object store, or one or more ContentReference objects if the content is stored externally. If you do not want the Content Engine to assign a MIME type to the checked-in document, you must explicitly set the value of the document's MimeType property before calling the checkin method. After a successful check-in, the reservation object becomes the new current version of the document (its IsCurrentVersion property is set to true). During a minor version check-in, the new minor document version is marked as in-process (its VersionStatus property is set to IN_PROCESS) and the previous in-process minor document version (if it exists) is marked as superseded (its VersionStatus property is set to SUPERSEDED). During a major version check-in, the new major document version is marked as released (its VersionStatus property is set to RELEASED) and the previous released major document version and in-process minor document version (if they exist) are marked as superseded.

        The checkinType parameter specifies whether to check in a document as a minor or a major version; set it to MINOR_VERSION to check in a minor version, or MAJOR_VERSION to check in a major version. The autoClassify parameter specifies whether the document should have automatic document classification enabled. (This feature is not supported for publish templates.) If set to AUTO_CLASSIFY, and if a classifier exists for the document's content type, the document will automatically be assigned the proper document class and its properties will be populated based on the document content (and, in the case of XML document classification, mapping rules from user-defined scripts). The Content Engine's classification service uses a document's MIME type to determine if there is a classifier capable of parsing the document. If you set the autoClassify parameter to AUTO_CLASSIFY, the check-in operation changes the value of the document's ClassificationStatus property to CLASSIFICATION_PENDING; if you set it to DO_NOT_AUTO_CLASSIFY, the property is set to NOT_CLASSIFIED.

        Parameters:
        autoClassify - An AutoClassify constant specifying whether to auto-classify a document during check-in.
        checkinType - A CheckinType constant specifying whether to check in a document as a new minor version or as a new major version.
        Throws:
        E_NOT_SUPPORTED - if this method is called by a document that is not a reservation object.
      • updateLock

        void updateLock(long timeout)
        Adjusts the timeout period of the lock on this object.

        This method updates the object's DateLastModified property to the current time and its LockTimeout property to the timeout value. The net effect of this may extend or shorten the original lock's expiration time. Only the user who locked the object can successfully call this method; for any other user, an exception is thrown. There is no limit to the number of times you can call this method.

        Parameters:
        timeout - The changed timeout value, in seconds, for this object's lock. The range of values is 0 to 2147483647 (Integer.MAX_VALUE) seconds.
      • unlock

        void unlock()
        Explicitly removes the lock from this object. Only the user who locked the object may remove the lock. If the current user is not the user of the lock, the current user can still remove the lock provided tht user has AccessRight.WRITE_ACL permission on the object. An exception is thrown if the above conditions are not met. Upon successful execution of this method, the values for the object's LockOwner, LockToken, and LockTimeout properties are removed (set to null). If you do not call unlock to explicitly remove the lock, the lock is implicitly removed when the lock's timeout value expires.
        Throws:
        E_OBJECT_NOT_LOCKED - If the object is not locked.
      • get_SecurityParent

        ReferentialContainmentRelationship get_SecurityParent()
        Deprecated. 
        Returns the value of the SecurityParent property. If this object does not have a security parent (that is, its SecurityParent property has no value), this method returns null. For more information, see SecurityParent Property.

© Copyright IBM Corporation 2006, 2013. All rights reserved.