Package org.pentaho.reporting.libraries.formula.operators

## Class ConcatOperator

- java.lang.Object
- - org.pentaho.reporting.libraries.formula.operators.ConcatOperator

- All Implemented Interfaces:
    `java.io.Serializable`, `InfixOperator`

      public class ConcatOperator
      extends java.lang.Object
      implements InfixOperator

  Concats two strings operator.
  Author:
    Thomas Morgner
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ConcatOperator()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TypeValuePair` | `evaluate​(FormulaContext context, TypeValuePair value1, TypeValuePair value2)` | Evaluates the comptuation for both parameters.
    `int` | `getLevel()` |
    `boolean` | `isAssociative()` | Defines, whether the operation is associative.
    `boolean` | `isLeftOperation()` | Defines the bind-direction of the operator.
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ConcatOperator

          public ConcatOperator()

  - ### Method Detail

    - #### evaluate

          public TypeValuePair evaluate​(FormulaContext context,
                                        TypeValuePair value1,
                                        TypeValuePair value2)
                                 throws EvaluationException

      Description copied from interface: `InfixOperator`
      Evaluates the comptuation for both parameters. This method must never return null.
      Specified by:
        `evaluate` in interface `InfixOperator`
      Returns:
      Throws:
        `EvaluationException`

    - #### getLevel

          public int getLevel()

      Specified by:
        `getLevel` in interface `InfixOperator`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### isLeftOperation

          public boolean isLeftOperation()

      Description copied from interface: `InfixOperator`
      Defines the bind-direction of the operator. That direction defines, in which direction a sequence of equal operators is resolved.
      Specified by:
        `isLeftOperation` in interface `InfixOperator`
      Returns:
        true, if the operation is left-binding, false if right-binding

    - #### isAssociative

          public boolean isAssociative()

      Defines, whether the operation is associative. For associative operations, the evaluation order does not matter, if the operation appears more than once in an expression, and therefore we can optimize them a lot better than non-associative operations (ie. merge constant parts and precompute them once).
      Specified by:
        `isAssociative` in interface `InfixOperator`
      Returns:
        true, if the operation is associative, false otherwise