net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsqlparser Show documentation
Show all versions of jsqlparser Show documentation
JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes.
The generated hierarchy can be navigated using the Visitor Pattern.
The newest version!
/*-
* #%L
* JSQLParser library
* %%
* Copyright (C) 2004 - 2019 JSQLParser
* %%
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
* #L%
*/
package net.sf.jsqlparser.expression.operators.relational;
import java.util.Objects;
import net.sf.jsqlparser.expression.BinaryExpression;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.ExpressionVisitor;
public class RegExpMatchOperator extends BinaryExpression {
private RegExpMatchOperatorType operatorType;
public RegExpMatchOperator(RegExpMatchOperatorType operatorType) {
this.operatorType = Objects.requireNonNull(operatorType,
"The provided RegExpMatchOperatorType must not be NULL.");
}
public RegExpMatchOperatorType getOperatorType() {
return operatorType;
}
@Override
public T accept(ExpressionVisitor expressionVisitor, S context) {
return expressionVisitor.visit(this, context);
}
@Override
public String getStringExpression() {
switch (operatorType) {
case MATCH_CASESENSITIVE:
return "~";
case MATCH_CASEINSENSITIVE:
return "~*";
case NOT_MATCH_CASESENSITIVE:
return "!~";
case NOT_MATCH_CASEINSENSITIVE:
return "!~*";
default:
break;
}
return null;
}
@Override
public RegExpMatchOperator withLeftExpression(Expression arg0) {
return (RegExpMatchOperator) super.withLeftExpression(arg0);
}
@Override
public RegExpMatchOperator withRightExpression(Expression arg0) {
return (RegExpMatchOperator) super.withRightExpression(arg0);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy