wt.workflow.forum
Class Discussion

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.workflow.forum.Discussion
All Implemented Interfaces:
CollaborationContainer, DisplayIdentification, DomainAdministered, EventListener, Externalizable, Indexable, NetFactor, Notifiable, ObjectMappable, ObjectSubscriptionListener, Ownable, Persistable, RecentlyVisited, Serializable, WTContained
Direct Known Subclasses:
DiscussionForum, DiscussionPosting, DiscussionTopic

public abstract class Discussion
extends WTObject
implements Ownable, CollaborationContainer, ObjectSubscriptionListener, WTContained, Indexable, DomainAdministered, Externalizable



Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static String CONTAINER
          Label for the attribute.
private  WTContainerRef containerReference
           
static String DEFINITION
          Label for the attribute.
private  ObjectReference definitionReference
           
private static String DISCUSSION_NOTIFICATION_TEMPLATE
           
private  AdminDomainRef domainRef
           
private  WTStringSet eventSet
           
static long EXTERNALIZATION_VERSION_UID
           
private  IndexerSet indexerSet
           
private  boolean inheritedDomain
           
protected static long OLD_FORMAT_VERSION_UID
           
private  Ownership ownership
           
private static long R60_EXTERNALIZATION_VERSION_UID
           
private static String RESOURCE
           
private static String SENDER_EMAIL
           
(package private) static long serialVersionUID
           
private static String STATE_ATTRIBUTE_NAME
           
private static boolean VERBOSE
           
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.ownership.Ownable
OWNERSHIP
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.workflow.collaboration.CollaborationContainer
DEFINITION_REFERENCE
 
Fields inherited from interface wt.notify.Notifiable
EVENT_SET
 
Fields inherited from interface wt.inf.container.WTContained
CONTAINER_ID, CONTAINER_NAME, CONTAINER_REFERENCE
 
Fields inherited from interface wt.index.Indexable
INDEXER_SET
 
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
Discussion()
           
 
Method Summary
protected static void addUserSubscription(ObjectSubscription subscription, Vector subsVec, Vector distListVec)
           
private  void containerReferenceValidate(WTContainerRef a_ContainerReference)
           
private  Notification createNotification(ObjectSubscription subscription, DistributionList subscribers, Object target)
           
private  void definitionReferenceValidate(ObjectReference a_DefinitionReference)
           
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
abstract  Vector getChildren(boolean attachments)
          Returns all objects that have the container as their parent object.
 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.
 CollaborationTemplate getDefinition()
          Gets the object for the association that plays role: DEFINITION.
 ObjectReference getDefinitionReference()
          Gets the value of the attribute: DEFINITION_REFERENCE.
 AdminDomainRef getDomainRef()
          Gets the object for the association that plays role: DOMAIN_REF.
 WTStringSet getEventSet()
          Gets the value of the attribute: EVENT_SET.
 IndexerSet getIndexerSet()
          Gets the value of the attribute: INDEXER_SET.
abstract  Vector getOnlyImmediateChildren()
          Returns all objects that have the container as their parent object.
 Ownership getOwnership()
          Gets the object for the association that plays role: OWNERSHIP.
 CollaborationContainer getParent()
          Returns the object if any that acts as the container of this object.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
 boolean isInheritedDomain()
          Gets the value of the attribute: INHERITED_DOMAIN.
 void notifyObjectEvent(ObjectIdentifier target_id, String event_key)
          This method is called whenever the event subscribed to occurs to the object target of the subscriptions.
 ObjectSubscription populateSubscription(ObjectSubscription subscription)
          

