Class EventContext


  • @DoNotStore
    public final class EventContext
    extends java.lang.Object
    Provides context for an event outside of the direct chain of causes present in the event's Cause.
    • Method Detail

      • empty

        public static EventContext empty()
        Gets an empty context.
        Returns:
        The empty context
      • of

        public static EventContext of​(java.util.Map<EventContextKey<?>,​java.lang.Object> entries)
        Creates a new EventContext from the given map of entries.
        Parameters:
        entries - The context entries
        Returns:
        The new EventContext
      • get

        public <T> java.util.Optional<T> get​(EventContextKey<T> key)
        Gets the value corresponding to the given key from the context.
        Type Parameters:
        T - The type of the value stored with the key
        Parameters:
        key - The key
        Returns:
        The context value, if found
      • get

        public <T> java.util.Optional<T> get​(java.util.function.Supplier<EventContextKey<T>> key)
        Gets the value corresponding to the given key from the context.
        Type Parameters:
        T - The type of the value stored with the key
        Parameters:
        key - The key
        Returns:
        The context value, if found
      • require

        public <T> T require​(EventContextKey<T> key)
        Gets the value corresponding to the given key from the context.

        If the key is not available, NoSuchElementException will be thrown.

        Type Parameters:
        T - The type of the value stored with the key
        Parameters:
        key - The key
        Returns:
        The context value, if found
      • require

        public <T> T require​(java.util.function.Supplier<EventContextKey<T>> key)
        Gets the value corresponding to the given key from the context.

        If the key is not available, NoSuchElementException will be thrown.

        Type Parameters:
        T - The type of the value stored with the key
        Parameters:
        key - The key
        Returns:
        The context value, if found
      • containsKey

        public boolean containsKey​(EventContextKey<?> key)
        Gets whether the provided EventContextKey is included in this context.
        Parameters:
        key - The context key to check
        Returns:
        True if the key is used and there is an entry for it
      • containsKey

        public boolean containsKey​(java.util.function.Supplier<? extends EventContextKey<?>> key)
        Gets whether the provided EventContextKey is included in this context.
        Parameters:
        key - The context key to check
        Returns:
        True if the key is used and there is an entry for it
      • asMap

        public java.util.Map<EventContextKey<?>,​java.lang.Object> asMap()
        Gets this event context as a Map of EventContextKeys to Objects.
        Returns:
        A map view of this context
      • equals

        public boolean equals​(@Nullable java.lang.Object object)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object