Class AbstractProcessNode

java.lang.Object
com.appiancorp.suiteapi.process.AbstractProcessNode
All Implemented Interfaces:
JSONable, JSONCacheable, AppianTypeHolder, Serializable
Direct Known Subclasses:
ProcessNode, RuntimeProcessNode

public abstract class AbstractProcessNode extends Object implements AppianTypeHolder, JSONCacheable
A node in a process model. A node is a conceptual representation of an activity used in a ProcessModel. The node contains the primary activity, which is its defining characteristic, as well as any pre- and post-activities that the designer has configured. Attended nodes are assigned to users, and are represented as tasks in the task list at runtime. Each node also potentially contains one or many flows (or connections), which are transitions to other nodes that can be traversed once this node is completed.
See Also:
  • Field Details

    • DEFAULT_COMPLETION

      public static final Float DEFAULT_COMPLETION
      The default time, in days, in which each node should complete.
    • DEFAULT_LAG

      public static final Float DEFAULT_LAG
      The default log, in days, in which ecah node should complete.
  • Constructor Details

    • AbstractProcessNode

      public AbstractProcessNode()
  • Method Details

    • getHiddenAttributes

      public HashSet getHiddenAttributes()
      Description copied from interface: JSONable
      Returns the set of attributes (properties) that should not be included in the JSON representation of the object.
      Specified by:
      getHiddenAttributes in interface JSONable
      Returns:
      the set of hidden attributes
    • getPriority

      public Priority getPriority()
      Gets the priority for this node.
      Returns:
      the priority for this node.
    • setPriority

      public void setPriority(Priority priority_)
      Sets the priority for this node.
      Parameters:
      priority_ - the priority for this node.
    • getActivityClass

      public ActivityClass getActivityClass()
      Gets the primary activity class associated with this node.
      Returns:
      the activity class that runs when this node is traversed in a process at runtime.
    • setActivityClass

      public void setActivityClass(ActivityClass activityClass_)
      Gets the primary activity class associated with this node.
      Parameters:
      activityClass_ - the activity class that runs when this node is traversed in a process at runtime.
    • getConnections

      public Connection[] getConnections()
      Gets the collection of flows representing connections to other nodes.
      Returns:
      the flows that leave this node and connect to other nodes.
    • setConnections

      public void setConnections(Connection[] connections_)
      Sets the collection of flows representing connections to other nodes.
      Parameters:
      connections_ - the flows that leave this node and connect to other nodes.
    • getAssociations

      public Connection[] getAssociations()
    • setAssociations

      public void setAssociations(Connection[] associations_)
    • getFriendlyName

      public LocaleString getFriendlyName()
      Returns the name of this node.
      See Also:
    • setFriendlyName

      public void setFriendlyName(LocaleString friendlyName_)
    • getGroupOwner

      public Identity getGroupOwner()
      Gets the group that owns this process node.
      Returns:
      the group owner of the process node.
    • setGroupOwner

      public void setGroupOwner(Identity groupOwner_)
      Sets the group that owns this process node.
      Parameters:
      groupOwner_ - the group owner of the process node.
    • getIcon

      public Long getIcon()
      Gets the id of the icon of the process node. Icons are documents stored in content management.
    • setIcon

      public void setIcon(Long icon_)
      Sets the id of the icon of the process node. Icons are documents stored in content management.
    • getOwner

      public Identity getOwner()
      Gets the id and name of the owner of this node.
      Returns:
      the identity of the owner of the process node
    • setOwner

      public void setOwner(Identity owner_)
      Sets the identity of the owner of the process node
      Parameters:
      owner_ - the id and name of the owner of this node.
    • getX

      public Long getX()
      Gets the horizontal coordinate of this node, which tells graphical designers where to render the icon.
      Returns:
      the horizontal coordinate of this node.
    • setX

      public void setX(Long x_)
      Sets the horizontal coordinate of this node, which tells graphical designers where to render the icon.
      Parameters:
      x_ - the horizontal coordinate of this node.
    • getY

      public Long getY()
      Gets the vertical coordinate of this node, which tells graphical designers where to render the icon.
      Returns:
      the vertical coordinate of this node.
    • setY

      public void setY(Long y_)
      Gets the vertical coordinate of this node, which tells graphical designers where to render the icon.
      Parameters:
      y_ - the vertical coordinate of this node.
    • getEscalationAbstraction

      protected abstract AbstractEscalation[] getEscalationAbstraction()
    • getScheduleAbstraction

      protected abstract AbstractSchedule getScheduleAbstraction()
    • toString

      public String toString()
      Converts the process node to a string, which can be used in debugging.
      Overrides:
      toString in class Object
    • getGuiId

      public Long getGuiId()
      Gets the guiId of this node. The guiId is an internal identifier, used by graphcial tools. Think of it as the id of this node within the context of a model, in contrast to the "id" property, which is the primary key in the database. Generally, the first node added to the model is 0, the second node is 1, and so on. This id is used by connections.
      Returns:
      the guiId of this node.
    • setGuiId

      public void setGuiId(Long guiId_)
      Sets the guiId of this node. The guiId is an internal identifier, used by graphcial tools. Think of it as the id of this node within the context of a model, in contrast to the "id" property, which is the primary key in the database. Generally, the first node added to the model is 0, the second node is 1, and so on. This id is used by connections.
      Parameters:
      guiId_ - the guiId of this node.
    • getId

      public Long getId()
      Gets the primary key of this node.
      Returns:
      the primary key of this node.
    • setId

      public void setId(Long id_)
      Sets the primary key of this node.
      Parameters:
      id_ - the primary key of this node.
    • getGroupOwnerId

      public Long getGroupOwnerId()
      Gets the group that owns this node.
      Returns:
      the id of the group that owns this node.
    • setGroupOwnerId

      public void setGroupOwnerId(Long groupOwnerId_)
      Sets the group owner id of this node.
      Parameters:
      groupOwnerId_ - the id of the group that owns this node.
    • getGroupOwnerName

      public String getGroupOwnerName()
      Gets the name of the group that owns this node.
      Returns:
      the name of the group that owns this node.
    • setGroupOwnerName

      public void setGroupOwnerName(String groupOwnerName_)
      Sets the name of the group that owns this node.
      Parameters:
      groupOwnerName_ - the name of the group that owns this node.
    • getOwnerId

      public Long getOwnerId()
      Gets the id of the user that owns this node.
      Returns:
      the owner id of this node
    • setOwnerId

      public void setOwnerId(Long ownerId_)
      Sets the user that owns this node.
      Parameters:
      ownerId_ - the id of the user that owns this node.
    • getOwnerName

      public String getOwnerName()
      Gets the name of the user that owns this node.
      Returns:
      the owner name of the process node
    • setOwnerName

      public void setOwnerName(String ownerName_)
      Sets the user that owns this node.
      Parameters:
      ownerName_ - the username of the user that owns this node.
    • getPreviousId

      public Long getPreviousId()
      Gets the primary key that this node had in a previous version of this model. This is probably not useful, but some tools may take advantage of it later.
    • setPreviousId

      public void setPreviousId(Long previousId_)
      Sets the primary key that this node had in a previous version of this model. This is probably not useful, but some tools may take advantage of it later.
    • getAssign

      public Assignment getAssign()
      If this node has an attended primary activity, this method gets the people, groups, etc.  to whom the activity is assigned.
      Returns:
      the entities to whom this node is assigned.
    • setAssign

      public void setAssign(Assignment assign_)
      If this node has an attended primary activity, this method sets the people, groups, etc.  to whom the activity is assigned.
      Parameters:
      assign_ - the entities to whom this node is assigned.
    • getDescription

      public LocaleString getDescription()
      Gets the localized description mappings of this node.
      Returns:
      the description for this node.
    • setDescription

      public void setDescription(LocaleString description_)
      Sets the localized description mappings for this node.
      Parameters:
      description_ - the description of this node.
    • getDisplay

      public LocaleString getDisplay()
      Returns the task display name for this node.
      See Also:
    • setDisplay

      public void setDisplay(LocaleString display_)
    • isNotify

      public boolean isNotify()
      Determines whether this node has a notification associated with it.
      Returns:
      true if this node has an associated notification, false otherwise.
    • setNotify

      public void setNotify(boolean notify_)
      Sets whether there is notification associated with this node.
      Parameters:
      notify_ - true if this node has an associated notification, false otherwise.
    • getConfirmationUrl

      public String getConfirmationUrl()
      Gets the URL to which the runtime user should be forwarded after successfully completing the activity associated with this node. This data is only useful for nodes with attended primary activities.
      Returns:
      the url to which the user is forwarded after successful completion of this node.
    • setConfirmationUrl

      public void setConfirmationUrl(String confirmationUrl_)
      Sets the URL to which the runtime user should be forwarded after successfully completing the activity associated with this node. This data is only useful for nodes with attended primary activities.
      Parameters:
      confirmationUrl_ - the url to whcih the user is forwarded after succesful completion of this node.
    • getPaletteIcon

      public Long getPaletteIcon()
      Gets the icon of the palette item from which this node was added to the process model.
      Returns:
      the id of a document which is stored in content management.
    • setPaletteIcon

      public void setPaletteIcon(Long paletteIcon_)
      Sets the icon of the palette item from which this node was added to the process model.
      Parameters:
      paletteIcon_ - the id of a document which is stored in content management.
    • fillInAppianTypes

      public void fillInAppianTypes(AppianTypeCache cache_)
      Adds the primary keys of any Appian-typed objects that are used by the activites or escalations of this node to the given cache.
      Specified by:
      fillInAppianTypes in interface AppianTypeHolder
      Parameters:
      cache_ - cache of Appian-typed objects.
    • getDefaultNodeInstanceSecurity

      public Security getDefaultNodeInstanceSecurity()
      Gets the default security mapping for instances of this node.
      Returns:
      the default security mapping for instances of this node.
    • setDefaultNodeInstanceSecurity

      public void setDefaultNodeInstanceSecurity(Security defaultNodeInstanceSecurity_)
      Sets the default security mapping for instances of this node.
      Parameters:
      defaultNodeInstanceSecurity_ - the default security mapping for instances of this node.
    • getMultipleInstance

      public MultipleInstance getMultipleInstance()
      Returns the multiple instance configuration of the node. This may include Spawning and Recurrence configurations.
      Returns:
      Multiple instance configuration of the node.
    • setMultipleInstance

      public void setMultipleInstance(MultipleInstance multipleInstance_)
      Sets the multiple instance configuration of the node. The may include Spawning and Recurrence configurations.
      Parameters:
      multipleInstance_ - configuration
    • getTargetCompletion

      public Float getTargetCompletion()
      Gets the target duration in which the task should complete
      Returns:
      a value representing the number of days
    • setTargetCompletion

      public void setTargetCompletion(Float targetCompletion_)
      Sets the target duration in which the process should complete
      Parameters:
      targetCompletion_ - the target duration in days in which the task should complete
    • getTargetLag

      public Float getTargetLag()
      Gets the target duration in which the task should be accepted
      Returns:
      a value representing the number of days
    • setTargetLag

      public void setTargetLag(Float targetLag_)
      Sets the target duration in which the task should be accepted
      Parameters:
      targetLag_ - the target duration in days in which the task should be accepted
    • getNotes

      public Note[] getNotes()
      Gets the notes that have been attached to this node.
      Returns:
      the notes that have been attached to this node.
    • setNotes

      public void setNotes(Note[] notes_)
      Sets the notes that have been attached to this node.
      Parameters:
      notes_ - the notes that have been attached to this node.
    • getNotesWithContent

      @Deprecated public static Note[] getNotesWithContent(Note[] notes_)
      Deprecated.
      use ProcessExecution.getNotesWithContent(Note[], ServiceContext)
      Returns the notes with content populated from fileSystem.
      Parameters:
      notes_ - array of Notes to populate
      Returns:
      content populates notes array.
    • getAttachments

      public Attachment[] getAttachments()
      Gets the attachments that have been attached to this node.
      Returns:
      the attachments that have been attached to this node.
    • setAttachments

      public void setAttachments(Attachment[] attachments_)
      Gets the attachments that have been attached to this node.
      Parameters:
      attachments_ - the attachments that have been attached to this node.
    • isLingering

      public boolean isLingering()
      a node is lingering if its existence is known to execution server only. i.e. when the task is instantiated, analytics and notifications servers are not notified of it. this property is currently only used to implement "quicktasks"
    • setLingering

      public void setLingering(boolean lingering_)
    • getExceptionFlowTriggers

      public EventTrigger[] getExceptionFlowTriggers()
      Gets the triggers that can trigger an exception flow
      Returns:
      the exception flow triggers
    • setExceptionFlowTriggers

      public void setExceptionFlowTriggers(EventTrigger[] exceptionFlowTriggers_)
      Sets the triggers that can trigger an exception flow
      Parameters:
      exceptionFlowTriggers_ - the exception flow triggers
    • getPreTriggers

      public EventTrigger[] getPreTriggers()
      Gets pre-triggers. These triggers are activated once the node is reached in flow. If the node is not reached in flow, these triggers are activated when the process is started)
      Returns:
      the pre-triggers
    • setPreTriggers

      public void setPreTriggers(EventTrigger[] preTriggers_)
      Sets the pre-triggers
      Parameters:
      preTriggers_ - the pre-triggers
      See Also:
    • getPostTriggers

      public EventTrigger[] getPostTriggers()
      Gets the post-triggers. These triggers are activated after the node has otherwise completed. The triggers must fire before flow can move on.
      Returns:
      the post-triggers
    • getEventProducers

      public EventProducer[] getEventProducers()
      Gets the event producers for this node
      Returns:
      the event producers
    • setEventProducers

      public void setEventProducers(EventProducer[] eventProducers_)
      Sets the event producers for this node
      Parameters:
      eventProducers_ - the event producers
    • setPostTriggers

      public void setPostTriggers(EventTrigger[] postTriggers_)
      Sets the post-triggers
      Parameters:
      postTriggers_ -
      See Also:
    • getLane

      public Long getLane()
      Gets the index of the Lane in which this node is contained. This number indexes into the Lanes field in AbstractProcessModel. If this node is not contained within a Lane then this value will be -1.
      Returns:
      The index of the Lane in which this node is contained
    • setLane

      public void setLane(Long lane_)
      Sets the index of the Lane in which this node is contained.
      Parameters:
      lane_ - The index of the Lane in which this node is contained
      See Also:
    • isOverrideLaneAssignment

      public boolean isOverrideLaneAssignment()
      Gets whether the node overrides the assignment of the lane in which it is contained. This field is ignored if
      1. The node is not contained within a lane
      2. The node's lane does not have lane assignment set
      3. The node cannot run as the lane assignment specifies. EG. A node that must be attended within a lane that has unattended lane assignment. In this case the lane assignment will always be overriden, regardless of the value returned by this function
      Returns:
      Whether the node overrids the assignment of the line in which it is contained.
    • setOverrideLaneAssignment

      public void setOverrideLaneAssignment(boolean overrideLaneAssignment_)
      Sets whether the node overrides the assignment of the lane in which it is contained.
      Parameters:
      overrideLaneAssignment_ - Whether the node overrides the assignment of the lane in which it is contained.
      See Also:
    • getLabelStyle

      public Label getLabelStyle()
      Gets the styling bean for this node's label. The bean contains information on how to style the label such as font color, size, and decoration.
      Returns:
      The Label bean for this node.
    • setLabelStyle

      public void setLabelStyle(Label labelStyle_)
      Sets the styling bean for this node's label.
      Parameters:
      labelStyle_ - Sets the Label bean for this node.
      See Also:
    • mergeNodes

      public static void mergeNodes(AbstractProcessNode[] dbNodes_, AbstractProcessNode[] fsNodes_)
    • getDeadline

      public Deadline getDeadline()
    • setDeadline

      public void setDeadline(Deadline deadline_)
    • getExceptionFlow

      public Connection getExceptionFlow()
    • setExceptionFlow

      public void setExceptionFlow(Connection exceptionFlow_)
    • isOnCompleteDeletePreviousCompleted

      public boolean isOnCompleteDeletePreviousCompleted()
      Returns:
      Returns the onCompleteDeletePreviousCompleted.
    • setOnCompleteDeletePreviousCompleted

      public void setOnCompleteDeletePreviousCompleted(boolean onCompleteDeletePreviousCompleted_)
      Parameters:
      onCompleteDeletePreviousCompleted_ - The onCompleteDeletePreviousCompleted to set.
    • isOnCompleteKeepFormData

      public boolean isOnCompleteKeepFormData()
    • setOnCompleteKeepFormData

      public void setOnCompleteKeepFormData(boolean onCompleteKeepFormData_)
    • isOnCreateDeletePreviousActive

      public boolean isOnCreateDeletePreviousActive()
      Returns:
      Returns the onCreateDeletePreviousActive.
    • setOnCreateDeletePreviousActive

      public void setOnCreateDeletePreviousActive(boolean onCreateDeletePreviousActive_)
      Parameters:
      onCreateDeletePreviousActive_ - The onCreateDeletePreviousActive to set.
    • isOnCreateIgnoreIfActive

      public boolean isOnCreateIgnoreIfActive()
      Returns:
      Returns the onCreateIgnoreIfActive.
    • setOnCreateIgnoreIfActive

      public void setOnCreateIgnoreIfActive(boolean onCreateIgnoreIfActive_)
      Parameters:
      onCreateIgnoreIfActive_ - The onCreateIgnoreIfActive to set.
    • isAllowsBack

      public boolean isAllowsBack()
      Determines if a user is allowed to step back to this node in an activity chain.
      Returns:
      true if the user is allowed to step back to this node
      See Also:
    • setAllowsBack

      public void setAllowsBack(boolean allowsBack_)
      Set whether a user is allowed to step back to this node in an activity chain.
      Parameters:
      allowsBack_ - true to allow users to step back to this node
      See Also:
    • getRefreshDefaultValues

      public boolean getRefreshDefaultValues()
      Determines whether to refresh the default values each time a task form is viewed.
      Returns:
      true if the default values should be refreshed
      See Also:
    • setRefreshDefaultValues

      public void setRefreshDefaultValues(boolean refreshDefaultValues_)
      Sets whether to refresh the default values each time a task form is viewed.
      Parameters:
      refreshDefaultValues_ - true to refresh the default values
      See Also:
    • getUuid

      @ConvertWith(com.appiancorp.kougar.mapper.parameters.UuidParameterConverter.class) public String getUuid()
      Returns:
      Returns the uuid.
    • setUuid

      public void setUuid(String uuid_)
      Parameters:
      uuid - The uuid to set.
    • isSkipNotification

      public boolean isSkipNotification()
      Returns:
      true if we are skipping notification emails for this node, false otherwise
    • setSkipNotification

      public void setSkipNotification(boolean skipNotification_)
      Parameters:
      skipNotification_ - true to skip notification emails for this node, false otherwise
    • isStartNode

      public boolean isStartNode()
      Used by tracking logic, this property is not always available.
      Returns:
      is this marked as a start node, either implicit or explicit?
    • setStartNode

      public void setStartNode(boolean startNode)
      Used by tracking logic, this property is not always available.
      Parameters:
      startNode - set this as a start node, either implicit or explicit.