1 10 package mondrian.udf; 11 12 import mondrian.olap.*; 13 import mondrian.olap.type.*; 14 import mondrian.spi.UserDefinedFunction; 15 import mondrian.util.*; 16 17 import java.util.*; 18 import java.util.regex.*; 19 20 26 public class MatchesUdf implements UserDefinedFunction { 27 28 public Object execute(Evaluator evaluator, Argument[] arguments) { 29 30 Object arg0 = arguments[0].evaluateScalar(evaluator); 31 Object arg1 = arguments[1].evaluateScalar(evaluator); 32 33 return Boolean.valueOf(Pattern.matches((String )arg1, (String )arg0)); 34 } 35 36 public String getDescription() { 37 return "Returns true if the string matches the regular expression."; 38 } 39 40 public String getName() { 41 return "MATCHES"; 42 } 43 44 public Type[] getParameterTypes() { 45 return new Type[] { 46 new StringType(), 47 new StringType() 48 }; 49 } 50 51 public String [] getReservedWords() { 52 return null; 54 } 55 56 public Type getReturnType(Type[] parameterTypes) { 57 return new BooleanType(); 58 } 59 60 public Syntax getSyntax() { 61 return Syntax.Infix; 62 } 63 64 } 65 66 | Popular Tags |