Class 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.
    Author:
    Apache MINA Project
    • Constructor Detail

      • 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​(java.util.Map<java.lang.String,​? extends java.lang.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 Detail

      • getAttribute

        public java.lang.Object getAttribute​(java.lang.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 java.lang.Object setAttribute​(java.lang.String key,
                                             java.lang.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 java.lang.Object setAttribute​(java.lang.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 java.lang.Object removeAttribute​(java.lang.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.
      • getAttributeKeys

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

        public void setAttributes​(java.util.Map<java.lang.String,​? extends java.lang.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 java.lang.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:
        java.lang.Exception - If an error occurred while processing the event