[Mulgara-svn] r1752 - trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst

pag at mulgara.org pag at mulgara.org
Fri Jul 3 17:35:48 UTC 2009


Author: pag
Date: 2009-07-03 10:35:47 -0700 (Fri, 03 Jul 2009)
New Revision: 1752

Added:
   trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/VarAssign.java
Log:
Missed the new CST class for variable assignment in commit 1751

Added: trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/VarAssign.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/VarAssign.java	                        (rev 0)
+++ trunk/src/jar/querylang/java/org/mulgara/sparql/parser/cst/VarAssign.java	2009-07-03 17:35:47 UTC (rev 1752)
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2009 Fedora Commons
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.mulgara.sparql.parser.cst;
+
+import java.util.LinkedList;
+import java.util.List;
+
+
+/**
+ * Represents the assignment of a variable.
+ *
+ * @created July 2, 2009
+ * @author Paul Gearon
+ * @copyright &copy; 2008 <a href="http://www.fedora-commons.org/">Fedora Commons</a>
+ * @licence <a href="{@docRoot}/../LICENCE.txt">Apache License, Version 2.0</a>
+ */
+public class VarAssign extends BasicGraphPattern {
+
+  /** The main pattern */
+  GroupGraphPattern main;
+
+  /** The variable to be assigned */
+  Variable var;
+
+  /** The expression to assign to the variable */
+  Expression expr;
+
+  /**
+   * Build an optional join out of two GroupGraphPatterns.
+   * @param main The main pattern to be matched
+   * @param optional The pattern to be optionally matched
+   */
+  public VarAssign(GroupGraphPattern main, Variable var, Expression expr) {
+    this.main = main;
+    this.var = var;
+    this.expr = expr;
+  }
+
+  /**
+   * @return the main pattern
+   */
+  public GroupGraphPattern getMain() {
+    return main;
+  }
+
+  /**
+   * @return the variable
+   */
+  public Variable getVar() {
+    return var;
+  }
+
+  /**
+   * @return the expression
+   */
+  public Expression getExpression() {
+    return expr;
+  }
+
+  /**
+   * @see org.mulgara.sparql.parser.cst.BasicGraphPattern#getElements()
+   */
+  @Override
+  public List<GroupGraphPattern> getElements() {
+    List<GroupGraphPattern> result = new LinkedList<GroupGraphPattern>();
+    result.add(main);
+    return result;
+  }
+
+  /**
+   * @see org.mulgara.sparql.parser.cst.BasicGraphPattern#getImage()
+   */
+  @Override
+  public String getImage() {
+    return addPatterns(main.getImage() + " LET ( " + var.getImage() + " := " + expr.getImage() + " )");
+  }
+
+}




More information about the Mulgara-svn mailing list