Class SessionAttributeInitializingFilter

java.lang.Object
org.apache.mina.core.filterchain.IoFilterAdapter
org.apache.mina.filter.util.SessionAttributeInitializingFilter
All Implemented Interfaces:
IoFilter

public class SessionAttributeInitializingFilter extends IoFilterAdapter
An IoFilter that sets initial attributes when a new IoSession is created. By default, the attribute map is empty when an IoSession is newly created. Inserting this filter will make the pre-configured attributes available after this filter executes the sessionCreated event.
  • Field Details

  • Constructor Details

    • SessionAttributeInitializingFilter

      public SessionAttributeInitializingFilter()
      Creates a new instance with no default attributes. You can set the additional attributes by calling methods such as setAttribute(String, Object) and setAttributes(Map).
    • SessionAttributeInitializingFilter

      public SessionAttributeInitializingFilter(Map<String, ? extends Object> attributes)
      Creates a new instance with the specified default attributes. You can set the additional attributes by calling methods such as setAttribute(String, Object) and setAttributes(Map).
      Parameters:
      attributes - The Attribute's Map to set
  • Method Details

    • getAttribute

      public Object getAttribute(String key)
      Returns the value of user-defined attribute.
      Parameters:
      key - the key of the attribute
      Returns:
      null if there is no attribute with the specified key
    • setAttribute

      public Object setAttribute(String key, Object value)
      Sets a user-defined attribute.
      Parameters:
      key - the key of the attribute
      value - the value of the attribute
      Returns:
      The old value of the attribute. null if it is new.
    • setAttribute

      public Object setAttribute(String key)
      Sets a user defined attribute without a value. This is useful when you just want to put a 'mark' attribute. Its value is set to Boolean.TRUE.
      Parameters:
      key - the key of the attribute
      Returns:
      The old value of the attribute. null if it is new.
    • removeAttribute

      public Object removeAttribute(String key)
      Removes a user-defined attribute with the specified key.
      Parameters:
      key - The attribut's key we want to removee
      Returns:
      The old value of the attribute. null if not found.
    • containsAttribute

      boolean containsAttribute(String key)
      Returns:
      true if this session contains the attribute with the specified key.
    • getAttributeKeys

      public Set<String> getAttributeKeys()
      Returns:
      the set of keys of all user-defined attributes.
    • setAttributes

      public void setAttributes(Map<String, ? extends Object> attributes)
      Sets the attribute map. The specified attributes are copied into the underlying map, so modifying the specified attributes parameter after the call won't change the internal state.
      Parameters:
      attributes - The attributes Map to set
    • sessionCreated

      public void sessionCreated(IoFilter.NextFilter nextFilter, IoSession session) throws Exception
      Puts all pre-configured attributes into the actual session attribute map and forward the event to the next filter.
      Specified by:
      sessionCreated in interface IoFilter
      Overrides:
      sessionCreated in class IoFilterAdapter
      Parameters:
      nextFilter - the IoFilter.NextFilter for this filter. You can reuse this object until this filter is removed from the chain.
      session - The IoSession which has received this event
      Throws:
      Exception - If an error occurred while processing the event