org.kuali.student.common.ui.client.widgets.rules
Class StatementVO

java.lang.Object
  extended by org.kuali.student.common.ui.client.widgets.rules.Token
      extended by org.kuali.student.common.ui.client.widgets.rules.StatementVO
All Implemented Interfaces:
Serializable, Cloneable

public class StatementVO
extends Token
implements Serializable

See Also:
Serialized Form

Field Summary
private  List<ReqComponentVO> reqComponentVOs
           
private static long serialVersionUID
           
private  StatementInfo statementInfo
           
private  List<StatementVO> statementVOs
           
 
Fields inherited from class org.kuali.student.common.ui.client.widgets.rules.Token
And, Condition, EndParenthesis, Or, StartParenthesis, type, value
 
Constructor Summary
StatementVO()
           
StatementVO(StatementInfo statementInfo)
           
 
Method Summary
private  void addChildrenNodes(Node node, StatementVO statementVO)
           
 void addReqComponentVO(ReqComponentVO reqComponentVO)
           
 void addReqComponentVOs(List<ReqComponentVO> reqComponentVOs)
           
 void addStatementVO(StatementVO statementVO)
           
 void addStatementVOs(List<StatementVO> statementVOs)
           
private  void assignGuiRCId()
           
private  void checkDuplicateRC(StatementVO statementVO, List<ReqComponentVO> seenRCs)
           
 void clearSelections()
           
 void clearStatementAndReqComponents()
           
 String composeStatementTreeViewInfo(StatementVO statementVO, StatementTreeViewInfo statementTreeViewInfo)
           
 String composeStatementVO(StatementTreeViewInfo statementTreeViewInfo, StatementVO statementVO)
           
 String convertToExpression()
           
private  void doAddReqComponentVO(ReqComponentVO reqComponentVO)
           
private  void doAddStatementVO(StatementVO statementVO)
           
private  void doAssignGuiRCId(StatementVO statementVO, List<ReqComponentVO> rcs)
           
private  boolean doCleanupStatementVO(StatementVO statementVO, StatementVO parent)
           
private  void doClearSelections(StatementVO statementVO)
           
private  StringBuilder doConvertToExpression(StringBuilder inSbResult, StatementVO statementVO, boolean extraBrackets)
           
private  List<ReqComponentVO> doGetAllReqComponentVOs(StatementVO statementVO, List<ReqComponentVO> allRCs)
           
private  StatementVO doGetEnclosingStatementVO(StatementVO statementVO, ReqComponentVO reqComponentVO)
           
private  int doGetNestingDepth(StatementVO statementVO)
           
private  StatementVO doGetParentStatementVO(StatementVO statementVO, StatementVO nodeStatement)
           
private  List<ReqComponentVO> doGetSelectedReqComponentVOs(StatementVO statementVO, List<ReqComponentVO> selectedReqComponentVOs)
           
private  List<StatementVO> doGetSelectedStatmentVOs(StatementVO statementVO, List<StatementVO> selectedStatementVOs)
           
 boolean doIsFirstSelectedReqComp(StatementVO statementVO)
           
 boolean doIsLastSelectedReqComp(StatementVO statementVO)
           
private  void doRemoveReqComponentVO(ReqComponentVO reqComponentVO)
           
private  boolean doSimplify(StatementVO statementVO, StatementVO parent)
           
private  boolean doUnwrapRCs(StatementVO statementVO, int level)
           
 boolean equals(Object obj)
           
 List<ReqComponentVO> getAllReqComponentVOs()
          goes through the entire tree recursively and returns the list of all RCs
 int getChildCount()
           
 StatementVO getEnclosingStatementVO(StatementVO root, ReqComponentVO reqComponentVO)
          Gets the immediate parent statement of reqComponentVO Example: (a and b) or (c and d) or (e) Where the statements are enclosed in brackets.
 int getNestingDepth()
           
private  String getNextGuiRCId(List<ReqComponentVO> rcs)
          returns A, B, C, ...
 StatementVO getParentStatementVO(StatementVO root, StatementVO nodeStatement)
           
 String getPrintableStatement()
           
 ReqComponentVO getReqComponentVOByGuiKey(String guiKey)
           
 int getReqComponentVOCount()
           
 List<ReqComponentVO> getReqComponentVOs()
           
 List<ReqComponentVO> getSelectedReqComponentVOs()
           
 List<StatementVO> getSelectedStatementVOs()
           
 StatementInfo getStatementInfo()
           
 StatementTreeViewInfo getStatementTreeViewInfo()
           
 int getStatementVOCount()
           
 List<StatementVO> getStatementVOs()
           
 Node getTree()
           
 boolean isEmpty()
           
 boolean isFirstSelectedReqComp()
           
 boolean isLastSelectedReqComp()
           
 boolean isNodeSelected()
           
 boolean isSimple()
           
 boolean isWrapperStatementVO()
           
 void printTree(Node node)
           
 void removeReqComponentVO(ReqComponentVO reqComponentVO)
           
 void removeStatementVO(StatementVO statementVO)
           