Supported API: false
 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(Discussion 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 setDefinition(CollaborationTemplate a_Definition)
          Sets the object for the association that plays role: DEFINITION.
 void setDefinitionReference(ObjectReference a_DefinitionReference)
          Sets the value of the attribute: DEFINITION_REFERENCE.
 void setDomainRef(AdminDomainRef a_DomainRef)
          Sets the object for the association that plays role: DOMAIN_REF.
 void setEventSet(WTStringSet a_EventSet)
          Sets the value of the attribute: EVENT_SET.
 void setIndexerSet(IndexerSet a_IndexerSet)
          Sets the value of the attribute: INDEXER_SET.
 void setInheritedDomain(boolean a_InheritedDomain)
          Sets the value of the attribute: INHERITED_DOMAIN.
 void setOwnership(Ownership a_Ownership)
          Sets the object for the association that plays role: OWNERSHIP.
 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.WTObject
checkAttributes, duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getIdentity, getModifyTimestamp, getPersistInfo, getType, initialize, readVersion, setPersistInfo, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.fc.Persistable
checkAttributes, getIdentity, getPersistInfo, getType, setPersistInfo
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo, getConceptualClassname
 
Methods inherited from interface wt.workflow.collaboration.CollaborationContainer
getChildren
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

ownership

private Ownership ownership

DEFINITION

public static final String DEFINITION
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

definitionReference

private ObjectReference definitionReference

eventSet

private WTStringSet eventSet

CONTAINER

public static final String CONTAINER
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

containerReference

private WTContainerRef containerReference

indexerSet

private IndexerSet indexerSet

inheritedDomain

private boolean inheritedDomain

domainRef

private AdminDomainRef domainRef

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

R60_EXTERNALIZATION_VERSION_UID

private static final long R60_EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

VERBOSE

private static boolean VERBOSE

DISCUSSION_NOTIFICATION_TEMPLATE

private static final String DISCUSSION_NOTIFICATION_TEMPLATE
See Also:
Constant Field Values

SENDER_EMAIL

private static final String SENDER_EMAIL

STATE_ATTRIBUTE_NAME

private static final String STATE_ATTRIBUTE_NAME
See Also:
Constant Field Values
Constructor Detail

Discussion

public Discussion()
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 WTObject
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 WTObject
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(Discussion 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 WTObject
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 WTObject
Parameters:
input -
Throws:
SQLException
DatastoreException

getParent

public CollaborationContainer getParent()
                                 throws WTException
Returns the object if any that acts as the container of this object.

Supported API: false

Specified by:
getParent in interface CollaborationContainer
Returns:
CollaborationContainer
Throws:
WTException

populateSubscription

public ObjectSubscription populateSubscription(ObjectSubscription subscription)
                                        throws WTException


Supported API: false

Specified by:
populateSubscription in interface CollaborationContainer
Parameters:
subscription -
Returns:
ObjectSubscription
Throws:
WTException

notifyObjectEvent

public void notifyObjectEvent(ObjectIdentifier target_id,
                              String event_key)
                       throws WTException
This method is called whenever the event subscribed to occurs to the object target of the subscriptions.

Supported API: false

Specified by:
notifyObjectEvent in interface ObjectSubscriptionListener
Parameters:
target_id -
event_key -
Throws:
WTException

getOnlyImmediateChildren

public abstract Vector getOnlyImmediateChildren()
                                         throws WTException
Returns all objects that have the container as their parent object.

Supported API: false

Returns:
Vector
Throws:
WTException

getChildren

public abstract Vector getChildren(boolean attachments)
                            throws WTException
Returns all objects that have the container as their parent object.

Supported API: false

Parameters:
attachments -
Returns:
Vector
Throws:
WTException

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 -

getDefinition

public CollaborationTemplate getDefinition()
Gets the object for the association that plays role: DEFINITION.

Supported API: false

Specified by:
getDefinition in interface CollaborationContainer
Returns:
CollaborationTemplate

setDefinition

public void setDefinition(CollaborationTemplate a_Definition)
                   throws WTPropertyVetoException,
                          WTException
Sets the object for the association that plays role: DEFINITION.

Supported API: false

Specified by:
setDefinition in interface CollaborationContainer
Parameters:
a_Definition -
Throws:
WTPropertyVetoException
WTException

getDefinitionReference

public ObjectReference getDefinitionReference()
Gets the value of the attribute: DEFINITION_REFERENCE.

Supported API: false

Specified by:
getDefinitionReference in interface CollaborationContainer
Returns:
ObjectReference

setDefinitionReference

public void setDefinitionReference(ObjectReference a_DefinitionReference)
                            throws WTPropertyVetoException
Sets the value of the attribute: DEFINITION_REFERENCE.

Supported API: false

Specified by:
setDefinitionReference in interface CollaborationContainer
Parameters:
a_DefinitionReference -
Throws:
WTPropertyVetoException

definitionReferenceValidate

private void definitionReferenceValidate(ObjectReference a_DefinitionReference)
                                  throws WTPropertyVetoException
Parameters:
a_DefinitionReference -
Throws:
WTPropertyVetoException

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 -

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

getContainer

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

Supported API: false

Specified by:
getContainer in interface WTContained
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 WTContained
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 WTContained
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 WTContained
Parameters:
a_ContainerReference -
Throws:
WTPropertyVetoException

containerReferenceValidate

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

getIndexerSet

public IndexerSet getIndexerSet()
Gets the value of the attribute: INDEXER_SET.

Supported API: false

Specified by:
getIndexerSet in interface Indexable
Returns:
IndexerSet

setIndexerSet

public void setIndexerSet(IndexerSet a_IndexerSet)
Sets the value of the attribute: INDEXER_SET.

Supported API: false

Specified by:
setIndexerSet in interface Indexable
Parameters:
a_IndexerSet -

isInheritedDomain

public boolean isInheritedDomain()
Gets the value of the attribute: INHERITED_DOMAIN. A boolean indicating whether the administrative domain is inherited. If the value is true, the domain is inherited from a parent object.

Supported API: false

Specified by:
isInheritedDomain in interface DomainAdministered
Returns:
boolean

setInheritedDomain

public void setInheritedDomain(boolean a_InheritedDomain)
                        throws WTPropertyVetoException
Sets the value of the attribute: INHERITED_DOMAIN. A boolean indicating whether the administrative domain is inherited. If the value is true, the domain is inherited from a parent object.

Supported API: false

Specified by:
setInheritedDomain in interface DomainAdministered
Parameters:
a_InheritedDomain -
Throws:
WTPropertyVetoException

getDomainRef

public AdminDomainRef getDomainRef()
Gets the object for the association that plays role: DOMAIN_REF.

Supported API: false

Specified by:
getDomainRef in interface DomainAdministered
Returns:
AdminDomainRef

setDomainRef

public void setDomainRef(AdminDomainRef a_DomainRef)
Sets the object for the association that plays role: DOMAIN_REF.

Supported API: false

Specified by:
setDomainRef in interface DomainAdministered
Parameters:
a_DomainRef -

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 WTObject
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 WTObject
Returns:
int

addUserSubscription

protected static void addUserSubscription(ObjectSubscription subscription,
                                          Vector subsVec,
                                          Vector distListVec)
                                   throws WTException
Throws:
WTException

createNotification

private Notification createNotification(ObjectSubscription subscription,
                                        DistributionList subscribers,
                                        Object target)
                                 throws WTException
Throws:
WTException