Knopflerfish OSGi 3.5.0

org.osgi.framework
Interface Filter


public interface Filter

An RFC 1960-based Filter.

Filters can be created by calling BundleContext.createFilter(java.lang.String) or FrameworkUtil.createFilter(java.lang.String) with a filter string.

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

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
Version:
$Revision: 6860 $
See Also:
"Core Specification, section 5.5, for a description of the filter string syntax."
ThreadSafe

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

Method Detail

match

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

This Filter is executed using the keys and values of the referenced service's properties. The keys are case insensitively matched with this Filter.

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. This Filter is executed using the specified Dictionary's keys and values. The keys are case insensitively matched with this Filter.

Parameters:
dictionary - The Dictionary whose keys are used in the match.
Returns:
true if the Dictionary'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's filter string.

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

Returns:
This Filter's filter string.

equals

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

This method returns the result of calling this.toString().equals(obj.toString()).

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

hashCode

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

This method returns the result of calling this.toString().hashCode().

Returns:
The hashCode of this Filter.

matchCase

public boolean matchCase(java.util.Dictionary dictionary)
Filter with case sensitivity using a Dictionary. This Filter is executed using the specified Dictionary's keys and values. The keys are case sensitively matched with this Filter.

Parameters:
dictionary - The Dictionary whose keys are used in the match.
Returns:
true if the Dictionary's keys and values match this filter; false otherwise.
Since:
1.3

Knopflerfish OSGi 3.5.0