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   * Convenience class that implements most of the methods in the Filter
21   * interface.
22   * 
23   * @author Adam Skogman
24   */
25  public abstract class AbstractFilter implements Filter {
26  
27      protected AbstractFilter() {
28          super();
29      }
30  
31      /***
32       * Prints the query with LDAP encoding to a stringbuffer
33       * 
34       * @param buff
35       *            The stringbuffer
36       * @return The very same stringbuffer
37       */
38      public abstract StringBuffer encode(StringBuffer buff);
39  
40      /***
41       * Encodes the filter to a string using the (@link #encode(StringBuffer)
42       * method.
43       * 
44       * @return The encoded filter
45       */
46      public String encode() {
47          StringBuffer buff = new StringBuffer(256);
48          buff = encode(buff);
49          return buff.toString();
50      }
51  
52      /***
53       * @see java.lang.Object#toString()
54       */
55      public String toString() {
56          return encode();
57      }
58  }