org.eclipse.swordfish.core.planner.strategy
Interface FilterStrategy

All Superinterfaces:
Strategy
All Known Implementing Classes:
CoreFilterStrategy, FilterStrategyImpl, PolicyBasedFilterStrategy

public interface FilterStrategy
extends Strategy

The strategy that can remove some interceptors from the interceptor chain based on the supplied hints. Supposed to be plugged into the Swordfish framework as an osgi service.


Method Summary
 java.util.List<Interceptor> filter(java.util.List<Interceptor> interceptors, ReadOnlyRegistry<Interceptor> registry, java.util.List<Hint<?>> hints)
          Create and return an interceptor chain with the interceptors which shall process subsequent message exchanges.
 
Methods inherited from interface org.eclipse.swordfish.core.planner.strategy.Strategy
getPriority
 

Method Detail

filter

java.util.List<Interceptor> filter(java.util.List<Interceptor> interceptors,
                                   ReadOnlyRegistry<Interceptor> registry,
                                   java.util.List<Hint<?>> hints)
Create and return an interceptor chain with the interceptors which shall process subsequent message exchanges. The following rules apply for filtering:

Parameters:
interceptors - - the interceptor chain to be filtered. This original List will not be modified.
registry - - the interceptor registry containing property data for the interceptors of the chain using the corresponding interceptor instance as key. The properties are merged by Swordfish from the properties returned by the getProperties() method of the interceptor, the property dictionary provided at OSGI service registration, and the Swordfish configuration. Values from the Swordfish configuration have precedence over those provided at OSGI service registration. Hard-coded properties from the getProperties() method have lowest precedence.
hints - - If a HintExtractor has been registered, the List of Hints extracted from the current message exchange is provided in this argument. Otherwise, it is null.
Returns:
the filtered interceptor chain (must not be null).