X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fadsal%2Fnorthbound%2Fcommons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnorthbound%2Fcommons%2Fquery%2FCompareExpression.java;fp=opendaylight%2Fadsal%2Fnorthbound%2Fcommons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnorthbound%2Fcommons%2Fquery%2FCompareExpression.java;h=6b972e641c7338529b28d41b77d1fe47e87b66b4;hb=42c32160bfd41de57189bb246fec5ffb48ed8e9e;hp=0000000000000000000000000000000000000000;hpb=edf5bfcee83c750853253ccfd991ba7000f5f65b;p=controller.git diff --git a/opendaylight/adsal/northbound/commons/src/main/java/org/opendaylight/controller/northbound/commons/query/CompareExpression.java b/opendaylight/adsal/northbound/commons/src/main/java/org/opendaylight/controller/northbound/commons/query/CompareExpression.java new file mode 100644 index 0000000000..6b972e641c --- /dev/null +++ b/opendaylight/adsal/northbound/commons/src/main/java/org/opendaylight/controller/northbound/commons/query/CompareExpression.java @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.northbound.commons.query; + +/*package*/ class CompareExpression implements Expression { + + public static enum OP { RE, EQ, NE, GT, GE, LT, LE }; + + private final OP _operation; + private final String _selector; + private final String _arg; + + public CompareExpression(OP op, String selector, String arg) { + _operation = op; + _selector = selector; + _arg = unQuote(arg); + } + + + public OP getOperator() { + return _operation; + } + + public String getSelector() { + return _selector; + } + + public String getArgument() { + return _arg; + } + + @Override + public boolean accept(Visitor visitor) throws QueryException { + return visitor.visit(this); + } + + @Override + public String toString() { + return "[" + _selector + " " + _operation + " " + _arg + "]"; + } + + private static String unQuote(String s) { + if (s.startsWith("\"") && s.endsWith("\"")) { + s = s.substring(1, s.length()-1); + } else if (s.startsWith("\'") && s.endsWith("\'")) { + s = s.substring(1, s.length()-1); + } + return s; + } + +}