org.apache.camel.impl
Class DefaultHeaderFilterStrategy

java.lang.Object
  extended by org.apache.camel.impl.DefaultHeaderFilterStrategy
All Implemented Interfaces:
HeaderFilterStrategy

public class DefaultHeaderFilterStrategy
extends Object
implements HeaderFilterStrategy

The default header filtering strategy. Users can configure filter by setting filter set and/or setting a regular expression. Subclass can add extended filter logic in extendedFilter(org.apache.camel.impl.DefaultHeaderFilterStrategy.Direction, String, Object) Filters are associated with directions (in or out). "In" direction is referred to propagating headers "to" Camel message. The "out" direction is opposite which is referred to propagating headers from Camel message to a native message like JMS and CXF message. You can see example of DefaultHeaderFilterStrategy are being extended and invoked in camel-jms and camel-cxf components.

Version:
$Revision: 52554 $

Nested Class Summary
protected static class DefaultHeaderFilterStrategy.Direction
           
 
Constructor Summary
DefaultHeaderFilterStrategy()
           
 
Method Summary
 boolean applyFilterToCamelHeaders(String headerName, Object headerValue)
          Applies filtering logic to Camel Message header that is going to be copied to target message.
 boolean applyFilterToExternalHeaders(String headerName, Object headerValue)
          Applies filtering logic to an external message header message that is going to be copied to Camel message header.
protected  boolean extendedFilter(DefaultHeaderFilterStrategy.Direction direction, String key, Object value)
           
 boolean getAllowNullValues()
           
 Set<String> getInFilter()
          Gets the "in" direction filter set.
 String getInFilterPattern()
          Gets the "in" direction filter regular expression Pattern.
 boolean getIsLowercase()
          Gets the isLowercase property which is a boolean to determinte whether header names should be converted to lowercase before checking it the filter Set.
 Set<String> getOutFilter()
          Gets the "out" direction filter set.
 String getOutFilterPattern()
          Gets the "out" direction filter regular expression Pattern.
 void setAllowNullValues(boolean value)
           
 void setInFilter(Set<String> value)
          Sets the "in" direction filter set.
 void setInFilterPattern(String value)
          Sets the "in" direction filter regular expression Pattern.
 void setIsLowercase(boolean value)
          Sets the isLowercase property which is a boolean to determinte whether header names should be converted to lowercase before checking it the filter Set.
 void setOutFilter(Set<String> value)
          Sets the "out" direction filter set.
 void setOutFilterPattern(String value)
          Sets the "out" direction filter regular expression Pattern.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultHeaderFilterStrategy

public DefaultHeaderFilterStrategy()
Method Detail

applyFilterToCamelHeaders

public boolean applyFilterToCamelHeaders(String headerName,
                                         Object headerValue)
Applies filtering logic to Camel Message header that is going to be copied to target message. It returns true if the filtering logics return a match. Otherwise, it returns false. A match means the header should be excluded.

Specified by:
applyFilterToCamelHeaders in interface HeaderFilterStrategy
Parameters:
headerName -
headerValue -
Returns:
true if this header should be filtered out.

applyFilterToExternalHeaders

public boolean applyFilterToExternalHeaders(String headerName,
                                            Object headerValue)
Applies filtering logic to an external message header message that is going to be copied to Camel message header. It returns true if the filtering logics return a match. Otherwise, it returns false. A match means the header should be excluded.

Specified by:
applyFilterToExternalHeaders in interface HeaderFilterStrategy
Parameters:
headerName -
headerValue -
Returns:
true if this header should be excluded.

getOutFilter

public Set<String> getOutFilter()
Gets the "out" direction filter set. The "out" direction is referred to copying headers from a Camel message to an external message.

Returns:
a set that contains header names that should be excluded.

setOutFilter

public void setOutFilter(Set<String> value)
Sets the "out" direction filter set. The "out" direction is referred to copying headers from a Camel message to an external message.


getOutFilterPattern

public String getOutFilterPattern()
Gets the "out" direction filter regular expression Pattern. The "out" direction is referred to copying headers from Camel message to an external message. If the pattern matches a header, the header will be filtered out.

Returns:
regular expression filter pattern

setOutFilterPattern

public void setOutFilterPattern(String value)
Sets the "out" direction filter regular expression Pattern. The "out" direction is referred to copying headers from Camel message to an external message. If the pattern matches a header, the header will be filtered out.

Parameters:
value - regular expression filter pattern

getInFilter

public Set<String> getInFilter()
Gets the "in" direction filter set. The "in" direction is referred to copying headers from an external message to a Camel message.

Returns:
a set that contains header names that should be excluded.

setInFilter

public void setInFilter(Set<String> value)
Sets the "in" direction filter set. The "in" direction is referred to copying headers from an external message to a Camel message.


getInFilterPattern

public String getInFilterPattern()
Gets the "in" direction filter regular expression Pattern. The "in" direction is referred to copying headers from an external message to a Camel message. If the pattern matches a header, the header will be filtered out.

Returns:
regular expression filter pattern

setInFilterPattern

public void setInFilterPattern(String value)
Sets the "in" direction filter regular expression Pattern. The "in" direction is referred to copying headers from an external message to a Camel message. If the pattern matches a header, the header will be filtered out.

Parameters:
value - regular expression filter pattern

getIsLowercase

public boolean getIsLowercase()
Gets the isLowercase property which is a boolean to determinte whether header names should be converted to lowercase before checking it the filter Set. It does not affect filtering using regular expression pattern.


setIsLowercase

public void setIsLowercase(boolean value)
Sets the isLowercase property which is a boolean to determinte whether header names should be converted to lowercase before checking it the filter Set. It does not affect filtering using regular expression pattern.


getAllowNullValues

public boolean getAllowNullValues()

setAllowNullValues

public void setAllowNullValues(boolean value)

extendedFilter

protected boolean extendedFilter(DefaultHeaderFilterStrategy.Direction direction,
                                 String key,
                                 Object value)


Copyright © 2008 IONA Open Source Community. All Rights Reserved.