Package org.osgi.framework
Interface Filter
-
- All Known Implementing Classes:
FrameworkUtil.FilterImpl
@ProviderType public interface FilterAn RFC 1960-based Filter.Filters can be created by callingBundleContext.createFilter(String)orFrameworkUtil.createFilter(String)with a filter string.A
Filtercan 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 booleanequals(java.lang.Object obj)Compares thisFilterto anotherFilter.inthashCode()Returns the hashCode for thisFilter.booleanmatch(java.util.Dictionary<java.lang.String,?> dictionary)Filter using aDictionarywith case insensitive key lookup.booleanmatch(ServiceReference<?> reference)Filter using a service's properties.booleanmatchCase(java.util.Dictionary<java.lang.String,?> dictionary)Filter using aDictionary.booleanmatches(java.util.Map<java.lang.String,?> map)Filter using aMap.java.lang.StringtoString()Returns thisFilter's filter string.
-
-
-
Method Detail
-
match
boolean match(ServiceReference<?> reference)
Filter using a service's properties.This
Filteris 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:
trueif the service's properties match thisFilter;falseotherwise.
-
match
boolean match(java.util.Dictionary<java.lang.String,?> dictionary)
Filter using aDictionarywith case insensitive key lookup. ThisFilteris executed using the specifiedDictionary's keys and values. The keys are looked up in a case insensitive manner.- Parameters:
dictionary- TheDictionarywhose key/value pairs are used in the match.- Returns:
trueif theDictionary's values match this filter;falseotherwise.- Throws:
java.lang.IllegalArgumentException- Ifdictionarycontains 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:
toStringin classjava.lang.Object- Returns:
- This
Filter's filter string.
-
equals
boolean equals(java.lang.Object obj)
Compares thisFilterto anotherFilter.This implementation returns the result of calling
this.toString().equals(obj.toString()).- Overrides:
equalsin classjava.lang.Object- Parameters:
obj- The object to compare against thisFilter.- Returns:
- If the other object is a
Filterobject, then returns the result of callingthis.toString().equals(obj.toString());falseotherwise.
-
hashCode
int hashCode()
Returns the hashCode for thisFilter.This implementation returns the result of calling
this.toString().hashCode().- Overrides:
hashCodein classjava.lang.Object- Returns:
- The hashCode of this
Filter.
-
matchCase
boolean matchCase(java.util.Dictionary<java.lang.String,?> dictionary)
Filter using aDictionary. ThisFilteris executed using the specifiedDictionary's keys and values. The keys are looked up in a normal manner respecting case.- Parameters:
dictionary- TheDictionarywhose key/value pairs are used in the match.- Returns:
trueif theDictionary's values match this filter;falseotherwise.- Since:
- 1.3
-
matches
boolean matches(java.util.Map<java.lang.String,?> map)
Filter using aMap. ThisFilteris executed using the specifiedMap's keys and values. The keys are looked up in a normal manner respecting case.- Parameters:
map- TheMapwhose key/value pairs are used in the match. Maps withnullkey or values are not supported. Anullvalue is considered not present to the filter.- Returns:
trueif theMap's values match this filter;falseotherwise.- Since:
- 1.6
-
-