Package org.apache.mina.core.session
Interface IoSessionAttributeMap
-
public interface IoSessionAttributeMap
Stores the user-defined attributes which is provided perIoSession
. All user-defined attribute accesses inIoSession
are forwarded to the instance ofIoSessionAttributeMap
.- Author:
- Apache MINA Project
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
containsAttribute(IoSession session, Object key)
void
dispose(IoSession session)
Disposes any releases associated with the specified session.Object
getAttribute(IoSession session, Object key, Object defaultValue)
Set<Object>
getAttributeKeys(IoSession session)
Object
removeAttribute(IoSession session, Object key)
Removes a user-defined attribute with the specified key.boolean
removeAttribute(IoSession session, Object key, Object value)
Removes a user defined attribute with the specified key if the current attribute value is equal to the specified value.boolean
replaceAttribute(IoSession session, Object key, Object oldValue, Object newValue)
Replaces a user defined attribute with the specified key if the value of the attribute is equals to the specified old value.Object
setAttribute(IoSession session, Object key, Object value)
Sets a user-defined attribute.Object
setAttributeIfAbsent(IoSession session, Object key, Object value)
Sets a user defined attribute if the attribute with the specified key is not set yet.
-
-
-
Method Detail
-
getAttribute
Object getAttribute(IoSession session, Object key, Object defaultValue)
- Parameters:
session
- the session for which we want to get an attributekey
- The key we are looking fordefaultValue
- The default returned value if the attribute is not found- Returns:
- the value of user defined attribute associated with the
specified key. If there's no such attribute, the specified default
value is associated with the specified key, and the default value is
returned. This method is same with the following code except that the
operation is performed atomically.
if (containsAttribute(key)) { return getAttribute(key); } else { setAttribute(key, defaultValue); return defaultValue; }
-
setAttribute
Object setAttribute(IoSession session, Object key, Object value)
Sets a user-defined attribute.- Parameters:
session
- the session for which we want to set an attributekey
- the key of the attributevalue
- the value of the attribute- Returns:
- The old value of the attribute.
null
if it is new.
-
setAttributeIfAbsent
Object setAttributeIfAbsent(IoSession session, Object key, Object value)
Sets a user defined attribute if the attribute with the specified key is not set yet. This method is same with the following code except that the operation is performed atomically.if (containsAttribute(key)) { return getAttribute(key); } else { return setAttribute(key, value); }
- Parameters:
session
- the session for which we want to set an attributekey
- The key we are looking forvalue
- The value to inject- Returns:
- The previous attribute
-
removeAttribute
Object removeAttribute(IoSession session, Object key)
Removes a user-defined attribute with the specified key.- Parameters:
session
- the session for which we want to remove an attributekey
- The key we are looking for- Returns:
- The old value of the attribute.
null
if not found.
-
removeAttribute
boolean removeAttribute(IoSession session, Object key, Object value)
Removes a user defined attribute with the specified key if the current attribute value is equal to the specified value. This method is same with the following code except that the operation is performed atomically.if (containsAttribute(key) && getAttribute(key).equals(value)) { removeAttribute(key); return true; } else { return false; }
- Parameters:
session
- the session for which we want to remove a valuekey
- The key we are looking forvalue
- The value to remove- Returns:
true
if the value has been removed,false
if the key was not found of the value not removed
-
replaceAttribute
boolean replaceAttribute(IoSession session, Object key, Object oldValue, Object newValue)
Replaces a user defined attribute with the specified key if the value of the attribute is equals to the specified old value. This method is same with the following code except that the operation is performed atomically.if (containsAttribute(key) && getAttribute(key).equals(oldValue)) { setAttribute(key, newValue); return true; } else { return false; }
- Parameters:
session
- the session for which we want to replace an attributekey
- The key we are looking foroldValue
- The old value to replacenewValue
- The new value to set- Returns:
true
if the value has been replaced,false
if the key was not found of the value not replaced
-
containsAttribute
boolean containsAttribute(IoSession session, Object key)
- Parameters:
session
- the session for which we want to check if an attribute is presentkey
- The key we are looking for- Returns:
true
if this session contains the attribute with the specifiedkey
.
-
getAttributeKeys
Set<Object> getAttributeKeys(IoSession session)
- Parameters:
session
- the session for which we want the set of attributes- Returns:
- the set of keys of all user-defined attributes.
-
-