wt.folder
Class Cabinet

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.fc.Item
          extended bywt.folder.Cabinet
All Implemented Interfaces:
AccessControlled, AccessControlList, AdHocControlled, BusinessInformation, CabinetBased, DisplayIdentification, DomainAdministered, Externalizable, Folder, FolderServiceManaged, Identified, NetFactor, Notifiable, ObjectMappable, Ownable, Persistable, RecentlyVisited, Serializable, WTContained, WTContainedIdentified

public final class Cabinet
extends Item
implements Identified, Notifiable, AdHocControlled, Folder, BusinessInformation, Ownable, Externalizable

A Cabinet is a major organizing characteristic for information residing inf folders. A cabinet acts like a top-level folder, providing containment for the information that is "inside" of it. From an administrative perspective, a Cabinet is what associates the Cabinets contents with Windchill administrative policies (access control, indexing and notification). The association to the policies is done by the AdministrativeDomain that Cabinet resides in. There are two types of Cabinets, personal cabinet and shared cabinets. A Personal Cabinet is associated with a particular User (WTUser) and is part of the AdministrativeDomain User. The Cabinet is owned by the user. A shared cabinet is associated with the AdministrativeDomain of the same name and has no owner. Cabinets are uniquelly identified by their name. The methods in this class are not intended for general client usage because they implement lower level functionality compared to methods on the FolderService.

Use the newCabinet static factory method(s), not the Cabinet 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

See Also:
AdministrativeDomain, Ownable, CabinetIdentity, Serialized Form

Field Summary
private static String CLASSNAME
           
static String CONTAINER
          Label for the attribute.
private  WTContainerRef containerReference
           
static String CREATOR_REFERENCE
          Label for the attribute; A reference to the WTPrincipal (eg user) that created this folder.
private  WTPrincipalReference creatorReference
           
private  String description
           
static String DESCRIPTION
          Label for the attribute; Describes the purpose of the cabinet.
private static int DESCRIPTION_UPPER_LIMIT
           
private  AclEntrySet entrySet
           
private  WTStringSet eventSet
           
static long EXTERNALIZATION_VERSION_UID
           
private  String name
           
static String NAME
          Label for the attribute; Unique name for the Cabinet.
private static int NAME_UPPER_LIMIT
           
protected static long OLD_FORMAT_VERSION_UID
           
private  Ownership ownership
           
static String PERSONAL_CABINET
          Label for the attribute; A boolean set to true if the cabinet is a personal cabinet and set to false if the cabinet is a shared cabinet.
private  boolean personalCabinet
           
static long R51_EXTERNALIZATION_VERSION_UID
           
static long R60_EXTERNALIZATION_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Fields inherited from class wt.fc.Item
VERSION_40_UID, VERSION_51_UID
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.notify.Notifiable
EVENT_SET
 
Fields inherited from interface wt.access.AdHocControlled
ENTRY_SET
 
Fields inherited from interface wt.folder.CabinetBased
CABINET_REFERENCE, FOLDER_PATH, LOCATION
 
Fields inherited from interface wt.inf.container.WTContainedIdentified
CONTAINER_REFERENCE
 
Fields inherited from interface wt.inf.container.WTContained
CONTAINER_ID, CONTAINER_NAME
 
Fields inherited from interface wt.fc.BusinessInformation
BUSINESS_TYPE, IDENTITY
 
Fields inherited from interface wt.ownership.Ownable
OWNERSHIP
 
Fields inherited from interface wt.admin.DomainAdministered
DOMAIN_REF, INHERITED_DOMAIN
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
Cabinet()
           
 
Method Summary
private  void containerReferenceValidate(WTContainerRef a_ContainerReference)
           
