Package parser
Class ListReturningStatsOperator
java.lang.Object
parser.Operator
parser.ListReturningStatsOperator
- All Implemented Interfaces:
Validatable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Bracket
The closing bracket operator that forms one of the bracket pair used by this Operator to bound its data to the rightprivate static String
private int
The index of this Operator in its parent scanned function.private Bracket
The opening bracket operator that forms one of the bracket pair used by this Operator to bound its data to the leftprivate ListReturningStatsOperator
The ListReturningStatsOperator object that immediately envelopes this one.private boolean
The container of all ListTypeOperator objects in the scanned function.Fields inherited from class parser.Operator
AND, ASSIGN, AT, CLOSE_CIRC_BRAC, CLOSE_SQUARE_BRAC, COLON, COMBINATION, COMMA, CONST, CUBE, CUBE_ROOT, DIVIDE, EN_DASH, EQUALS, EXIT, FACTORIAL, GREATER_OR_EQUALS, GREATER_THAN, INVERSE, LESS_OR_EQUALS, LESS_THAN, MINUS, MULTIPLY, name, OPEN_CIRC_BRAC, OPEN_SQUARE_BRAC, operators, OR, PERMUTATION, PLUS, POWER, REMAINDER, ROOT, SEMI_COLON, SPACE, SQUARE, STORE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
static String
int
getIndex()
boolean
boolean
void
setCloseBracket
(Bracket closeBracket) static void
setErrorMessage
(String errorMessage) void
setIndex
(int index) void
setOpenBracket
(Bracket openBracket) void
setParent
(ListReturningStatsOperator parent) The concept of a parent here is that the first ListReturningStatsOperator object to this Operator's left is one that encloses it.void
setSuperParent
(boolean superParent) toString()
boolean
static boolean
validateFunction
(ArrayList<String> scan) Takes an object of class Function and validates its ListReturningStatsOperators objects.Methods inherited from class parser.Operator
getName, getPrecedence, isAssignmentOperator, isAtOperator, isBinaryOperator, isBracket, isClosingBrace, isClosingBracket, isColon, isComma, isConstantStoreCommand, isCube, isCubeRoot, isEqualsOperator, isExitCommand, isFactorial, isInverse, isLogicOperator, isMulOrDiv, isMulOrDivOrRemOrPermOrCombOrPow, isOpeningBrace, isOpeningBracket, isOperatorString, isPermOrComb, isPlusOrMinus, isPower, isRemainder, isSemiColon, isSquare, isSquareRoot, isStoreCommand, isUnaryPostOperator, isUnaryPreOperator, setName, validateAll
-
Field Details
-
superParent
private boolean superParentThe container of all ListTypeOperator objects in the scanned function. -
index
private int indexThe index of this Operator in its parent scanned function. -
openBracket
The opening bracket operator that forms one of the bracket pair used by this Operator to bound its data to the left -
closeBracket
The closing bracket operator that forms one of the bracket pair used by this Operator to bound its data to the right -
parent
The ListReturningStatsOperator object that immediately envelopes this one. -
errorMessage
-
-
Constructor Details
-
ListReturningStatsOperator
- Parameters:
op
- the name of the operatorindex
- the index of this Operator in its parent scanned function.scan
- the ArrayList object that contains the scanned function that has this ListReturningStatsOperator object
-
-
Method Details
-
determineSuperParentStatus
-
setOpenBracket
- Parameters:
openBracket
- sets the opening bracket for this Operator
-
getOpenBracket
- Returns:
- the opening bracket for this Operator
-
setCloseBracket
- Parameters:
closeBracket
- sets the closing bracket for this Operator
-
getCloseBracket
- Returns:
- the closing bracket for this Operator
-
setIndex
public void setIndex(int index) - Parameters:
index
- sets the location of this Operator object in its parent scanned function.
-
getIndex
public int getIndex()- Returns:
- the index of its parent scanned function.
-
setSuperParent
public void setSuperParent(boolean superParent) - Parameters:
superParent
- sets whether or not this is the container ListReturningStatsOperator object for the data set.
-
isSuperParent
public boolean isSuperParent()- Returns:
- true if this is the container ListReturningStatsOperator object for the data set.
-
setParent
The concept of a parent here is that the first ListReturningStatsOperator object to this Operator's left is one that encloses it. i.e sort(2,3,mode(4,1,1,3)) Here sort is a parent to mode. But in sort(2,3,sort(4,1,3,4),mode(4,5,1)),mode will have no parent here by our definition. The outermost sort which would have been its parent does not immediately enclose it.The outermost sort however is a parent to the second sort(4,1,3,4). We use this special definition for parent because we wish to ensure that each object of this class will validate its own surroundings, not even its contents. It will not validate beyond the next ListReturningStatsOperator to it.- Parameters:
parent
- sets the ListReturningStatsOperator object that immediately envelopes this one.
-
getParent
- Returns:
- the ListReturningStatsOperator object that immediately envelopes this one.
-
setErrorMessage
- Parameters:
errorMessage
- sets the error message generated by objects of this class.
-
getErrorMessage
- Returns:
- the error message generated by objects of this class.
-
hasParent
- Parameters:
scan
- the ArrayList containing the scanned function- Returns:
- true if the first ListReturningStatsOperator object to its left is its parent. So it can have a parent and yet return false here.
-
validate
- Specified by:
validate
in interfaceValidatable
- Parameters:
scan
- the ArrayList of the scanned function that contains this object- Returns:
- true if this object scans through its surroundings to the left and to the right and sees a valid bracket structure around itself
-
validateFunction
Takes an object of class Function and validates its ListReturningStatsOperators objects.- Parameters:
scan
- the scanner output- Returns:
- true if valid
-
toString
-