Custom
com.jsmacrosce.jsmacros.core.event.impl.EventCustom
A named event with key-value arguments. Call registerEvent() before subscribing; dispatch also reaches eligible ANYTHING listeners. Set cancelable before dispatch to let listeners cancel this instance; check isCanceled() after dispatch returns. Set joinable before dispatch to let trigger() wait for listeners that asked to be awaited.
Constructors
new EventCustom
Fields
cancelable
cancelable: boolean#Whether this event permits cancellation; defaults to
false.eventName
Name used as this custom event's dispatch and subscription-registration key. Changing it does not register the new name; call registerEvent() separately.
joinable
joinable: boolean#Whether
trigger() may wait for listeners that requested joined handling; defaults to false. Set it on the instance that calls trigger(); instances created for the same name do not share it. Setting cancelable also permits joining. The wait ends when a joined listener releases its event lock, normally on callback return.Methods
cancellable
getBoolean
getDouble
getInt
getObject
getString
getType
getUnderlyingMap
joinable
joinable(): boolean#Whether this event permits joining, based on its current
joinable or cancelable flag.Returns:
true if either flag is true; this does not guarantee every listener is joined.putBoolean
putDouble
putInt
putObject
Stores an object argument. Guest-language objects cause an AssertionError.
Parameters:
name: argument keyo: value to store
Returns: the stored object
putString
registerEvent
Registers this event's name so it can be subscribed to and shown in the GUI.
trigger
Dispatches this event to listeners registered under its name and eligible
ANYTHING listeners. If joinable() is true, waits for listeners that requested joined handling; cancellable events wait without that request. The wait ends when each joined listener releases its event lock, normally on callback return.triggerAsync
Dispatches the event on a thread-pool task and returns without waiting.
callback runs after dispatch returns; that does not mean every listener has finished unless dispatch joined it.Parameters:
callback: callback to run after dispatch returns