private  void descriptionValidate(String a_Description)
           
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 String getBusinessType()
          Deprecated. Replaced by IdentityFactory.getDispayType(object) to return a localizable equivalent of getBusinessType(). Another alternative is ((WTObject)obj).getDisplayType().
 CabinetReference getCabinetReference()
          Gets the value of the attribute: CABINET_REFERENCE.
 String getConceptualClassname()
          Deprecated.  
 WTContainer getContainer()
          Gets the object for the association that plays role: CONTAINER.
 String getContainerName()
          Gets the value of the attribute: CONTAINER_NAME.
 WTContainerRef getContainerReference()
          Gets the value of the attribute: CONTAINER_REFERENCE.
 WTPrincipalReference getCreatorReference()
          Gets the object for the association that plays role: CREATOR_REFERENCE.
 String getDescription()
          Gets the value of the attribute: DESCRIPTION.
 AclEntrySet getEntrySet()
          Gets the value of the attribute: ENTRY_SET.
 WTStringSet getEventSet()
          Gets the value of the attribute: EVENT_SET.
 String getFolderPath()
          Gets the value of the attribute: FOLDER_PATH.
 IdentificationObject getIdentificationObject()
          Returns the CabinetIdentity object which provides uniqueness management for Cabinets.
 String getIdentity()
          Deprecated. Replaced by IdentityFactory.getDispayIdentifier(object) to return a localizable equivalent of getIdentity(). To return a localizable value which includes the object type, use IdentityFactory.getDisplayIdentity(object). Other alternatives are ((WTObject)obj).getDisplayIdentifier() and ((WTObject)obj).getDisplayIdentity()
 String getLocation()
          Gets the value of the attribute: LOCATION.
 String getName()
          Gets the value of the attribute: NAME.
 Ownership getOwnership()
          Gets the object for the association that plays role: OWNERSHIP.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
protected  void initialize()
          Support initialization, following construction of an instance.
protected  void initialize(String name, String description)
          Supports initialization, following construction of an instance.
protected  void initialize(String name, String description, boolean personal)
          Supports initialization, following construction of an instance.
 boolean isPersonalCabinet()
          Gets the value of the attribute: PERSONAL_CABINET.
private  void nameValidate(String a_Name)
           
static Cabinet newCabinet()
          Default no-arg factory for a Cabinet.
static Cabinet newCabinet(String name, String description)
          Factory method to create a Cabinet.
static Cabinet newCabinet(String name, String description, boolean personal)
          

