public final class ExternalMessageEnvelope extends AbstractMessageEnvelope<com.google.protobuf.Message,io.spine.server.integration.ExternalMessage,io.spine.core.ActorContext>
Modifier and Type | Method and Description |
---|---|
io.spine.core.Origin |
asMessageOrigin()
This method is not supported and always throws
UnsupportedOperationException . |
io.spine.core.ActorContext |
context()
Obtains the context of the message.
|
com.google.protobuf.Message |
id()
The ID of the message.
|
com.google.protobuf.Message |
message()
Obtains an originally transferred message.
|
io.spine.type.MessageClass |
messageClass()
Obtains a message class of an originally transferred message such as
io.spine.sample.TaskCreated class. |
static ExternalMessageEnvelope |
of(io.spine.server.integration.ExternalMessage externalMessage,
com.google.protobuf.Message originalMessage)
Creates a new instance of
ExternalMessageEnvelope from the ExternalMessage
instance and the message transferred inside the ExternalMessage such as
a io.spine.sample.TaskCreated event message. |
EventEnvelope |
toEventEnvelope()
Converts this instance to an envelope of the external event.
|
equals, hashCode, outerObject, toString
public static ExternalMessageEnvelope of(io.spine.server.integration.ExternalMessage externalMessage, com.google.protobuf.Message originalMessage)
ExternalMessageEnvelope
from the ExternalMessage
instance and the message transferred inside the ExternalMessage
such as
a io.spine.sample.TaskCreated
event message.
This factory method provides an optimal performance of
the ExternalMessageEnvelope
creation. It allows to avoid unpacking the original
message from the ExternalMessage
instance.
externalMessage
- the instance of ExternalMessage
to wrap into an envelopeoriginalMessage
- the message instance, which was originally transferred inside the
externalMessage
such as a io.spine.sample.TaskCreated
event message.public com.google.protobuf.Message id()
MessageEnvelope
public com.google.protobuf.Message message()
io.spine.sample.TaskCreated
event message may returned for an external event transferred inside
of this envelope instance.public io.spine.type.MessageClass messageClass()
io.spine.sample.TaskCreated
class.ExternalMessageEnvelope.message()
,
ExternalMessageEnvelope.of(ExternalMessage, Message)
public io.spine.core.ActorContext context()
MessageEnvelope
public EventEnvelope toEventEnvelope()
public io.spine.core.Origin asMessageOrigin()
UnsupportedOperationException
.
This should never happen as no event is caused directly by an ExternalMessage
.
Instead, the external messages are consumed by an anti-corruption layer such as external reactor or subscriber methods in the destination Bounded Context.
java.lang.UnsupportedOperationException
- always