Package org.apache.mina.filter.util
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
AnIoFilter
that sets initial attributes when a newIoSession
is created. By default, the attribute map is empty when anIoSession
is newly created. Inserting this filter will make the pre-configured attributes available after this filter executes the sessionCreated event.- Author:
- Apache MINA Project
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.mina.core.filterchain.IoFilter
IoFilter.NextFilter
-
-
Constructor Summary
Constructors Constructor Description SessionAttributeInitializingFilter()
Creates a new instance with no default attributes.SessionAttributeInitializingFilter(Map<String,? extends Object> attributes)
Creates a new instance with the specified default attributes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
getAttribute(String key)
Returns the value of user-defined attribute.Set<String>
getAttributeKeys()
Object
removeAttribute(String key)
Removes a user-defined attribute with the specified key.void
sessionCreated(IoFilter.NextFilter nextFilter, IoSession session)
Puts all pre-configured attributes into the actual session attribute map and forward the event to the next filter.Object
setAttribute(String key)
Sets a user defined attribute without a value.Object
setAttribute(String key, Object value)
Sets a user-defined attribute.void
setAttributes(Map<String,? extends Object> attributes)
Sets the attribute map.-
Methods inherited from class org.apache.mina.core.filterchain.IoFilterAdapter
destroy, exceptionCaught, filterClose, filterWrite, init, inputClosed, messageReceived, messageSent, onPostAdd, onPostRemove, onPreAdd, onPreRemove, sessionClosed, sessionIdle, sessionOpened, toString
-
-
-
-
Constructor Detail
-
SessionAttributeInitializingFilter
public SessionAttributeInitializingFilter()
Creates a new instance with no default attributes. You can set the additional attributes by calling methods such assetAttribute(String, Object)
andsetAttributes(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 assetAttribute(String, Object)
andsetAttributes(Map)
.- Parameters:
attributes
- The Attribute's Map to set
-
-
Method Detail
-
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 attributevalue
- 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 toBoolean.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.
-
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 interfaceIoFilter
- Overrides:
sessionCreated
in classIoFilterAdapter
- Parameters:
nextFilter
- theIoFilter.NextFilter
for this filter. You can reuse this object until this filter is removed from the chain.session
- TheIoSession
which has received this event- Throws:
Exception
- If an error occurred while processing the event
-
-