Package io.smallrye.mutiny
Class Context
- java.lang.Object
-
- io.smallrye.mutiny.Context
-
@Experimental("Context support is a new experimental API introduced in Mutiny 1.3.0") public final class Context extends java.lang.ObjectA context allows sharing key / value entries along with a subscriber in a Mutiny pipeline, so all operators can share implicit data for a given subscription.A context is provided by a
UniSubscriberorSubscriberthat implementsContextSupport.Context keys are represented as
Stringwhile values can be from heterogeneous types.Contextinstances are thread-safe. Internal storage is not allocated until the first entry is being added.Contexts shall be primarily used to share transient data used for networked I/O processing such as correlation identifiers, tokens, etc. They should not be used as general-purpose data structures that are frequently updated and that hold large amounts of data.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(java.lang.String key)Checks whether the context has an entry for a given key.Contextdelete(java.lang.String key)Delete an entry for a given key, if present.static Contextempty()Creates a new empty context.booleanequals(java.lang.Object other)static Contextfrom(java.util.Map<java.lang.String,?> entries)Creates a context by copying the entries from aMap.<T> Tget(java.lang.String key)Get a value for a key.<T> TgetOrElse(java.lang.String key, java.util.function.Supplier<? extends T> alternativeSupplier)Get a value for a key, or provide an alternative value when not present.inthashCode()booleanisEmpty()Test whether the context is empty.java.util.Set<java.lang.String>keys()Gives the set of keys present in the context at the time the method is being called.static Contextof(java.lang.Object... entries)Creates a context from key / value pairs.Contextput(java.lang.String key, java.lang.Object value)Stores a value for a given key.java.lang.StringtoString()
-
-
-
Method Detail
-
empty
public static Context empty()
Creates a new empty context.- Returns:
- the context
-
of
public static Context of(java.lang.Object... entries)
Creates a context from key / value pairs.- Parameters:
entries- a sequence of key / value pairs, as inkey1, value1, key2, value2- Returns:
- the new context
- Throws:
java.lang.IllegalArgumentException- whenentriesis not balancedjava.lang.NullPointerException- whenentriesisnull
-
from
public static Context from(java.util.Map<java.lang.String,?> entries)
Creates a context by copying the entries from aMap.- Parameters:
entries- the map, cannot benull- Returns:
- the new context
- Throws:
java.lang.NullPointerException- whenentriesis null
-
contains
public boolean contains(java.lang.String key)
Checks whether the context has an entry for a given key.- Parameters:
key- the key- Returns:
truewhen there is an entry forkey,falseotherwise
-
get
public <T> T get(java.lang.String key) throws java.util.NoSuchElementExceptionGet a value for a key.- Type Parameters:
T- the value type- Parameters:
key- the key- Returns:
- the value
- Throws:
java.util.NoSuchElementException- when there is no entry forkey
-
getOrElse
public <T> T getOrElse(java.lang.String key, java.util.function.Supplier<? extends T> alternativeSupplier)Get a value for a key, or provide an alternative value when not present.- Type Parameters:
T- the value type- Parameters:
key- the keyalternativeSupplier- the alternative value supplier when there is no entry forkey- Returns:
- the value
-
put
public Context put(java.lang.String key, java.lang.Object value)
Stores a value for a given key.- Parameters:
key- the keyvalue- the value, cannot benull- Returns:
- this context
-
delete
public Context delete(java.lang.String key)
Delete an entry for a given key, if present.- Parameters:
key- the key- Returns:
- this context
-
isEmpty
public boolean isEmpty()
Test whether the context is empty.- Returns:
trueif the context is empty,falseotherwise
-
keys
public java.util.Set<java.lang.String> keys()
Gives the set of keys present in the context at the time the method is being called.Note that each call to this method produces a copy.
- Returns:
- the set of keys
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-