ix.ideel
Class IdeelIssue

java.lang.Object
  |
  +--ix.icore.process.PNode
        |
        +--ix.ideel.IdeelIssue
All Implemented Interfaces:
Issue, StatusValues
Direct Known Subclasses:
IdeelController.OtherReportsIssue

public class IdeelIssue
extends PNode
implements Issue, StatusValues

An issue managed by I-DEEL. These issues double as the actions in a process being carried out the I-DEEL and its user. Issues can be broken down into subissues and can be constained to be handled before or after other issues. Each issue has a set of "options" that corresponed to the different ways in which it might be handled.


Inner classes inherited from class ix.icore.process.PNode
PNode.MakeVarIfUnbound
 
Field Summary
(package private)  java.lang.String comments
           
(package private)  java.lang.String fullDescription
           
protected  LListCollector listeners
           
protected  LListCollector options
           
(package private)  LList parameters
           
(package private)  int priority
           
(package private)  java.util.Map properties
           
 java.lang.String reportRef
           
protected  LListCollector reports
           
(package private)  java.lang.String shortDescription
           
(package private)  java.lang.Object verb
           
 
Fields inherited from class ix.icore.process.PNode
children, level, parent, pattern, patternVars, postNodes, preNodes, schema, status, varTable
 
Fields inherited from interface ix.icore.process.StatusValues
PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_NONE, PRODUCT_BLANK, PRODUCT_COMPLETE, PRODUCT_DRAFT, STATUS_BLANK, STATUS_COMPLETE, STATUS_EXECUTING, STATUS_IMPOSSIBLE, STATUS_NA, STATUS_POSSIBLE
 
Constructor Summary
(package private) IdeelIssue(IdeelIssue parent, LList pattern)
           
  IdeelIssue(Issue i)
           
  IdeelIssue(LList pattern)
           
  IdeelIssue(java.lang.String text)
           
 
Method Summary
(package private)  boolean actionCanBeTakenNow(IssueOption opt)
           
(package private)  void addIssueListener(IssueListener listener)
           
 void addOption(IssueOption opt)
          Add an option to this issue.
(package private)  void addReport(Report report)
           
 java.lang.String ensureReportRef()
          Generates a report-ref for this issue if it does not already have one.
(package private)  void expandOneLevel(Schema schema, MatchEnv env)
           
(package private)  IssueOption findOption(java.lang.String shortDescription)
           
(package private)  void fireIssueEdited()
           
(package private)  void fireNewOption(IssueOption opt)
           
(package private)  void fireNewReport(Report report)
           
(package private)  void firePriorityChanged()
           
(package private)  void fireStatusChanged()
           
 void forwardIssue(java.lang.Object destination)
          Sends a copy of this issue to another agent, asking the destination agent to send reports back.
 void forwardIssue(java.lang.Object destination, boolean reportBack)
          Sends a copy of this issue to another agent, optionally asking the destination agent to send reports back.
 LList getOptions()
           
 java.lang.Object getParameters()
           
 int getPriority()
           
 java.util.Map getProperties()
           
 java.lang.String getRef()
           
 boolean getReportBack()
           
(package private)  java.util.List getReports()
           
 java.lang.String getSenderId()
           
 int getStatus()
           
 java.lang.Object getVerb()
           
(package private)  void handleReportBack()
           
(package private)  boolean hasOption(IssueOption opt)
           
 void setPriority(int priority)
           
 void setProperties(java.util.Map properties)
           
 void setRef(java.lang.String ref)
           
 void setReportBack(boolean value)
           
 void setSenderId(java.lang.String id)
           
 void setStatus(int status)
          Changes the node's status and then that of related nodes.
(package private)  void setStatusBasedOn(Report report)
           
(package private)  boolean wantsReport(Report report)
           
 
Methods inherited from class ix.icore.process.PNode
allComputeStatus, allHaveStatus, computeStatus, expandOneLevel, getUnboundVars, isAncestorOf, isDescendentOf, linkBefore, processOrderings, toString
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

verb

java.lang.Object verb

parameters

LList parameters

priority

int priority

properties

java.util.Map properties

shortDescription

java.lang.String shortDescription

fullDescription

java.lang.String fullDescription

comments

java.lang.String comments

reportRef

public java.lang.String reportRef

options

protected LListCollector options

reports

protected LListCollector reports

listeners

protected LListCollector listeners
Constructor Detail

IdeelIssue

public IdeelIssue(java.lang.String text)

IdeelIssue

public IdeelIssue(LList pattern)

IdeelIssue

IdeelIssue(IdeelIssue parent,
           LList pattern)

IdeelIssue

public IdeelIssue(Issue i)
Method Detail

getVerb

public java.lang.Object getVerb()
Specified by:
getVerb in interface Issue

getParameters

public java.lang.Object getParameters()
Specified by:
getParameters in interface Issue

getStatus

public int getStatus()
Specified by:
getStatus in interface Issue

setStatus

public void setStatus(int status)
Description copied from class: PNode
Changes the node's status and then that of related nodes.
Specified by:
setStatus in interface Issue
Overrides:
setStatus in class PNode

getPriority

public int getPriority()
Specified by:
getPriority in interface Issue

setPriority

public void setPriority(int priority)
Specified by:
setPriority in interface Issue

getProperties

public java.util.Map getProperties()
Specified by:
getProperties in interface Issue

setProperties

public void setProperties(java.util.Map properties)
Specified by:
setProperties in interface Issue

getSenderId

public java.lang.String getSenderId()
Specified by:
getSenderId in interface Issue

setSenderId

public void setSenderId(java.lang.String id)
Specified by:
setSenderId in interface Issue

getRef

public java.lang.String getRef()
Specified by:
getRef in interface Issue

setRef

public void setRef(java.lang.String ref)
Specified by:
setRef in interface Issue

getReportBack

public boolean getReportBack()
Specified by:
getReportBack in interface Issue

setReportBack

public void setReportBack(boolean value)
Specified by:
setReportBack in interface Issue

getOptions

public LList getOptions()

addOption

public void addOption(IssueOption opt)
Add an option to this issue. Note that an option with the same description may already exist. We regard that as a problem for the issueListeners. For example, a user interface might use the description as a way to identify the option and may not want any ambiguity.

hasOption

boolean hasOption(IssueOption opt)

findOption

IssueOption findOption(java.lang.String shortDescription)

actionCanBeTakenNow

boolean actionCanBeTakenNow(IssueOption opt)

wantsReport

boolean wantsReport(Report report)

addReport

void addReport(Report report)

setStatusBasedOn

void setStatusBasedOn(Report report)

getReports

java.util.List getReports()

handleReportBack

void handleReportBack()

forwardIssue

public void forwardIssue(java.lang.Object destination)
Sends a copy of this issue to another agent, asking the destination agent to send reports back.

forwardIssue

public void forwardIssue(java.lang.Object destination,
                         boolean reportBack)
Sends a copy of this issue to another agent, optionally asking the destination agent to send reports back.

ensureReportRef

public java.lang.String ensureReportRef()
Generates a report-ref for this issue if it does not already have one.

addIssueListener

void addIssueListener(IssueListener listener)

fireStatusChanged

void fireStatusChanged()

firePriorityChanged

void firePriorityChanged()

fireNewOption

void fireNewOption(IssueOption opt)

fireNewReport

void fireNewReport(Report report)

fireIssueEdited

void fireIssueEdited()

expandOneLevel

void expandOneLevel(Schema schema,
                    MatchEnv env)