org.eclipse.swordfish.core
Interface Interceptor

All Known Implementing Classes:
AbstractInterceptor, CompressionInterceptor, CxfDecoratingInterceptor, EndpointResolverInterceptor, LoggingInterceptor

public interface Interceptor

The base interceptor interface that provides the processing logic. Interceptors are registered as OSGI services in order to be plugged into the NMR by the Swordfish core.


Field Summary
static java.lang.String TYPE_PROPERTY
          Name of the only mandatory property which must be provided when an interceptor is registered.
 
Method Summary
 java.util.Map<java.lang.String,?> getProperties()
          By using this method the implementation class can supply properties associated with the current interceptor e.g priority.
 void process(javax.jbi.messaging.MessageExchange exchange)
           
 

Field Detail

TYPE_PROPERTY

static final java.lang.String TYPE_PROPERTY
Name of the only mandatory property which must be provided when an interceptor is registered. It is used by the Strategy components plugged into the Swordfish core in order to decide if and in which place an Interceptor has to be invoked.

See Also:
Constant Field Values
Method Detail

process

void process(javax.jbi.messaging.MessageExchange exchange)
             throws SwordfishException
Parameters:
exchange - the messageExchange to be processed
Throws:
java.lang.RuntimeException - if the processing error occurred and some specific error handling activities should take place in the InterceptorExceptionListener
SwordfishException

getProperties

java.util.Map<java.lang.String,?> getProperties()
By using this method the implementation class can supply properties associated with the current interceptor e.g priority. These properties are merged with the properties provided at OSGI service registration and via Swordfish configuration. Details see at FilterStrategy#filter(java.util.List, ReadOnlyRegistry, java.util.List) and SortingStrategy#sort(java.util.List, ReadOnlyRegistry, java.util.List).

Returns:
Properties in a Map of String keys and arbitrary values.