Package org.osgi.framework
Interface Filter
-
@ProviderType public interface Filter
An RFC 1960-based Filter.Filter
s can be created by callingBundleContext.createFilter(String)
orFrameworkUtil.createFilter(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 theFilter
.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
- See Also:
- "Core Specification, Filters, for a description of the filter string syntax."
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Compares thisFilter
to anotherFilter
.int
hashCode()
Returns the hashCode for thisFilter
.boolean
match(java.util.Dictionary<java.lang.String,?> dictionary)
Filter using aDictionary
with case insensitive key lookup.boolean
match(ServiceReference<?> reference)
Filter using a service's properties.boolean
matchCase(java.util.Dictionary<java.lang.String,?> dictionary)
Filter using aDictionary
.boolean
matches(java.util.Map<java.lang.String,?> map)
Filter using aMap
.java.lang.String
toString()
Returns thisFilter
's filter string.
-
-
-
Method Detail
-
match
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 looked up in a case insensitive manner.- Parameters:
reference
- The reference to the service whose properties are used in the match.- Returns:
true
if the service's properties match thisFilter
;false
otherwise.
-
match
boolean match(java.util.Dictionary<java.lang.String,?> dictionary)
Filter using aDictionary
with case insensitive key lookup. ThisFilter
is executed using the specifiedDictionary
's keys and values. The keys are looked up in a case insensitive manner.- Parameters:
dictionary
- TheDictionary
whose key/value pairs are used in the match.- Returns:
true
if theDictionary
's values match this filter;false
otherwise.- Throws:
java.lang.IllegalArgumentException
- Ifdictionary
contains case variants of the same key name.
-
toString
java.lang.String toString()
Returns thisFilter
's filter string.The filter string is normalized by removing whitespace which does not affect the meaning of the filter.
- Overrides:
toString
in classjava.lang.Object
- Returns:
- This
Filter
's filter string.
-
equals
boolean equals(java.lang.Object obj)
Compares thisFilter
to anotherFilter
.This implementation returns the result of calling
this.toString().equals(obj.toString())
.- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- The object to compare against thisFilter
.- Returns:
- If the other object is a
Filter
object, then returns the result of callingthis.toString().equals(obj.toString())
;false
otherwise.
-
hashCode
int hashCode()
Returns the hashCode for thisFilter
.This implementation returns the result of calling
this.toString().hashCode()
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- The hashCode of this
Filter
.
-
matchCase
boolean matchCase(java.util.Dictionary<java.lang.String,?> dictionary)
Filter using aDictionary
. ThisFilter
is executed using the specifiedDictionary
's keys and values. The keys are looked up in a normal manner respecting case.- Parameters:
dictionary
- TheDictionary
whose key/value pairs are used in the match.- Returns:
true
if theDictionary
's values match this filter;false
otherwise.- Since:
- 1.3
-
matches
boolean matches(java.util.Map<java.lang.String,?> map)
Filter using aMap
. ThisFilter
is executed using the specifiedMap
's keys and values. The keys are looked up in a normal manner respecting case.- Parameters:
map
- TheMap
whose key/value pairs are used in the match. Maps withnull
key or values are not supported. Anull
value is considered not present to the filter.- Returns:
true
if theMap
's values match this filter;false
otherwise.- Since:
- 1.6
-
-