class BeamSqlNotExpression extends BeamSqlLogicalExpression {

  @Override
  public BeamSqlPrimitive evaluate(
      Row inputRow, BoundedWindow window, BeamSqlExpressionEnvironment env) {
    Boolean value = (Boolean) opValueEvaluated(0, inputRow, window, env);
    if (value == null) {
      return BeamSqlPrimitive.of(SqlTypeName.BOOLEAN, window);
    } else {
      return BeamSqlPrimitive.of(SqlTypeName.BOOLEAN, !value);
    }
  }

  public  BeamSqlNotExpression(List<BeamSqlExpression> operands);

}