Supported API: false
private  void personalCabinetValidate(boolean a_PersonalCabinet)
           
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
 void readExternal(PersistentRetrieveIfc input)
          Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(Cabinet thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setContainer(WTContainer a_Container)
          Sets the object for the association that plays role: CONTAINER.
 void setContainerReference(WTContainerRef a_ContainerReference)
          Sets the value of the attribute: CONTAINER_REFERENCE.
 void setCreatorReference(WTPrincipalReference a_CreatorReference)
          Sets the object for the association that plays role: CREATOR_REFERENCE.
 void setDescription(String a_Description)
          Sets the value of the attribute: DESCRIPTION.
 void setEntrySet(AclEntrySet a_EntrySet)
          Sets the value of the attribute: ENTRY_SET.
 void setEventSet(WTStringSet a_EventSet)
          Sets the value of the attribute: EVENT_SET.
 void setName(String a_Name)
          Sets the value of the attribute: NAME.
 void setOwnership(Ownership a_Ownership)
          Sets the object for the association that plays role: OWNERSHIP.
 void setPersonalCabinet(boolean a_PersonalCabinet)
          Sets the value of the attribute: PERSONAL_CABINET.
 String toString()
          Return the ObjectIdentifier plus the name of the FolderedObject.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 void writeExternal(PersistentStoreIfc output)
          Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.
 
Methods inherited from class wt.fc.Item
getDomainRef, isInheritedDomain, readVersion, setDomainRef, setInheritedDomain
 
Methods inherited from class wt.fc.WTObject
checkAttributes, duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getModifyTimestamp, getPersistInfo, getType, readVersion, setPersistInfo
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.fc.Persistable
checkAttributes, getPersistInfo, getType, setPersistInfo
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

NAME

public static final String NAME
Label for the attribute; Unique name for the Cabinet. The name may not contain FolderService.FOLDER_SEPARATOR character.

Supported API: false

See Also:
Constant Field Values

NAME_UPPER_LIMIT

private static int NAME_UPPER_LIMIT

name

private String name

DESCRIPTION

public static final String DESCRIPTION
Label for the attribute; Describes the purpose of the cabinet.

Supported API: false

See Also:
Constant Field Values

DESCRIPTION_UPPER_LIMIT

private static int DESCRIPTION_UPPER_LIMIT

description

private String description

PERSONAL_CABINET

public static final String PERSONAL_CABINET
Label for the attribute; A boolean set to true if the cabinet is a personal cabinet and set to false if the cabinet is a shared cabinet.

Supported API: false

See Also:
Constant Field Values

personalCabinet

private boolean personalCabinet

CREATOR_REFERENCE

public static final String CREATOR_REFERENCE
Label for the attribute; A reference to the WTPrincipal (eg user) that created this folder.

Supported API: false

See Also:
Constant Field Values

creatorReference

private WTPrincipalReference creatorReference

eventSet

private WTStringSet eventSet

entrySet

private AclEntrySet entrySet

CONTAINER

public static final String CONTAINER
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

containerReference

private WTContainerRef containerReference

ownership

private Ownership ownership

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

R51_EXTERNALIZATION_VERSION_UID

public static final long R51_EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

R60_EXTERNALIZATION_VERSION_UID

public static final long R60_EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values
Constructor Detail

Cabinet

public Cabinet()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class Item
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class Item
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(Cabinet thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(PersistentStoreIfc output)
                   throws SQLException,
                          DatastoreException
Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
writeExternal in interface ObjectMappable
Overrides:
writeExternal in class Item
Parameters:
output -
Throws:
SQLException
DatastoreException

readExternal

public void readExternal(PersistentRetrieveIfc input)
                  throws SQLException,
                         DatastoreException
Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
readExternal in interface ObjectMappable
Overrides:
readExternal in class Item
Parameters:
input -
Throws:
SQLException
DatastoreException

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Returns:
String

getName

public String getName()
Gets the value of the attribute: NAME. Unique name for the Cabinet. The name may not contain FolderService.FOLDER_SEPARATOR character.

Supported API: false

Specified by:
getName in interface CabinetBased
Returns:
String

setName

public void setName(String a_Name)
             throws WTPropertyVetoException
Sets the value of the attribute: NAME. Unique name for the Cabinet. The name may not contain FolderService.FOLDER_SEPARATOR character.

Supported API: false

Parameters:
a_Name -
Throws:
WTPropertyVetoException

nameValidate

private void nameValidate(String a_Name)
                   throws WTPropertyVetoException
Parameters:
a_Name -
Throws:
WTPropertyVetoException

getDescription

public String getDescription()
Gets the value of the attribute: DESCRIPTION. Describes the purpose of the cabinet.

Supported API: false

Returns:
String

setDescription

public void setDescription(String a_Description)
                    throws WTPropertyVetoException
Sets the value of the attribute: DESCRIPTION. Describes the purpose of the cabinet.

Supported API: false

Parameters:
a_Description -
Throws:
WTPropertyVetoException

descriptionValidate

private void descriptionValidate(String a_Description)
                          throws WTPropertyVetoException
Parameters:
a_Description -
Throws:
WTPropertyVetoException

isPersonalCabinet

public boolean isPersonalCabinet()
Gets the value of the attribute: PERSONAL_CABINET. A boolean set to true if the cabinet is a personal cabinet and set to false if the cabinet is a shared cabinet.

Supported API: false

Returns:
boolean

setPersonalCabinet

public void setPersonalCabinet(boolean a_PersonalCabinet)
                        throws WTPropertyVetoException
Sets the value of the attribute: PERSONAL_CABINET. A boolean set to true if the cabinet is a personal cabinet and set to false if the cabinet is a shared cabinet.

Supported API: false

Parameters:
a_PersonalCabinet -
Throws:
WTPropertyVetoException

personalCabinetValidate

private void personalCabinetValidate(boolean a_PersonalCabinet)
                              throws WTPropertyVetoException
Parameters:
a_PersonalCabinet -
Throws:
WTPropertyVetoException

getCreatorReference

public WTPrincipalReference getCreatorReference()
Gets the object for the association that plays role: CREATOR_REFERENCE. A reference to the WTPrincipal (eg user) that created this folder.

Supported API: false

Returns:
WTPrincipalReference

setCreatorReference

public void setCreatorReference(WTPrincipalReference a_CreatorReference)
Sets the object for the association that plays role: CREATOR_REFERENCE. A reference to the WTPrincipal (eg user) that created this folder.

Supported API: false

Parameters:
a_CreatorReference -

newCabinet

public static Cabinet newCabinet(String name,
                                 String description,
                                 boolean personal)
                          throws WTException


Supported API: false

Parameters:
name -
description -
personal -
Returns:
Cabinet
Throws:
WTException

initialize

protected void initialize(String name,
                          String description,
                          boolean personal)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Parameters:
name -
description -
personal -
Throws:
WTException

newCabinet

public static Cabinet newCabinet(String name,
                                 String description)
                          throws WTException
Factory method to create a Cabinet. Must supply the name and description for the cabinet. Description may be null. This is the preferred factory as access to the name is protected and may only be manipulated via the CabinetIdentity object. Once created, the Cabinet object must still be saved in the database.

Supported API: false

Parameters:
name -
description -
Returns:
Cabinet
Throws:
WTException

initialize

protected void initialize(String name,
                          String description)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Parameters:
name -
description -
Throws:
WTException

newCabinet

public static Cabinet newCabinet()
                          throws WTException
Default no-arg factory for a Cabinet. Once constructed, you must

Supported API: false

Returns:
Cabinet
Throws:
WTException

getIdentificationObject

public IdentificationObject getIdentificationObject()
                                             throws WTException
Returns the CabinetIdentity object which provides uniqueness management for Cabinets.

Supported API: false

Specified by:
getIdentificationObject in interface Identified
Returns:
IdentificationObject
Throws:
WTException
See Also:
CabinetIdentity

getEventSet

public WTStringSet getEventSet()
Gets the value of the attribute: EVENT_SET. Sets of events for which the object has a subscriber.

Supported API: false

Specified by:
getEventSet in interface Notifiable
Returns:
WTStringSet

setEventSet

public void setEventSet(WTStringSet a_EventSet)
Sets the value of the attribute: EVENT_SET. Sets of events for which the object has a subscriber.

Supported API: false

Specified by:
setEventSet in interface Notifiable
Parameters:
a_EventSet -

getEntrySet

public AclEntrySet getEntrySet()
Gets the value of the attribute: ENTRY_SET.

Supported API: false

Specified by:
getEntrySet in interface AdHocControlled
Returns:
AclEntrySet

setEntrySet

public void setEntrySet(AclEntrySet a_EntrySet)
Sets the value of the attribute: ENTRY_SET.

Supported API: false

Specified by:
setEntrySet in interface AdHocControlled
Parameters:
a_EntrySet -

getFolderPath

public String getFolderPath()
Gets the value of the attribute: FOLDER_PATH. The complete path for the object. The path includes the location with the name appended. This information is calculated.

Supported API: false

Specified by:
getFolderPath in interface CabinetBased
Returns:
String

getLocation

public String getLocation()
Gets the value of the attribute: LOCATION. The location, described as a path for the object. The location does not include the object's name, but rather indicates what Folder (Cabinet or SubFolder) that the object resides in. This information is calculated.

Supported API: false

Specified by:
getLocation in interface CabinetBased
Returns:
String

getCabinetReference

public CabinetReference getCabinetReference()
Gets the value of the attribute: CABINET_REFERENCE. A reference to the cabinet that the entry is consided part of.

Supported API: false

Specified by:
getCabinetReference in interface CabinetBased
Returns:
CabinetReference

getContainer

public WTContainer getContainer()
Gets the object for the association that plays role: CONTAINER.

Supported API: false

Specified by:
getContainer in interface WTContainedIdentified
Returns:
WTContainer

setContainer

public void setContainer(WTContainer a_Container)
                  throws WTPropertyVetoException,
                         WTException
Sets the object for the association that plays role: CONTAINER.

Supported API: false

Specified by:
setContainer in interface WTContainedIdentified
Parameters:
a_Container -
Throws:
WTPropertyVetoException
WTException

getContainerReference

public WTContainerRef getContainerReference()
Gets the value of the attribute: CONTAINER_REFERENCE.

Supported API: false

Specified by:
getContainerReference in interface WTContainedIdentified
Returns:
WTContainerRef

setContainerReference

public void setContainerReference(WTContainerRef a_ContainerReference)
                           throws WTPropertyVetoException
Sets the value of the attribute: CONTAINER_REFERENCE.

Supported API: false

Specified by:
setContainerReference in interface WTContainedIdentified
Parameters:
a_ContainerReference -
Throws:
WTPropertyVetoException

containerReferenceValidate

private void containerReferenceValidate(WTContainerRef a_ContainerReference)
                                 throws WTPropertyVetoException
Parameters:
a_ContainerReference -
Throws:
WTPropertyVetoException

getContainerName

public String getContainerName()
Gets the value of the attribute: CONTAINER_NAME. The name of the WTContainer this object is assigned to.

Supported API: false

Specified by:
getContainerName in interface WTContained
Returns:
String

getIdentity

public String getIdentity()
Deprecated. Replaced by IdentityFactory.getDispayIdentifier(object) to return a localizable equivalent of getIdentity(). To return a localizable value which includes the object type, use IdentityFactory.getDisplayIdentity(object). Other alternatives are ((WTObject)obj).getDisplayIdentifier() and ((WTObject)obj).getDisplayIdentity()

Gets the value of the attribute: IDENTITY. Supplies the identity of the object for business purposes. The identity is composed of name, number or possibly other attributes. The identity does not include the type of the object.

Supported API: false

Specified by:
getIdentity in interface Persistable
Overrides:
getIdentity in class WTObject
Returns:
String

getBusinessType

public String getBusinessType()
Deprecated. Replaced by IdentityFactory.getDispayType(object) to return a localizable equivalent of getBusinessType(). Another alternative is ((WTObject)obj).getDisplayType().

Gets the value of the attribute: BUSINESS_TYPE. Identifies the type of the object for business purposes. This is typically the class name of the object but may be derived from some other attribute of the object.

Supported API: false

Specified by:
getBusinessType in interface BusinessInformation
Returns:
String

getOwnership

public Ownership getOwnership()
Gets the object for the association that plays role: OWNERSHIP. The persistent state for an Ownable object is maintained via the Ownership object. Access to information for the Ownership object should be done via methods on the OwnershipHelper.

Supported API: false

Specified by:
getOwnership in interface Ownable
Returns:
Ownership

setOwnership

public void setOwnership(Ownership a_Ownership)
Sets the object for the association that plays role: OWNERSHIP. The persistent state for an Ownable object is maintained via the Ownership object. Access to information for the Ownership object should be done via methods on the OwnershipHelper.

Supported API: false

Specified by:
setOwnership in interface Ownable
Parameters:
a_Ownership -

equals

public boolean equals(Object obj)
Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers. Changed or stale copies are still considered equal by this method. Delegates to PersistenceHelper.equals(Persistable,Object).

Warning: Certain core Windchill operations may depend upon equals being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
equals in class Item
Parameters:
obj -
Returns:
boolean

hashCode

public int hashCode()
Returns a hash code for this object based upon its ObjectIdentifier. Delegates to PersistenceHelper.hashCode(Persistable).

Warning: Certain core Windchill operations may depend upon hashCode being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
hashCode in class Item
Returns:
int

toString

public String toString()
Return the ObjectIdentifier plus the name of the FolderedObject.

Overrides:
toString in class WTObject
Returns:
String

initialize

protected void initialize()
                   throws WTException
Support initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Overrides:
initialize in class Item
Throws:
WTException