com.ptc.windchill.enterprise.change2.forms.populators
Class ChangeTaskAttributePopulator

java.lang.Object
  extended by com.ptc.core.components.forms.DefaultAttributePopulator
      extended by com.ptc.windchill.enterprise.change2.forms.populators.ChangeTaskAttributePopulator
All Implemented Interfaces:
com.ptc.core.components.forms.AttributePopulator, Externalizable, Serializable

public class ChangeTaskAttributePopulator
extends com.ptc.core.components.forms.DefaultAttributePopulator
implements Serializable

Populator class used for populating a change task from a change request. If ths propagation component is not enabled this class will not have any effect.

Supported API: true

Extendable: true

See Also:
Serialized Form

Method Summary
 List<String> getAttributeList()
          Retrieve the list of attributes which are to be processed.
 boolean isTypeOverridable()
          Specify the type is overridable.
 TypeInstance prePopulateAttributeDisplayValues(TypeInstance ti, NmCommandBean cb)
          Prepopulate the TypeInstance of the Change Task based on the launching change request.
 void processAttribute(WTChangeRequest2 cr, String key, TypeInstance ti, AttributeIdentifier ai)
          Method responsible for processing the specified attribute against the current change request and storing this attribute value in the TypeInstance.
protected  void setAttribute(TypeInstance ti, AttributeIdentifier ai, Object value)
          Set the value specified against the attribute identifier in the TypeInstance.
 void setAttributeList(List<String> atts)
          Set the attribute list to process.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getAttributeList

public List<String> getAttributeList()
Retrieve the list of attributes which are to be processed.

Supported API: true

Returns:
List The list of attributes which require processing.

setAttributeList

public void setAttributeList(List<String> atts)
Set the attribute list to process.

Supported API: true

Parameters:
atts - The attribute list to process

isTypeOverridable

public boolean isTypeOverridable()
Specify the type is overridable.

Supported API: true

Overrides:
isTypeOverridable in class com.ptc.core.components.forms.DefaultAttributePopulator

prePopulateAttributeDisplayValues

public TypeInstance prePopulateAttributeDisplayValues(TypeInstance ti,
                                                      NmCommandBean cb)
Prepopulate the TypeInstance of the Change Task based on the launching change request. If the launching point object is not a change request this method will return the unmodified TypeInstance. If the launch point object is a change request, this code will only modify the TypeInstance if the Propagation Component is enabled (through preferences)

The following fields will be propagated: If additional fields are desired, the getAttributeList() and processAttribute() methods should be overloaded and provided with the additional implementation.

Supported API: true

Overrides:
prePopulateAttributeDisplayValues in class com.ptc.core.components.forms.DefaultAttributePopulator
Parameters:
ti - The type instance returned prior to creating attributes step.
cb - The current command bean.
Returns:
the modified type instance if the conditions above are satisfied.
Throws:
WTException

processAttribute

public void processAttribute(WTChangeRequest2 cr,
                             String key,
                             TypeInstance ti,
                             AttributeIdentifier ai)
                      throws WTException
Method responsible for processing the specified attribute against the current change request and storing this attribute value in the TypeInstance. Overriding this method in a subclass can override the attributes which are propagated. Currently the name, description and needDate attributes are handled. The method setAttribute(TypeInstance,AttributeIdentifier,Object) is used to store the attribute in the type instance only if the current state of the attribute is State.UNITIALIZED or State.DEFAULT

Supported API: true

Parameters:
cr - The change request used to obtain the values
key - The attribute value.
ti - The TypeInstance to store the value in.
ai - The attribute identifer representing the attribute defined by the key
Throws:
WTException

setAttribute

protected void setAttribute(TypeInstance ti,
                            AttributeIdentifier ai,
                            Object value)
                     throws WTException
Set the value specified against the attribute identifier in the TypeInstance. The value will only be set if the state of the attribute in the TypeInstance is set to State.UNINITIALIZED or State.DEFAULT. Upon setting the value in the TypeInstance, the state of the attribute will be set to State.DEFAULT.

Supported API: true

Parameters:
ti - The type instance.
ai - The attribute to set in the type instance
value - The value to set to attribute in the type instance to.
Throws:
WTException