KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensugar > cube > ldap > EqualsClause


1 /*
2  * JEFFREE: Java(TM) Embedded Framework FREE
3  * Copyright (C) 1999-2003 - Opensugar
4  *
5  * The contents of this file are subject to the Jeffree Public License,
6  * as defined by the file JEFFREE_LICENSE.TXT
7  *
8  * You may not use this file except in compliance with the License.
9  * You may obtain a copy of the License on the Objectweb web site
10  * (www.objectweb.org).
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
14  * the specific terms governing rights and limitations under the License.
15  *
16  * The Original Code is JEFFREE, including the java package com.opensugar.cube,
17  * released January 1, 2003.
18  *
19  * The Initial Developer of the Original Code is Opensugar.
20  * The Original Code is Copyright Opensugar.
21  * All Rights Reserved.
22  *
23  * Initial developer(s): Pierre Scokaert (Opensugar)
24  * Contributor(s):
25  */

26
27 package com.opensugar.cube.ldap;
28
29 import java.util.Dictionary JavaDoc;
30 import java.util.Vector JavaDoc;
31
32 // checks string equality (case-sensitive)
33
public class EqualsClause extends SimpleClause {
34
35    public EqualsClause( String JavaDoc key, String JavaDoc value, boolean keysCaseSensitive ) {
36       super( key, value, keysCaseSensitive );
37    }
38
39    public boolean filter( Dictionary JavaDoc props ) {
40       Object JavaDoc obj = getProperty( getKey(), props );
41       if ( obj == null ) {
42          return false;
43       }
44
45       if ( obj instanceof Object JavaDoc[] || obj instanceof Vector JavaDoc ) {
46          int[] result = compareSets( obj, getValue() );
47          int ret = Integer.MAX_VALUE;
48          for ( int i = 0; i < result.length; i++ ) {
49             if ( Math.abs( result[ i ] ) < ret ) {
50                ret = Math.abs( result[ i ] );
51             }
52          }
53          return ret == 0;
54       }
55
56       return compare( obj, getValue() ) == 0;
57    }
58
59    public String JavaDoc getCanonicalForm() {
60       return "(" + getKey() + Filter.EQUALS + getValue() + ")";
61    }
62
63 }
64
Popular Tags