View Javadoc

1   /*
2    * Copyright 2002-2005 the original author or authors.
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  
17  package net.sf.ldaptemplate.support.filter;
18  
19  /***
20   * Common interface for filters.
21   * 
22   * @author Adam Skogman
23   */
24  public interface Filter {
25  
26      /***
27       * Encodes the filter to a string using the (@link #encode(StringBuffer)
28       * method.
29       * 
30       * @return The encoded filter
31       */
32      public String encode();
33  
34      /***
35       * Prints the query with LDAP encoding to a stringbuffer
36       * 
37       * @param buff
38       *            The stringbuffer
39       * @return The very same stringbuffer
40       */
41      public StringBuffer encode(StringBuffer buff);
42  
43      /***
44       * All filters must implement equals.
45       * 
46       * @param o
47       * @return <code>true</code> if the objects are equal.
48       */
49      public boolean equals(Object o);
50  
51      /***
52       * All filters must implement hashCode()
53       * 
54       * @return hascode
55       */
56      public int hashCode();
57  
58  }