The IPublishStyleTemplate type exposes the following members.

ToggleMethods

Type NameDescription
Public methodAddPendingAction
Adds the specified pending action to this object's PendingActions collection.
Note Note: You probably won't directly manipulate an object's pending actions in this manner. You will more likely call wrapper methods such as Delete and Checkin, which add a pending action to the collection.)
(Inherited from IIndependentlyPersistableObject.)
Public methodApplySecurityTemplate
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.
(Inherited from ICustomObject.)
Public methodChangeClass
Changes the class of a Content Engine object. The new class must already exist and both it and the original class must be subclasses of the same base class. The ChangeClass method does not modify the security for an object, even if the object's current security is derived from the default security for its source class. For the object's user-defined properties, the following rules apply:
  • Any user-defined properties that exist in the new class but not in the original class are set to the default value defined by the new class (or to null if there is no default defined).
  • Any user-defined properties that exist in both the original and the new class that are writable and have the same value (including null) as the default value defined in the original class will be set to the default value defined by the new class. However, any user-defined property that has had its value modified from the default value will retain that modified value in the new class.
  • Any user-defined properties whose definitions exist in the original class but not in the new class will no longer exist on the object when its class is changed.
  • Property constraints for the new class (for example, required values, choice lists, ranges) are not enforced.

When the class of a document object is changed, the default document lifecycle policy of the new class will only be applied to the document object's DocumentLifecyclePolicy property if both of the following scenarios occur:

  • The document has no current lifecycle policy.
  • The document is either a reservation object, or is the current version object and is not reserved.

Changing the document class of a document object has no effect on the storage location of the document’s content. For more information, see the Document Storage topic in the "Document Concepts" section of the Content Engine Java and .NET API Developer’s Guide.

(Inherited from ICustomObject.)
Public methodClearPendingActions
Clears out the list of pending actions for this object. For example, if you called Delete() without subsequently calling Save, then called ClearPendingActions(), the Delete pending action would no longer be in the object's pending actions list. This effectively cancels changes not yet saved.
(Inherited from IIndependentlyPersistableObject.)
Public methodClone
Creates a new object that is a copy of the current instance.
(Inherited from ICloneable.)
Public methodDelete
Adds a Delete pending action to this object's PendingActions collection. You must subsequently commit the change to the repository. (See PendingAction for more information about pending actions.)

For IVersionSeries, all document versions are deleted.

For ICmRecoveryItem, this method deletes the item contained within the ICmRecoveryBin object. It also deletes all recoverable objects represented by the ICmRecoveryItem object.

(Inherited from IIndependentlyPersistableObject.)
Public methodFetchPropertiesOverloaded.
Public methodFetchPropertyOverloaded.
Public methodGetAccessAllowed
Returns a value representing a bit mask of access rights granted to the user requesting this object.
(Inherited from IIndependentlyPersistableObject.)
Public methodGetClassName
Returns the name of the class from which this object is instantiated.
(Inherited from IEngineObject.)
Public methodGetConnection
Returns a Connection object that represents a logical connection to the FileNet P8 domain. The returned Connection object is used as input to methods such as factory instantiation methods.
(Inherited from IEngineObject.)
Public methodGetObjectReference
Returns an object reference that represents the object's identity.

The ID of an independent object is the class name and ID of the object. The ID can be a path, GUID, or name of the object.

(Inherited from IIndependentObject.)
Public methodGetObjectStore
Returns a reference to the object store to which this object is persisted.
(Inherited from IRepositoryObject.)
Public methodGetPendingActions
Returns the pending actions for this object.
(Inherited from IIndependentlyPersistableObject.)
Public methodGetSuperClasses
Returns a String array specifying the names of the superclasses of the class from which this object is instantiated.
(Inherited from IEngineObject.)
Public methodGetUpdateSequenceNumber
Returns the update sequence number (USN) for this object.

You can use the returned value to determine if the object has been modified since some earlier fetch of the same object.

An IndependentlyPersistableObject has an update sequence number (USN), which is an Integer value on the object that protects it against concurrent updates. The USN value increases monotonically with each update to the object. When you update the object, the USN from the retrieved object is checked against the currently persisted USN value. If the values are different, the operation fails.

As a special case, a USN value of Null causes the server-side check to be skipped during updates (this is sometimes called "unprotected update"). An IndependentlyPersistableObject instantiated by calling one of the GetInstance methods on a Factory class (such as Factory.CustomObject.GetInstance) does not fetch the object from the server, and therefore, is unaware of the persisted USN. Calling GetUpdateSequence on such an object returns Null.

(Inherited from IIndependentlyPersistableObject.)
Public methodIsCurrent
Returns a value indicating whether or not the state of this object is consistent with its state in the repository.

When one or more of the object's properties are "dirty" (have been marked as changed since the last time they were saved), IsCurrent returns False. You can then do one of the following:

  • Save changes to the persistent store. (You can either call the Save method or add the object to an UpdatingBatch then call UpdateBatch, which effectively calls Save on each IndependentlyPersistableObject in the batch.)
  • Call the object's Refresh method to cancel the changes and restore the object's state to that of the persistent store.
  • Remove dirty properties by calling RemoveFromCache.
(Inherited from IIndependentlyPersistableObject.)
Public methodIsLocked
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 LockObject 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 LockObject 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 reflect that the object is not locked. As soon as some action locks the object, the DateLastModified property will be updated and can then be 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.

(Inherited from ICustomObject.)
Public methodLockObject
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 timeoutis 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.)

(Inherited from ICustomObject.)
Public methodMarkForDeletion
Marks the object for deletion and associates it with the specified recovery bin. An object marked for deletion is soft deleted; that is, the object is recoverable. See Recovery Bin Concepts.
(Inherited from ICustomObject.)
Public methodRaiseEvent
Raises a custom event for this ISubscribable object. For example, you can define a custom event class in the Content Engine for an operation such as publishing a document, then specify the custom event in a call to the raiseEvent method on a IDocument object after you call the publish method on that document.

Before you can use this method, the following conditions must be met:

  • An appropriate CustomEvent object must exist.
  • A subscription subscribes to the ISubscribable object; that is, the subscription's SubscriptionTarget property has been set to this ISubscribable object.
  • A subscription subscribes to the custom event to be raised; that is, the subscription's SubscribedEvents property has been set to a ISubscribedEventList collection that includes the custom event.
(Inherited from ISubscribable.)
Public methodRefreshOverloaded.
Public methodSaveOverloaded.
Public methodSetUpdateSequenceNumber
Sets the update sequence number (USN) for this object. You can cause update sequence checking to be skipped for this object by setting the USN value to Null.
(Inherited from IIndependentlyPersistableObject.)
Public methodUnlock
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 that 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. If the object is not locked (absence of a LockToken).
(Inherited from ICustomObject.)
Public methodUpdateLock
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.

(Inherited from ICustomObject.)

ToggleSee Also