View Javadoc

1   package uba.db.sql.language;
2   
3   import org.apache.commons.lang.builder.EqualsBuilder;
4   import org.apache.commons.lang.builder.HashCodeBuilder;
5   
6   /***
7    * Representa un criterio de selección (ver
8    * {@link uba.db.sql.language.SelectionCriteria}), que contiene una expresión
9    * booleana.
10   * 
11   * @version $Revision: 1.11 $
12   */
13  public class SingleSelectionCriteria extends SelectionCriteriaBehavior {
14      private BooleanValue expression;
15  
16      /***
17       * Crea un criterio de selección para una expresión booleana.
18       * 
19       * @param expression
20       *            expresión booleana que utilizará el criterio de selección.
21       */
22      public SingleSelectionCriteria(BooleanValue expression) {
23          this.expression = expression;
24      }
25  
26      /***
27       * @see java.lang.Object#hashCode()
28       */
29      public int hashCode() {
30          return HashCodeBuilder.reflectionHashCode(this);
31      }
32  
33      /***
34       * @see java.lang.Object#equals(java.lang.Object)
35       */
36      public boolean equals(Object obj) {
37          return EqualsBuilder.reflectionEquals(this, obj);
38      }
39  
40      /***
41       * @see java.lang.Object#toString()
42       */
43      public String toString() {
44          return expression.toString();
45      }
46  
47      /***
48       * @see uba.db.sql.language.Visitable#accept(uba.db.sql.language.Visitor)
49       */
50      public void accept(Visitor visitor) {
51          visitor.visitSingleSelectionCriteria(this);
52      }
53  
54      /***
55       * Retorna la expresión booleana que contiene es criterio de selección.
56       */
57      public BooleanValue expression() {
58          return expression;
59      }
60  
61      /***
62       * @see uba.db.sql.language.SelectionCriteria#valueWith(uba.db.sql.language.EvaluationContext)
63       */
64      public Object valueWith(EvaluationContext context) {
65          return expression.valueWith(context);
66      }
67  }