Package wt.ownership

The ownership service is responsible for associating a principal with an object.

See:
          Description

Interface Summary
Ownable An Ownable object may be associated to a single WTPrincipal object that becomes the object's Owner.
OwnershipService The OwnershipService provides access to the server functionality of handling object ownership.
OwnershipServiceSvr

Supported API: false

Extendable: false
 

Class Summary
Ownership This cookie maintains the persistent state of an Ownable object.
OwnershipHelper The OwnershipHelper provides access to the API of the Windchill Ownership capability.
OwnershipServerHelper

Supported API: false

Extendable: false
OwnershipServiceEvent The event emitted when Ownership operations occur on an Ownable object.
OwnershipServiceFwd The OwnershipService provides access to the server functionality of handling object ownership.
StandardOwnershipService Server implementation of the OwnershipService capability.
 

Exception Summary
OwnershipException The OwnershipException is thrown during certain processing errors during Ownership operations.
 

Package wt.ownership Description

The ownership service is responsible for associating a principal with an object.

 

Design Overview

The ownership service resides in the package wt.ownership. The association is that of ownership. When an object is owned, it can be located by using the identity of the owner. In addition, the owner may be given special access rights to the object by the access policy rules of the system. Note that an object can carry the capability of being owned by a principal but may not in fact have an owner. For example, all objects that reside in shared cabinets (see Foldering service) are ownable, but do not have an owner.

 

 

External Interface

The Ownable interface provides an abstraction of the ownership capability. The intent is that in an object model, an object will assert that it implements the Ownable interface, therefore allowing it to be owned.

The OwnershipHelper provides access to the API for operation on Ownable objects. The Ownable interface can be extended to create your own business object classes, but the Ownership package does not provide any supported API's to directly manage those objects.

The OwnershipService defines the server-side functionality available to Ownable objects. These operations offer complete transactions that implement the business rules for Ownable objects.

The OwnershipServiceEvent provides the mechanism to inform other plug and play components of the system of operations that impact Ownable objects. This allows other services or managers to perform validation, vetoing, or other pre/post processing related to ownership activities.

 

Business Rules

Ownership is typically asserted on a business object prior to being stored in the database. For example, in the Windchill implementation, this is done for foldered objects as part of putting the objects into folders; the owner for the folder becomes the owner for the object. Ownership may change as an object moves from one folder to another.

 

Event Processing

Event-based processing is performed on Ownable objects as ownership changes take place. An event is emitted just before the ownership change takes place, inside the transaction that makes the change, and another event is emitted just after the change has been made to the database. These events are PRE_CHANGEOWNER and POST_CHANGEOWNER.