OSGi™ Service Platform
Release 3

org.osgi.framework
Interface Filter


public interface Filter

An RFC 1960-based Filter.

Filter objects can be created by calling BundleContext.createFilter(java.lang.String) with the chosen filter string.

A Filter object can be used numerous times to determine if the match argument matches the filter string that was used to create the Filter object.

Some examples of LDAP filters are:

   "(cn=Babs Jensen)"
   "(!(cn=Tim Howes))"
   "(&(" + Constants.OBJECTCLASS + "=Person)(|(sn=Jensen)(cn=Babs J*)))"
   "(o=univ*of*mich*)"
 

Since:
1.1

Method Summary
 boolean equals(java.lang.Object obj)
          Compares this Filter object to another object.
 int hashCode()
          Returns the hashCode for this Filter object.
 boolean match(java.util.Dictionary dictionary)
          Filter using a Dictionary object.
 boolean match(ServiceReference reference)
          Filter using a service's properties.
 java.lang.String toString()
          Returns this Filter object's filter string.
 

Method Detail

match

public boolean match(ServiceReference reference)
Filter using a service's properties.

The filter is executed using properties of the referenced service.

Parameters:
reference - The reference to the service whose properties are used in the match.
Returns:
true if the service's properties match this filter; false otherwise.

match

public boolean match(java.util.Dictionary dictionary)
Filter using a Dictionary object. The Filter is executed using the Dictionary object's keys and values.

Parameters:
dictionary - The Dictionary object whose keys are used in the match.
Returns:
true if the Dictionary object's keys and values match this filter; false otherwise.
Throws:
java.lang.IllegalArgumentException - If dictionary contains case variants of the same key name.

toString

public java.lang.String toString()
Returns this Filter object's filter string.

The filter string is normalized by removing whitespace which does not affect the meaning of the filter.

Returns:
Filter string.

equals

public boolean equals(java.lang.Object obj)
Compares this Filter object to another object.

Parameters:
obj - The object to compare against this Filter object.
Returns:
If the other object is a Filter object, then returns this.toString().equals(obj.toString(); false otherwise.

hashCode

public int hashCode()
Returns the hashCode for this Filter object.

Returns:
The hashCode of the filter string; that is, this.toString().hashCode().

OSGi™ Service Platform
Release 3

Copyright © OSGi Alliance (2000, 2003). All Rights Reserved. Licensed under the OSGi Specification License, Version 1.0