Package de.hybris.platform.workflow.jalo
Class AbstractWorkflowAction
- java.lang.Object
-
- de.hybris.platform.util.BridgeAbstraction
-
- de.hybris.platform.jalo.Item
-
- de.hybris.platform.jalo.ExtensibleItem
-
- de.hybris.platform.jalo.c2l.LocalizableItem
-
- de.hybris.platform.jalo.GenericItem
-
- de.hybris.platform.workflow.jalo.GeneratedAbstractWorkflowAction
-
- de.hybris.platform.workflow.jalo.AbstractWorkflowAction
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable
- Direct Known Subclasses:
GeneratedWorkflowAction
,GeneratedWorkflowActionTemplate
public abstract class AbstractWorkflowAction extends GeneratedAbstractWorkflowAction
An action is identified by itscode
and belongs to anAbstractWorkflow
. It represents a single action executed by one user.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.GenericItem
GenericItem.GenericItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LocalizableItem.LocalizableItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.ExtensibleItem
ExtensibleItem.ExtensibleItemImpl
-
Nested classes/interfaces inherited from class de.hybris.platform.jalo.Item
Item.AttributeFilter, Item.AttributeMode, Item.CachedGetter, Item.CachedSetter, Item.ItemAttributeMap, Item.ItemConstraint, Item.ItemImpl, Item.JaloCachedComputationException
-
-
Field Summary
-
Fields inherited from class de.hybris.platform.workflow.jalo.GeneratedAbstractWorkflowAction
ACTIONTYPE, CODE, DEFAULT_INITIAL_ATTRIBUTES, DESCRIPTION, EMAILADDRESS, NAME, PREDECESSORS, PREDECESSORSSTR, PRINCIPALASSIGNED, RENDERERTEMPLATE, SENDEMAIL, SUCCESSORS, WORKFLOWACTIONCOMMENTS, WORKFLOWACTIONCOMMENTSHANDLER, WORKFLOWACTIONORDERINGRELATION_MARKMODIFIED, WORKFLOWACTIONORDERINGRELATION_SRC_ORDERED, WORKFLOWACTIONORDERINGRELATION_TGT_ORDERED
-
Fields inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
LANGUAGE_FALLBACK_ENABLED
-
Fields inherited from class de.hybris.platform.jalo.Item
_CREATION_TIME_INTERNAL, _MODIFIED_TIME_INTERNAL, accessorLog, CREATION_TIME, DISABLE_ATTRIBUTE_CHECK, DISABLE_ITEMCHECK_BEFORE_REMOVABLE, EVEN, FEATURE_ACCESSMAP_QUALIFIER, HJMPTS, INITIAL_CREATION_FLAG, isJaloOnly, MODIFIED_TIME, NEGATIVE, NOT_FOUND, OWNER, PK, POSITIVE, SAVE_FROM_SERVICE_LAYER, staticTransientObjects, TYPE
-
Fields inherited from class de.hybris.platform.util.BridgeAbstraction
impl, tenant
-
-
Constructor Summary
Constructors Constructor Description AbstractWorkflowAction()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected Item
createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes)
Has to be implemented for each concrete subtype of item.protected JaloPropertyContainer
getInitialProperties(JaloSession jaloSession, Item.ItemAttributeMap allAttributes)
Override to specify all properties which should be written during ejbCreate.protected Item.ItemAttributeMap
getNonInitialAttributes(SessionContext ctx, Item.ItemAttributeMap allAttributes)
The default implementation ofGenericItem.getNonInitialAttributes(SessionContext, Item.ItemAttributeMap)
assures that the 'registered initial' propertiesGenericItem.getInitialProperties(JaloSession, Item.ItemAttributeMap)
will be removed from the 'non initial map'.java.lang.String
getPredecessorsStr(SessionContext ctx)
Deprecated.since agesvoid
setPrincipalAssigned(SessionContext ctx, Principal value)
Generated method - Setter of theAbstractWorkflowAction.principalAssigned
attribute.void
writeAutomatedComment(WorkflowAction action, java.lang.String message)
Creates a new workflow comment and attaches it to the action.void
writeAutomatedComment(WorkflowAction action, java.lang.String message, java.lang.String[] messageParams)
Creates a new workflow comment and attaches it to the action.-
Methods inherited from class de.hybris.platform.workflow.jalo.GeneratedAbstractWorkflowAction
addToPredecessors, addToPredecessors, addToSuccessors, addToSuccessors, addToWorkflowActionComments, addToWorkflowActionComments, getActionType, getActionType, getAllDescription, getAllDescription, getAllName, getAllName, getCode, getCode, getDefaultAttributeModes, getDescription, getDescription, getEmailAddress, getEmailAddress, getName, getName, getPredecessors, getPredecessors, getPredecessorsCount, getPredecessorsCount, getPredecessorsStr, getPrincipalAssigned, getPrincipalAssigned, getRendererTemplate, getRendererTemplate, getSuccessors, getSuccessors, getSuccessorsCount, getSuccessorsCount, getWorkflowActionComments, getWorkflowActionComments, isMarkModifiedDisabled, isSendEmail, isSendEmail, isSendEmailAsPrimitive, isSendEmailAsPrimitive, removeFromPredecessors, removeFromPredecessors, removeFromSuccessors, removeFromSuccessors, removeFromWorkflowActionComments, removeFromWorkflowActionComments, setActionType, setActionType, setAllDescription, setAllDescription, setAllName, setAllName, setCode, setCode, setDescription, setDescription, setEmailAddress, setEmailAddress, setName, setName, setPredecessors, setPredecessors, setPrincipalAssigned, setRendererTemplate, setRendererTemplate, setSendEmail, setSendEmail, setSendEmail, setSendEmail, setSuccessors, setSuccessors, setWorkflowActionComments, setWorkflowActionComments
-
Methods inherited from class de.hybris.platform.jalo.GenericItem
getImplementation, getRelatedItems, setRelatedItems
-
Methods inherited from class de.hybris.platform.jalo.c2l.LocalizableItem
getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllLocalizedProperties, getAllValuesSessionContext, getLocalizedProperty, getLocalizedProperty, getLocalizedPropertyInternal, getLocalizedPropertyNames, getLocalizedPropertyNames, hasLanguage, isEmptyValue, isFallbackEnabled, removeLocalizedProperty, removeLocalizedProperty, setAllLocalizedProperties, setAllLocalizedProperties, setLocalizedProperty, setLocalizedProperty
-
Methods inherited from class de.hybris.platform.jalo.ExtensibleItem
createNonClassAccessor, getAllProperties, getAllProperties, getProperty, getProperty, getPropertyNames, getPropertyNames, removeProperty, removeProperty, setAllProperties, setAllProperties, setProperty, setProperty
-
Methods inherited from class de.hybris.platform.jalo.Item
addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addLinkedItems, addNegativePermission, addPermission, addPositivePermission, assureExtensionsLoaded, changeTypeAfterCreation, checkConstraint, checkItemPermission, checkMandatoryAttribute, checkMandatoryAttribute, checkPermission, checkPermission, checkRemovable, clearPermission, compareTo, ctx, doAfterRemove, doBeforeRemove, equals, getAccessorFor, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributes, getAllAttributesInternal, getAllLinkedItems, getAndCheckCacheBoundItem, getAttribute, getAttribute, getCacheBoundItem, getComposedType, getComposedTypePK, getCreationTime, getCurrentlyRemovingCount, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItems, getLinkedItemsCount, getLinkedItemsCount, getLinkedItemsCount, getModificationTime, getNegativePermissions, getOwner, getPermissionMap, getPermissions, getPersistenceVersion, getPK, getPositivePermissions, getRestrictedPrincipals, getSession, getSyncObject, getTenant, getTransientObject, getTransientObjectMap, hashCode, hasRegisteredClassAccessorFor, internal_registerClassAccessorFor, internal_registerNonClassAccessorFor, invalidateLocalCaches, isAlive, isCacheBound, isCurrentlyRemoving, isCurrentlyRemoving, isEmptyRelationValue, isInCreate, isInstanceOf, isItemCheckBeforeRemoveableDisabled, isRelationLocalizationFallbackEnabled, newInstance, notifyExtensionsAfterItemCreation, notifyExtensionsBeforeItemCreation, notifyItemRemoval, notifyManagerAboutItemRemoval, readResolve, registerAccessFor, registerAccessFor, registerJaloInvalidationListeners, remove, remove, removeItemCollection, removeItemCollection, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinkedItems, removeLinks, removePartOfItems, removePartOfItems, setAllAttributes, setAllAttributes, setAllAttributesInternal, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAllLinkedItems, setAttribute, setAttribute, setAttributeFromString, setAttributeFromString, setCacheBound, setComposedType, setCreationTime, setImplementation, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setLinkedItems, setModificationTime, setNonInitialAttributes, setOwner, setPermissionsByMap, setTransientObject, setUseTA, toString, useTA, writeReplace
-
Methods inherited from class de.hybris.platform.util.BridgeAbstraction
setTenant
-
-
-
-
Method Detail
-
createItem
protected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException
Description copied from class:Item
Has to be implemented for each concrete subtype of item. This method is responsible for creating a new item instance ( by calling managers, ejb homes, etc. ) duringComposedType.newInstance(Map)
.In case this method uses any of the attribute values during creation it is required to override
Item.getNonInitialAttributes(SessionContext, ItemAttributeMap)
too.
Sn example:public static final String MY_ATTRIBUTE = "someAttribute"; ... protected Item createItem(SessionContext ctx, ComposedType type, Map allAttributes ) throws JaloBusinessException { MyManager man = ... return man.createMyItem( (String)allAttributes.get(MY_ATTRIBUTE) ); // here MY_ATTRIBUTE is used for creation, so it must not be set again } protected Map getNonInitialAttributes( SessionContext ctx, Map allAttributes ) { // let superclass remove its own initial attributes Map ret = super.getNonInitialAttributes( ctx, allAttributes ); // remove MY_ATTRIBUTE from all attributes since if has already been set ret.remove(MY_ATTRIBUTE); return ret; }
- Overrides:
createItem
in classGenericItem
- Parameters:
ctx
- the current session context which this item is created withintype
- the actual item type ( since subtypes may not provide a own jalo class this may be different from the type which this method was implemented for )- Returns:
- the new item instance
- Throws:
JaloBusinessException
- indicates an error during creation - any changes will be rollbacked
-
getInitialProperties
protected JaloPropertyContainer getInitialProperties(JaloSession jaloSession, Item.ItemAttributeMap allAttributes)
Description copied from class:GenericItem
Override to specify all properties which should be written during ejbCreate. This way is is possible to implement non-null property fields ( means property fields which are written in SQL INSERT ). Properties which are set viaItem.setNonInitialAttributes(SessionContext, Item, Item.ItemAttributeMap)
are usually written by additional SQL UPDATE statements.protected JaloPropertyContainer getInitialProperties(ItemAttributeMap allAttributes) { JaloPropertyContainer cont = jaloSession.createPropertyContainer(); cont.setProperty("key", (Serializable) allAttributes.get("myKey")); return cont; }
The default implementation collects all initial properties (localized and unlocalized ones), which were registered by calling
allAttributes.setAttributeMode( MYPROPERTY, Item.AttributeMode.INITIAL );
insideMyType#createItem( SessionContext , ComposedType , Item.ItemAttributeMap )
.- Overrides:
getInitialProperties
in classGenericItem
- Parameters:
jaloSession
- the jalo session which the new item is create withinallAttributes
- the attribute values of the new item
-
getNonInitialAttributes
protected Item.ItemAttributeMap getNonInitialAttributes(SessionContext ctx, Item.ItemAttributeMap allAttributes)
Description copied from class:GenericItem
The default implementation ofGenericItem.getNonInitialAttributes(SessionContext, Item.ItemAttributeMap)
assures that the 'registered initial' propertiesGenericItem.getInitialProperties(JaloSession, Item.ItemAttributeMap)
will be removed from the 'non initial map'.- Overrides:
getNonInitialAttributes
in classGenericItem
- Parameters:
ctx
- session context with language = NULLallAttributes
- aItemAttributeMap
contaning attribute values.- Returns:
- a
ItemAttributeMap
containing all attribute values, which belong to non-initial attributes.
-
getPredecessorsStr
@Deprecated public java.lang.String getPredecessorsStr(SessionContext ctx)
Deprecated.since agesDescription copied from class:GeneratedAbstractWorkflowAction
Generated method - Getter of theAbstractWorkflowAction.predecessorsStr
attribute.- Specified by:
getPredecessorsStr
in classGeneratedAbstractWorkflowAction
- Returns:
- the predecessorsStr
-
setPrincipalAssigned
public void setPrincipalAssigned(SessionContext ctx, Principal value)
Description copied from class:GeneratedAbstractWorkflowAction
Generated method - Setter of theAbstractWorkflowAction.principalAssigned
attribute.- Overrides:
setPrincipalAssigned
in classGeneratedAbstractWorkflowAction
value
- the principalAssigned - assigned principal who has to assure the completion (can also be a principal group where any member of the group can process the action)
-
writeAutomatedComment
public void writeAutomatedComment(WorkflowAction action, java.lang.String message, java.lang.String[] messageParams) throws JaloSystemException
Creates a new workflow comment and attaches it to the action.- Parameters:
action
- The action the comment will be attached to.message
- The message's name in the locales_xx.properties. e.g. "text.automatedworkflowactionTemplate.perform.start"=messageParams
- The params which are used to create the message. e.g. "Automated action started. Action class:{0}" The "{0} will be replaced."- Throws:
JaloSystemException
-
writeAutomatedComment
public void writeAutomatedComment(WorkflowAction action, java.lang.String message) throws JaloSystemException
Creates a new workflow comment and attaches it to the action.- Parameters:
action
- The action the comment will be attached to.message
- The message's name in the locales_xx.properties. e.g. "text.automatedworkflowactionTemplate.perform.start"=- Throws:
JaloSystemException
-
-