blob: dc78260098410be656911eec462d49f67fff9a04 [file] [log] [blame]
Umesh Krishnaswamy345ee992012-12-13 20:29:48 -08001/**
2* Copyright 2011, Big Switch Networks, Inc.
3* Originally created by David Erickson, Stanford University
4*
5* Licensed under the Apache License, Version 2.0 (the "License"); you may
6* not use this file except in compliance with the License. You may obtain
7* a copy of the License at
8*
9* http://www.apache.org/licenses/LICENSE-2.0
10*
11* Unless required by applicable law or agreed to in writing, software
12* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14* License for the specific language governing permissions and limitations
15* under the License.
16**/
17
18package net.floodlightcontroller.storage;
19
20/** Predicate class to specify rows by equality or comparison operations
21 * of column values. The Storage API uses the special column name of "id"
22 * to specify the primary key values for the row.
23 *
24 * @author rob
25 */
26public class OperatorPredicate implements IPredicate {
27
28 public enum Operator { EQ, LT, LTE, GT, GTE };
29
30 private String columnName;
31 private Operator operator;
32 private Comparable<?> value;
33
34 public OperatorPredicate(String columnName, Operator operator, Comparable<?> value) {
35 this.columnName = columnName;
36 this.operator = operator;
37 this.value = value;
38 }
39
40 public String getColumnName() {
41 return columnName;
42 }
43
44 public Operator getOperator() {
45 return operator;
46 }
47
48 public Comparable<?> getValue() {
49 return value;
50 }
51}