private  void setFields(StatementTreeViewInfo statementTreeViewInfo)
           
private  void setFieldsTo(StatementTreeViewInfo stvInfo)
           
private  void setOperatorNode(Node node, StatementVO statementVO)
           
 void setStatementInfo(StatementInfo statementInfo)
           
 void setStatementTreeViewInfo(StatementTreeViewInfo stmtTreeInfo)
           
 void shiftReqComponent(String shiftType, ReqComponentVO reqComponentVO)
           
 boolean simplify()
          simplifies statement
private
<T> void
swapElement(List<T> elements, T element, String direction)
           
 String toString()
           
private  void validate()
          returns the number of leaf requirement componentVO of the this statement excluding those compound sub statements.
 
Methods inherited from class org.kuali.student.common.ui.client.widgets.rules.Token
clone, createAndToken, createOrToken, getTokenID, getType, hashCode, isCheckBoxOn, isTokenOperator, setCheckBoxOn, setTokenID, setTokenOperator, setType, toggleAndOr
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

statementInfo

private StatementInfo statementInfo

reqComponentVOs

private List<ReqComponentVO> reqComponentVOs

statementVOs

private List<StatementVO> statementVOs
Constructor Detail

StatementVO

public StatementVO()

StatementVO

public StatementVO(StatementInfo statementInfo)
Method Detail

setStatementTreeViewInfo

public void setStatementTreeViewInfo(StatementTreeViewInfo stmtTreeInfo)

getStatementTreeViewInfo

public StatementTreeViewInfo getStatementTreeViewInfo()

printTree

public void printTree(Node node)

getEnclosingStatementVO

public StatementVO getEnclosingStatementVO(StatementVO root,
                                           ReqComponentVO reqComponentVO)
Gets the immediate parent statement of reqComponentVO Example: (a and b) or (c and d) or (e) Where the statements are enclosed in brackets. So in this example there are 3 statements. Namely (a and b), (c and d), and (e). There are 5 requirement components a, b, c, d, and e. If requirement component b is passed in as a parameter, then (a and b) is returned. If e is passed in, then (e) is returned. If d is is passed in, then (c and d) is returned.

Parameters:
reqComponentVO -
Returns:

doGetEnclosingStatementVO

private StatementVO doGetEnclosingStatementVO(StatementVO statementVO,
                                              ReqComponentVO reqComponentVO)

getParentStatementVO

public StatementVO getParentStatementVO(StatementVO root,
                                        StatementVO nodeStatement)

doGetParentStatementVO

private StatementVO doGetParentStatementVO(StatementVO statementVO,
                                           StatementVO nodeStatement)

validate

private void validate()
returns the number of leaf requirement componentVO of the this statement excluding those compound sub statements. e.g. if this method is called on S1, the return value will be 2.
                    S1:OR
           S2:OR    S3:OR   S4:AND
             a        b     c d e
 


checkDuplicateRC

private void checkDuplicateRC(StatementVO statementVO,
                              List<ReqComponentVO> seenRCs)

addStatementVO

public void addStatementVO(StatementVO statementVO)

doAddStatementVO

private void doAddStatementVO(StatementVO statementVO)

addReqComponentVO

public void addReqComponentVO(ReqComponentVO reqComponentVO)

doAddReqComponentVO

private void doAddReqComponentVO(ReqComponentVO reqComponentVO)

removeStatementVO

public void removeStatementVO(StatementVO statementVO)

removeReqComponentVO

public void removeReqComponentVO(ReqComponentVO reqComponentVO)

doRemoveReqComponentVO

private void doRemoveReqComponentVO(ReqComponentVO reqComponentVO)

getStatementInfo

public StatementInfo getStatementInfo()

setStatementInfo

public void setStatementInfo(StatementInfo statementInfo)

getReqComponentVOs

public List<ReqComponentVO> getReqComponentVOs()

getStatementVOs

public List<StatementVO> getStatementVOs()

clearStatementAndReqComponents

