Class StandardWorkInProgressService
- All Implemented Interfaces:
Serializable,wt.fc._NetFactor,NetFactor,wt.services.Manager,WorkInProgressService,wt.vc.wip.WorkInProgressServiceSvr
As defined by the standard WIP service's access control rules, since a Workable object is asserted as being Lockable the service relies on the locking service for applicable access control. Additionally, when an object is checked out then neither the original checked out or working copies can be checked out again nor deleted.
Event-based processing is performed on business objects asserted as being Workable during database storing, [preparation for] modifications, and deletions. When a business object is being stored in the database, the WIP service listens to a dispatched event indicating that the store is about to commence and initializes the state of the object to being checked in if and only if its checkout info cookie is null. Since a Workable asserts itself as being Foldered the WIP service listens to a dispatched event indicating that a store on a cabinet has successfully completed and checks if the cabinet exists in the user domain (i.e., a personal cabinet), and if so stores a checkout folder in that cabinet. When a business object is [prepared for] being modified in the database, the WIP service listens to a dispatched event indicating that the modify is about to commence and vetoes it if:
- The business object is checked in and not owned by the current session's principal, or
- The business object is checked out to enforce a strong vaulting notion.
If the standard implementation is not desired then a custom implementation can extend from WorkInProgressService alongside the standard implementation, and be specified as a property to be used as the default WIP service.
Use the newStandardWorkInProgressService static factory
method(s), not the StandardWorkInProgressService constructor,
to construct instances of this class. Instances must be constructed
using the static factory(s), in order to ensure proper initialization
of the instance.
Supported API: true
Extendable: false
-
Method Summary
Methods inherited from class wt.services.StandardManager
getManagerService, getManagerStatus, getName, getStartupType, initialize, performShutdownProcess