Adds methods handling 'filter' and 'limit' expressions
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / Expression.java
index 3e93e49..3c377e2 100644 (file)
@@ -1,28 +1,59 @@
 package com.indexdata.mkjsf.pazpar2.commands;\r
 \r
 import java.io.Serializable;\r
+import java.util.StringTokenizer;\r
+\r
+import org.apache.log4j.Logger;\r
 \r
 import com.indexdata.mkjsf.pazpar2.commands.Expression;\r
 \r
 public class Expression implements Serializable {\r
   \r
   private static final long serialVersionUID = -751704027842027769L;\r
+  private static Logger logger = Logger.getLogger(Expression.class);\r
   String leftEntity;\r
   String operator;\r
   String rightEntity;\r
-  public Expression (String leftEntity, String operator, String rightEntity) {\r
+  String label;  \r
+  \r
+  public Expression (String leftEntity, String operator, String rightEntity, String label) {\r
     this.leftEntity = leftEntity;\r
     this.operator = operator;\r
     this.rightEntity = rightEntity;    \r
+    this.label = label;\r
+  }\r
+  \r
+  public Expression (String expressionString) {\r
+    StringTokenizer tokenizer = new StringTokenizer(expressionString,"=");\r
+    this.leftEntity = tokenizer.nextToken();\r
+    this.operator = "=";\r
+    this.rightEntity = tokenizer.nextToken();\r
+    this.label=rightEntity;\r
   }\r
   \r
   public Expression copy() {\r
-    return new Expression(leftEntity,operator,rightEntity);\r
+    logger.trace("Copying " + this.toString());\r
+    return new Expression(leftEntity, operator, rightEntity, label);\r
   }\r
   \r
   public String toString() {\r
     return leftEntity + operator + rightEntity;\r
   }\r
   \r
-\r
+  public String getLabel() {\r
+    return label;\r
+  }\r
+  \r
+  public String getField () {\r
+    return leftEntity;\r
+  }\r
+  \r
+  public String getOperator() {\r
+    return operator;\r
+  }\r
+  \r
+  public String getValue() {\r
+    return rightEntity;\r
+  }\r
+  \r
 }\r