Package org.apache.felix.utils.filter
Class FilterImpl
java.lang.Object
org.apache.felix.utils.filter.FilterImpl
- All Implemented Interfaces:
org.osgi.framework.Filter
This filter implementation is based on the official OSGi filter with additional
support for the SUPERSET (>*) and SUBSET (<*) operators.
This filter also has a few optimizations (cached transformation).
-
Method Summary
Modifier and TypeMethodDescriptionbooleanCompares thisFilterto anotherFilter.inthashCode()Returns the hashCode for thisFilter.booleanmatch(Dictionary dictionary) Filter using aDictionary.booleanmatch(org.osgi.framework.ServiceReference reference) Filter using a service's properties.booleanmatchCase(Dictionary dictionary) Filter with case sensitivity using aDictionary.booleanFilter using aMap.booleanFilter using aMap.static FilterImplnewInstance(String filterString) Constructs aFilterImplobject.static FilterImplnewInstance(String filterString, boolean ignoreCase) toString()Returns thisFilter's filter string.
-
Method Details
-
newInstance
public static FilterImpl newInstance(String filterString) throws org.osgi.framework.InvalidSyntaxException Constructs aFilterImplobject. This filter object may be used to match aServiceReferenceor a Dictionary.If the filter cannot be parsed, an
InvalidSyntaxExceptionwill be thrown with a human readable message where the filter became unparsable.- Parameters:
filterString- the filter string.- Returns:
- A new filter
- Throws:
org.osgi.framework.InvalidSyntaxException- If the filter parameter contains an invalid filter string that cannot be parsed.
-
newInstance
public static FilterImpl newInstance(String filterString, boolean ignoreCase) throws org.osgi.framework.InvalidSyntaxException - Throws:
org.osgi.framework.InvalidSyntaxException
-
match
public boolean match(org.osgi.framework.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 case insensitively matched with thisFilter.- Specified by:
matchin interfaceorg.osgi.framework.Filter- Parameters:
reference- The reference to the service whose properties are used in the match.- Returns:
trueif the service's properties match thisFilter;falseotherwise.
-
match
Filter using aDictionary. ThisFilteris executed using the specifiedDictionary's keys and values. The keys are case insensitively matched with thisFilter.- Specified by:
matchin interfaceorg.osgi.framework.Filter- Parameters:
dictionary- TheDictionarywhose keys are used in the match.- Returns:
trueif theDictionary's keys and values match this filter;falseotherwise.- Throws:
IllegalArgumentException- Ifdictionarycontains case variants of the same key name.
-
matchCase
Filter with case sensitivity using aDictionary. ThisFilteris executed using the specifiedDictionary's keys and values. The keys are case sensitively matched with thisFilter.- Specified by:
matchCasein interfaceorg.osgi.framework.Filter- Parameters:
dictionary- TheDictionarywhose keys are used in the match.- Returns:
trueif theDictionary's keys and values match this filter;falseotherwise.- Since:
- 1.3
-
matchCase
Filter using aMap. ThisFilteris executed using the specifiedMap's keys and values. The keys are case insensitively matched with thisFilter.- Parameters:
map- TheMapwhose keys are used in the match.- Returns:
trueif theMap's keys and values match this filter;falseotherwise.- Throws:
IllegalArgumentException- Ifmapcontains case variants of the same key name.
-
matches
Filter using aMap. ThisFilteris executed using the specifiedMap's keys and values. The keys are looked up in a normal manner respecting case.- Specified by:
matchesin interfaceorg.osgi.framework.Filter- 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
-
toString
Returns thisFilter's filter string.The filter string is normalized by removing whitespace which does not affect the meaning of the filter.
-
equals
Compares thisFilterto anotherFilter.This implementation returns the result of calling
this.toString().equals(obj.toString(). -
hashCode
public int hashCode()Returns the hashCode for thisFilter.This implementation returns the result of calling
this.toString().hashCode().
-