class BeamSqlTrimExpression extends BeamSqlExpression {

  @Override
  public boolean accept() {
    if (operands.size() != 1 && operands.size() != 3) {
      return false;
    }

    if (operands.size() == 1 && !SqlTypeName.CHAR_TYPES.contains(opType(0))) {
      return false;
    }

    if (operands.size() == 3
        && (SqlTypeName.SYMBOL != opType(0)
            || !SqlTypeName.CHAR_TYPES.contains(opType(1))
            || !SqlTypeName.CHAR_TYPES.contains(opType(2)))) {
      return false;
    }

    return true;
  }

  public  BeamSqlTrimExpression(List<BeamSqlExpression> operands);

}