Package wt.sandbox

This package provides "sandbox" container functionality.  A "sandbox" container is a container wherein a multiple users can work on a set of related changes through multiple iterations without disturbing the broader organization (apart from placing locks on the objects the broader organziation sees).  The package provides the following core capabilities:

See:
          Description

Interface Summary
CheckinConflictFinder.CollectionClassifier  
SandboxService Remote interface for operations specific to sandbox containers.
 

Class Summary
CheckinConflictFinder Utilities for pre-flight conflict checking for sandbox check-ins.
InitialCheckinData Base class container for caller data supported by SandboxService upon initial object check in.
InitialCheckinDataApplicator Class responsible for applying InitialCheckinData to Versioned objects when called upon by SandboxService.
SandboxBaseline Baseline for a sandbox container indicating the current sandbox configuration of parts and CAD documents being used by the sandbox.
SandboxBaselineIxHandler Handler class for the element.
SandboxCheckinLink Link from terminal iteration of a sandbox version to the iteration formed by performing a sandbox check-in on it.
SandboxCheckoutLink Link from original copy iteration to sandbox working copy branch formed by sandbox checkout.
SandboxConfigSpec A ConfigSpec implementation with the essentially the following logic.
SandboxConflictType

Supported API: true

Extendable: false
SandboxHelper Helper class providing static final implementation of SandboxService.
SandboxRefreshUtility Utility class to handle refresh methods in StandardSandboxService

Supported API: false

Extendable: false
SandboxResolutionType

Supported API: true

Extendable: false
SandboxServiceCheckinEvent Encapusulates SandboxService event/occurence data which occur upon sanbox checkins.
SandboxServiceCheckoutEvent Encapusulates SandboxService event/occurence data which occur upon sandbox check-outs.
SandboxServiceFwd Remote interface for operations specific to sandbox containers.
SandboxServiceInitialCheckinEvent Encapusulates SandboxService event/occurence data state immediately prior to storing initial sandbox checkins.
SandboxServiceMultiEvent Abstract service event base class for service events in wt.sandbox which are purely multi-object in nature.
SandboxServiceUndoCheckoutEvent Encapusulates SandboxService event/occurence data which occur upon sandbox undo-check-out.
StandardSandboxService Standard implementation of SandboxService interface.
StandardSandboxService.MethodContextCleaner  
ToStringComparator Sort objects by their toString() results; provide consistent (albeit not always language correct) ordering of DisplayIdentities
Utilities  
Utilities.PerClassCollectionProcessor  
Utilities.PerClassCollectionProcessorMastersSeparate  
Utilities.PerClassProcessor  
 

Exception Summary
CheckinUniquenessException Exception containing detailed information regarding all uniqueness violations discovered during SandboxService.preCheckinValidate().
SandboxException Simple sub-class of WTException that exists to provide a common base class to all exceptions specific to the wt.sandbox package and to provide a specific exception type for miscellaneous wt.sandbox exceptions that do not fit any of the sub-classes of this class.
SandboxValidationException General exception to denote one or more error conditions discovered in the process of validating a sandbox operation.
 

Package wt.sandbox Description

This package provides "sandbox" container functionality.  A "sandbox" container is a container wherein a multiple users can work on a set of related changes through multiple iterations without disturbing the broader organization (apart from placing locks on the objects the broader organziation sees).  The package provides the following core capabilities:

as well as related and supporting capabilities.

Although the various APIs in this package which target business objects take Versioned, Workable, WTReference, or collections thereof as arguments, the only business objects currently supported for sandbox check in and out are WTParts, WTDocuments, EPMDocuments, and subclasses thereof.  The "getter" APIs (get* and is* methods) do, however, support the full breadth of the interfaces they take as arguments.  Originally, the package has been implemented in as general a fashion as possible (making no unnecessary assumptions that the business objects it processed implemented any additional interfaces besides those noted in the method signatures), but the package is now optimized to require all business objects implement Workable, OneOffVersioned, and WTContained.  Moreover some of the package specifically optimizes on the fact that the only supported business objects are WTParts, WTDocuments, EPMDocuments.

Similarly, various methods take WTContainerRef arguments where sandbox and other containers are involved, but only Project2 containers can be treated as sandbox containers -- and only non-Project2 (i.e. PDM) containers can be checked out from or checked in to.  Some portions of the package have therefore been optimized to take advantage of these facts as well.