Package io.undertow.util
Interface Attachable
-
- All Known Subinterfaces:
ClientExchange
- All Known Implementing Classes:
AbstractAttachable
,AbstractServerConnection
,AjpServerConnection
,ClientRequest
,ClientResponse
,Http2Channel
,Http2ClientExchange
,Http2ServerConnection
,HttpServerConnection
,HttpServerExchange
,ServerConnection
,ServerSentEventConnection
public interface Attachable
A thing which can have named attachments.- Author:
- David M. Lloyd
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> void
addToAttachmentList(AttachmentKey<AttachmentList<T>> key, T value)
Add a value to a list-typed attachment key.<T> T
getAttachment(AttachmentKey<T> key)
Get an attachment value.<T> java.util.List<T>
getAttachmentList(AttachmentKey<? extends java.util.List<T>> key)
Gets a list attachment value.<T> T
putAttachment(AttachmentKey<T> key, T value)
Set an attachment value.<T> T
removeAttachment(AttachmentKey<T> key)
Remove an attachment, returning its previous value.
-
-
-
Method Detail
-
getAttachment
<T> T getAttachment(AttachmentKey<T> key)
Get an attachment value. If no attachment exists for this key,null
is returned.- Type Parameters:
T
- the value type- Parameters:
key
- the attachment key- Returns:
- the value, or
null
if there is none
-
getAttachmentList
<T> java.util.List<T> getAttachmentList(AttachmentKey<? extends java.util.List<T>> key)
Gets a list attachment value. If not attachment exists for this key an empty list is returned- Type Parameters:
T
- the value type- Parameters:
key
- the attachment key- Returns:
- the value, or an empty list if there is none
-
putAttachment
<T> T putAttachment(AttachmentKey<T> key, T value)
Set an attachment value. If an attachment for this key was already set, return the original value. If the value being set isnull
, the attachment key is removed.- Type Parameters:
T
- the value type- Parameters:
key
- the attachment keyvalue
- the new value- Returns:
- the old value, or
null
if there was none
-
removeAttachment
<T> T removeAttachment(AttachmentKey<T> key)
Remove an attachment, returning its previous value.- Type Parameters:
T
- the value type- Parameters:
key
- the attachment key- Returns:
- the old value, or
null
if there was none
-
addToAttachmentList
<T> void addToAttachmentList(AttachmentKey<AttachmentList<T>> key, T value)
Add a value to a list-typed attachment key. If the key is not mapped, add such a mapping.- Type Parameters:
T
- the list value type- Parameters:
key
- the attachment keyvalue
- the value to add
-
-