Record Class MessagePrepareEvent

java.lang.Object
java.lang.Record
net.flectone.pulse.model.event.message.MessagePrepareEvent
Record Components:
cancelled - whether a listener vetoed the message
moduleName - the module the message came from
eventMetadata - how the message will be delivered
messageContext - the message itself
integrationMessageFormat - the format used when mirroring, or null if not mirrored
receivers - the resolved audience
All Implemented Interfaces:
Event

public record MessagePrepareEvent(boolean cancelled, @NonNull ModuleName moduleName, @NonNull EventMetadata eventMetadata, @NonNull MessageContext messageContext, @Nullable IntegrationMessageFormat integrationMessageFormat, @NonNull Set<FPlayer> receivers) extends Record implements Event
Fired once the receivers are known but before anything is sent, so listeners can still change the audience, the metadata or the wording.
  • Constructor Details

    • MessagePrepareEvent

      public MessagePrepareEvent(ModuleName moduleName, EventMetadata eventMetadata, MessageContext messageContext, IntegrationMessageFormat integrationMessageFormat)
      Creates an event that has not been cancelled and whose audience is not resolved yet.
      Parameters:
      moduleName - the module the message came from
      eventMetadata - how the message will be delivered
      messageContext - the message itself
      integrationMessageFormat - the mirroring format, or null
    • MessagePrepareEvent

      public MessagePrepareEvent(ModuleName moduleName, EventMetadata eventMetadata)
      Creates an event whose context and mirroring format are resolved from the metadata.
      Parameters:
      moduleName - the module the message came from
      eventMetadata - how the message will be delivered
    • MessagePrepareEvent

      public MessagePrepareEvent(boolean cancelled, @NonNull ModuleName moduleName, @NonNull EventMetadata eventMetadata, @NonNull MessageContext messageContext, @Nullable IntegrationMessageFormat integrationMessageFormat, @NonNull Set<FPlayer> receivers)
      Creates an instance of a MessagePrepareEvent record class.
      Parameters:
      cancelled - the value for the cancelled record component
      moduleName - the value for the moduleName record component
      eventMetadata - the value for the eventMetadata record component
      messageContext - the value for the messageContext record component
      integrationMessageFormat - the value for the integrationMessageFormat record component
      receivers - the value for the receivers record component
  • Method Details

    • withCancelled

      public MessagePrepareEvent withCancelled(boolean cancelled)
      Description copied from interface: Event
      Returns a copy of this event with the cancelled flag set.
      Specified by:
      withCancelled in interface Event
      Parameters:
      cancelled - the new cancelled state
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withModuleName

      public MessagePrepareEvent withModuleName(@NonNull ModuleName moduleName)
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withEventMetadata

      public MessagePrepareEvent withEventMetadata(@NonNull EventMetadata eventMetadata)
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withMessageContext

      public MessagePrepareEvent withMessageContext(@NonNull MessageContext messageContext)
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withIntegrationMessageFormat

      public MessagePrepareEvent withIntegrationMessageFormat(@Nullable IntegrationMessageFormat integrationMessageFormat)
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • withReceivers

      public MessagePrepareEvent withReceivers(@NonNull Set<FPlayer> receivers)
      Returns:
      a clone of this object, except with this updated property (returns this if an identical value is passed).
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • cancelled

      public boolean cancelled()
      Returns the value of the cancelled record component.
      Specified by:
      cancelled in interface Event
      Returns:
      the value of the cancelled record component
    • moduleName

      public @NonNull ModuleName moduleName()
      Returns the value of the moduleName record component.
      Returns:
      the value of the moduleName record component
    • eventMetadata

      public @NonNull EventMetadata eventMetadata()
      Returns the value of the eventMetadata record component.
      Returns:
      the value of the eventMetadata record component
    • messageContext

      public @NonNull MessageContext messageContext()
      Returns the value of the messageContext record component.
      Returns:
      the value of the messageContext record component
    • integrationMessageFormat

      public @Nullable IntegrationMessageFormat integrationMessageFormat()
      Returns the value of the integrationMessageFormat record component.
      Returns:
      the value of the integrationMessageFormat record component
    • receivers

      public @NonNull Set<FPlayer> receivers()
      Returns the value of the receivers record component.
      Returns:
      the value of the receivers record component