View Javadoc

1   /*
2    * Copyright 2000-2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.portals.graffito.search;
17  
18  import java.util.Collection;
19  
20  /***
21   * 
22   * Graffito Filter interface.
23   *
24   * @version $Ip:  Exp $
25   *
26   */
27  public interface Filter
28  {
29      
30      /***
31       * Set the filter scope. The scope is an URI prefix specifying where to search in the content tree.
32       * For example, if the scope is '/myserver1/myfolder', the search engine will search all objects
33       * which are located below '/myserver1/myfolder'.
34       * 
35       * @param scope The filter scope
36       *  
37       */
38      public void setScope(String scope);
39      
40      /***
41       * Get the filter scope.
42       * 
43       * @return The filter scope
44       */
45      public String getScope();
46      
47      /***
48       * Search content based on a fullTextSearch. 
49       * Depending on the full text search engine, you can also filter on properties.
50       * 
51       * @param fullTextSearch The full text search string  
52       */
53      public void addFullTextSearch(String fullTextSearch);
54  
55      /***
56       * Search content based on a fullTextSearch. 
57       * Depending on the full text search engine, you can also filter on properties.
58       * 
59       * @param fullTextSearch The full text search string
60       * @param field The field to be searched  
61       */    
62      public void addFullTextSearch(String fullTextSearch, String field);
63      
64      /***
65       * Get the full text search field
66       * @return
67       */
68      public String getSearchField();
69      
70  	/***
71  	 * @see org.apache.ojb.broker.query.Criteria#addBetween(java.lang.String, java.lang.Object, java.lang.Object)
72  	 */
73  	public void addBetween(String arg0, Object arg1, Object arg2);
74  
75  	/***
76  	 * @see org.apache.ojb.broker.query.Criteria#addEqualTo(java.lang.String, java.lang.Object)
77  	 */
78  	public void addEqualTo(String arg0, Object arg1);
79  
80  	/***
81  	 * @see org.apache.ojb.broker.query.Criteria#addGreaterOrEqualThan(java.lang.String, java.lang.Object)
82  	 */
83  	public void addGreaterOrEqualThan(String arg0, Object arg1);
84  
85  	/***
86  	 * @see org.apache.ojb.broker.query.Criteria#addGreaterThan(java.lang.String, java.lang.Object)
87  	 */
88  	public void addGreaterThan(String arg0, Object arg1);
89  
90  	/***
91  	 * @see org.apache.ojb.broker.query.Criteria#addIn(java.lang.String, java.util.Collection)
92  	 */      
93  	public void addIn(String attribute, Collection values);
94  
95  	/***
96  	 * @see org.apache.ojb.broker.query.Criteria#addLessOrEqualThan(java.lang.String, java.lang.Object)
97  	 */
98  	public void addLessOrEqualThan(String arg0, Object arg1);
99  
100 	/***
101 	 * @see org.apache.ojb.broker.query.Criteria#addLike(java.lang.Object, java.lang.Object)
102 	 */
103 	public void addLike(Object arg0, Object arg1);
104 
105 	/***
106 	 * @see org.apache.ojb.broker.query.Criteria#addNotBetween(java.lang.String, java.lang.Object, java.lang.Object)
107 	 */
108 	public abstract void addNotBetween(String arg0, Object arg1, Object arg2);
109 
110 	/***
111 	 * @see org.apache.ojb.broker.query.Criteria#addNotEqualTo(java.lang.String, java.lang.Object)
112 	 */
113 	public void addNotEqualTo(String arg0, Object arg1);
114 
115 	/***
116 	 * @see org.apache.ojb.broker.query.Criteria#addNotLike(java.lang.String, java.lang.Object)
117 	 */
118 	public void addNotLike(String arg0, Object arg1);
119 
120 	/***
121 	 * @see org.apache.ojb.broker.query.Criteria#addNotNull(java.lang.String)
122 	 */
123 	public void addNotNull(String arg0);
124 
125 	public void addIsNull(String arg0);
126 	
127 	/***
128 	 * @see org.apache.ojb.broker.query.Criteria#addOrCriteria(org.apache.ojb.broker.query.Criteria)
129 	 */
130 	public void addOrFilter(Filter arg0);
131 
132 	/***
133 	 * @see org.apache.ojb.broker.query.Criteria#addOrderByAscending(java.lang.String)
134 	 */
135 	public void addOrderByAscending(String arg0);
136 
137 	/***
138 	 * @see org.apache.ojb.broker.query.Criteria#addOrderByDescending(java.lang.String)
139 	 */
140 	public void addOrderByDescending(String arg0);
141 
142 }