View Javadoc

1   package  org.odbms;
2   
3   /* Copyright 2002-2005 The Apache Software Foundation
4    *
5    * Licensed under the Apache License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain 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,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  /**
19   * constraint for a single query node.  
20   * <br><br>A Constraint is associated with one single <code>Query</code> node 
21   * - a single member of a class.<br><br>
22   * Constraints are constructed by calling 
23   * <a href="Query.html#constrain(java.lang.object)">
24   * <code>Query.constrain()</code></a>.
25   * <br><br>
26   * Constraints can be joined with the methods and() and or().<br><br>
27   * The following mutual exclusive functions set the evaluation mode.
28   * The subsequent call prevails:<br>
29   * identity(), equal(), greater(), greaterOrEqual(), smaller(), 
30   * smallerOrEqual(), like(), contains()<br><br>
31   * is(), and not() are also mutually exclusive.<br><br>
32   */
33  public interface Constraint {
34  
35      /**
36  	 * links two Constraints for AND evaluation
37       * @param andWith the other Constraint
38       * @return a new Constraint, that can be used for further calls to and() and or()
39       */
40      public Constraint and (Constraint andWith);
41  
42  
43  
44      /**
45  	 * links two Constraints for OR evaluation
46       * @param orWith the other Constraint
47       * @return a new Constraint, that can be used for further calls to and() and or()
48       */
49      public Constraint or (Constraint orWith);
50  
51  
52  
53      /**
54       * sets the evaluation mode to "=="
55       * @return this Constraint to allow the chaining of method calls
56       */
57      public Constraint equal ();
58  
59  
60  
61      /**
62       * sets the evaluation mode to ">"
63       * @return this Constraint to allow the chaining of method calls
64       */
65      public Constraint greater ();
66  
67  
68  
69      /**
70       * sets the evaluation mode to ">="
71       * @return this Constraint to allow the chaining of method calls
72       */
73      public Constraint greaterOrEqual ();
74  
75  
76  
77      /**
78       * sets the evaluation mode to "<"
79       * @return this Constraint to allow the chaining of method calls
80       */
81      public Constraint smaller ();
82  
83  
84  
85      /**
86       * sets the evaluation mode to "<="
87       * @return this Constraint to allow the chaining of method calls
88       */
89      public Constraint smallerOrEqual ();
90  
91  
92      /**
93       * sets the evaluation mode to identity comparison
94       * @return this Constraint to allow the chaining of method calls
95       */
96      public Constraint identity ();
97  	
98  	
99      /**
100      * sets the evaluation mode to "like" comparison
101      * @return this Constraint to allow the chaining of method calls
102      */
103     public Constraint like ();
104 	
105 	
106     /**
107      * sets the evaluation mode to containment comparison
108      * @return this Constraint to allow the chaining of method calls
109      */
110     public Constraint contains ();
111 
112 
113     /**
114      * turns off not() comparison
115      * @return this Constraint to allow the chaining of method calls
116      */
117     public Constraint is ();
118 
119 
120 
121     /**
122      * turns on not() comparison
123      * @return this Constraint to allow the chaining of method calls
124      */
125     public Constraint not ();
126 }
127