public void clearStatementAndReqComponents()

shiftReqComponent

public void shiftReqComponent(String shiftType,
                              ReqComponentVO reqComponentVO)

swapElement

private <T> void swapElement(List<T> elements,
                             T element,
                             String direction)

getNextGuiRCId

private String getNextGuiRCId(List<ReqComponentVO> rcs)
returns A, B, C, ... etc depending on the number of Requirement components in the list.

Parameters:
rcs -
Returns:

assignGuiRCId

private void assignGuiRCId()

doAssignGuiRCId

private void doAssignGuiRCId(StatementVO statementVO,
                             List<ReqComponentVO> rcs)

getTree

public Node getTree()

addChildrenNodes

private void addChildrenNodes(Node node,
                              StatementVO statementVO)

setOperatorNode

private void setOperatorNode(Node node,
                             StatementVO statementVO)

getSelectedStatementVOs

public List<StatementVO> getSelectedStatementVOs()

doGetSelectedStatmentVOs

private List<StatementVO> doGetSelectedStatmentVOs(StatementVO statementVO,
                                                   List<StatementVO> selectedStatementVOs)

getAllReqComponentVOs

public List<ReqComponentVO> getAllReqComponentVOs()
goes through the entire tree recursively and returns the list of all RCs

Returns:

getReqComponentVOByGuiKey

public ReqComponentVO getReqComponentVOByGuiKey(String guiKey)

doGetAllReqComponentVOs

private List<ReqComponentVO> doGetAllReqComponentVOs(StatementVO statementVO,
                                                     List<ReqComponentVO> allRCs)

getSelectedReqComponentVOs

public List<ReqComponentVO> getSelectedReqComponentVOs()

doGetSelectedReqComponentVOs

private List<ReqComponentVO> doGetSelectedReqComponentVOs(StatementVO statementVO,
                                                          List<ReqComponentVO> selectedReqComponentVOs)

isFirstSelectedReqComp

public boolean isFirstSelectedReqComp()

doIsFirstSelectedReqComp

public boolean doIsFirstSelectedReqComp(StatementVO statementVO)

isLastSelectedReqComp

public boolean isLastSelectedReqComp()

doIsLastSelectedReqComp

public boolean doIsLastSelectedReqComp(StatementVO statementVO)

isNodeSelected

public boolean isNodeSelected()

getNestingDepth

public int getNestingDepth()

doGetNestingDepth

private int doGetNestingDepth(StatementVO statementVO)

getReqComponentVOCount

public int getReqComponentVOCount()

getStatementVOCount

public int getStatementVOCount()

getChildCount

public int getChildCount()

isWrapperStatementVO

public boolean isWrapperStatementVO()

addStatementVOs

public void addStatementVOs(List<StatementVO> statementVOs)

addReqComponentVOs

public void addReqComponentVOs(List<ReqComponentVO> reqComponentVOs)

simplify

public boolean simplify()
simplifies statement

Returns:
true if statement has been changed as a result of the call

doSimplify

private boolean doSimplify(StatementVO statementVO,
                           StatementVO parent)

doCleanupStatementVO

private boolean doCleanupStatementVO(StatementVO statementVO,
                                     StatementVO parent)

doUnwrapRCs

private boolean doUnwrapRCs(StatementVO statementVO,
                            int level)

getPrintableStatement

public String getPrintableStatement()

convertToExpression

public String convertToExpression()

doConvertToExpression

private StringBuilder doConvertToExpression(StringBuilder inSbResult,
                                            StatementVO statementVO,
                                            boolean extraBrackets)

clearSelections

public void clearSelections()

doClearSelections

private void doClearSelections(StatementVO statementVO)

isSimple

public boolean isSimple()

isEmpty

public boolean isEmpty()

composeStatementTreeViewInfo

public String composeStatementTreeViewInfo(StatementVO statementVO,
                                           StatementTreeViewInfo statementTreeViewInfo)
                                    throws Exception
Throws:
Exception

setFieldsTo

private void setFieldsTo(StatementTreeViewInfo stvInfo)

composeStatementVO

public String composeStatementVO(StatementTreeViewInfo statementTreeViewInfo,
                                 StatementVO statementVO)
                          throws Exception
Throws:
Exception

setFields

private void setFields(StatementTreeViewInfo statementTreeViewInfo)

toString

public String toString()
Overrides:
toString in class Token

equals

public boolean equals(Object obj)
Overrides:
equals in class Token


Copyright © 2007-2011 The Kuali Foundation. All Rights Reserved.