Class ListExpressionOperator

  • All Implemented Interfaces:

    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
    See Also:
    ArgumentListFunctionExpression, Expression.coalesce(), Serialized Form
    • Field Detail

      • startStrings

        protected java.lang.String[] startStrings
      • separators

        protected java.lang.String[] separators
      • terminationStrings

        protected java.lang.String[] terminationStrings
      • numberOfItems

        protected int numberOfItems
      • changed

        protected boolean changed
      • isComplete

        protected boolean isComplete
    • Constructor Detail

      • ListExpressionOperator

        public ListExpressionOperator()
    • Method Detail

      • getDatabaseStrings

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

        public java.lang.String[] getDatabaseStrings​(int arguments)
        Returns an array of Strings that expects a query argument between each String in the array to form the Expression. The array is built from the defined startStrings, separators, and terminationStrings. Start strings and termination strings take precedence over separator strings. The first defined start string will be added to the array. All subsequent start strings are optional, meaning they will only be added to the array if there are argument spaces available. The defined set of separator strings will be repeated, as a complete set, as long as there are argument spaces available. The last defined termination string will be added to the array. All antecedent termination strings are optional, meaning they will only be added to the array if there are argument spaces available.
        getDatabaseStrings in class ExpressionOperator
      • getNumberOfItems

        public int getNumberOfItems()
      • setNumberOfItems

        public void setNumberOfItems​(int numberOfItems)
      • getStartStrings

        public java.lang.String[] getStartStrings()
      • setStartString

        public void setStartString​(java.lang.String startString)
      • setStartStrings

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

        public java.lang.String[] getSeparators()
      • setSeparator

        public void setSeparator​(java.lang.String separator)
      • setSeparators

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

        public java.lang.String[] getTerminationStrings()
      • setTerminationString

        public void setTerminationString​(java.lang.String terminationString)
      • setTerminationStrings

        public void setTerminationStrings​(java.lang.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.
        isComplete in class ExpressionOperator