Class ListExpressionOperator

  • All Implemented Interfaces:
    Serializable

    public class ListExpressionOperator
    extends ExpressionOperator
    INTERNAL: A ListExpressionOperator is used with an ArgumentListFunctionExpression. It is capable of expanding the number of arguments it can be an operator for. It is built from a set of start strings, a repeating set of separators and a set of termination strings It typically represents a database function that has a variable list of arguments e.g. COALESCE(arg1, arg2, arg3, .... argn) In the example above "COALESCE(" is the start string, "," is the separator and ")" is the end string
    Author:
    tware
    See Also:
    ArgumentListFunctionExpression, Expression.coalesce(), Serialized Form
    • Field Detail

      • startStrings

        protected String[] startStrings
      • separators

        protected String[] separators
      • terminationStrings

        protected String[] terminationStrings
      • numberOfItems

        protected int numberOfItems
      • isComplete

        protected boolean isComplete
    • Constructor Detail

      • ListExpressionOperator

        public ListExpressionOperator()
    • Method Detail

      • getDatabaseStrings

        public String[] getDatabaseStrings()
        INTERNAL: Recalculate the database strings each time this is called in case one has been added.
        Overrides:
        getDatabaseStrings in class ExpressionOperator
      • getNumberOfItems

        public int getNumberOfItems()
      • setNumberOfItems

        public void setNumberOfItems​(int numberOfItems)
      • getStartStrings

        public String[] getStartStrings()
      • setStartString

        public void setStartString​(String startString)
      • setStartStrings

        public void setStartStrings​(String[] startStrings)
      • getSeparators

        public String[] getSeparators()
      • setSeparator

        public void setSeparator​(String separator)
      • setSeparators

        public void setSeparators​(String[] separators)
      • getTerminationStrings

        public String[] getTerminationStrings()
      • setTerminationString

        public void setTerminationString​(String terminationString)
      • setTerminationStrings

        public void setTerminationStrings​(String[] terminationStrings)
      • incrementNumberOfItems

        public void incrementNumberOfItems()
      • setIsComplete

        public void setIsComplete​(boolean isComplete)
      • isComplete

        public boolean isComplete()
        Description copied from class: ExpressionOperator
        INTERNAL: If we have all the required information, this operator is complete and can be used as is. Otherwise we will need to look up a platform- specific operator.
        Overrides:
        isComplete in class ExpressionOperator