@Override public GenericDeadlineMessage<T> andMetaData(Map<String, ?> additionalMetaData) { return new GenericDeadlineMessage<>( deadlineName, getDelegate().andMetaData(additionalMetaData), this::getTimestamp ); }
@Override public GenericQueryResponseMessage<R> andMetaData(Map<String, ?> additionalMetaData) { return new GenericQueryResponseMessage<>(getDelegate().andMetaData(additionalMetaData)); } }
@Override public GenericCommandMessage<T> andMetaData(Map<String, ?> metaData) { return new GenericCommandMessage<>(getDelegate().andMetaData(metaData), commandName); }
@Override public SubscriptionQueryUpdateMessage<U> andMetaData(Map<String, ?> metaData) { return new GenericSubscriptionQueryUpdateMessage<>(getDelegate().andMetaData(metaData)); }
@Override public QueryMessage<T, R> andMetaData(Map<String, ?> metaData) { return new GenericQueryMessage<>(getDelegate().andMetaData(metaData), queryName, responseType); }
@Override public GenericCommandResultMessage<R> andMetaData(Map<String, ?> metaData) { Throwable exception = optionalExceptionResult().orElse(null); return new GenericCommandResultMessage<>(getDelegate().andMetaData(metaData), exception); }
@Override public GenericResultMessage<R> andMetaData(Map<String, ?> metaData) { return new GenericResultMessage<>(getDelegate().andMetaData(metaData), exception); }
@Override public GenericEventMessage<T> andMetaData(Map<String, ?> metaData) { if (metaData == null || metaData.isEmpty() || getMetaData().equals(metaData)) { return this; } return new GenericEventMessage<>(getDelegate().andMetaData(metaData), timestampSupplier); }
@Override public GenericDomainEventMessage<T> andMetaData(Map<String, ?> metaData) { if (metaData == null || metaData.isEmpty() || getMetaData().equals(metaData)) { return this; } return new GenericDomainEventMessage<>(type, aggregateIdentifier, sequenceNumber, getDelegate().andMetaData(metaData), getTimestamp()); }
@Override public GenericSubscriptionQueryMessage<Q, I, U> andMetaData(Map<String, ?> metaData) { return new GenericSubscriptionQueryMessage<>(getDelegate().andMetaData(metaData), getQueryName(), getResponseType(), updateResponseType); } }
@Override public GenericTrackedDomainEventMessage<T> andMetaData(Map<String, ?> metaData) { return new GenericTrackedDomainEventMessage<>(trackingToken, getType(), getAggregateIdentifier(), getSequenceNumber(), getDelegate().andMetaData(metaData), getTimestamp()); }
@Override public QueryResponseMessage<R> andMetaData(Map<String, ?> additionalMetaData) { return new GenericQueryResponseMessage<>(getDelegate().andMetaData(additionalMetaData)); } }
@Override public GenericDeadlineMessage<T> andMetaData(Map<String, ?> additionalMetaData) { return new GenericDeadlineMessage<>( deadlineName, getDelegate().andMetaData(additionalMetaData), this::getTimestamp ); }
@Override public GenericQueryResponseMessage<R> andMetaData(Map<String, ?> additionalMetaData) { return new GenericQueryResponseMessage<>(getDelegate().andMetaData(additionalMetaData)); } }
@Override public GenericDeadlineMessage<T> andMetaData(Map<String, ?> additionalMetaData) { return new GenericDeadlineMessage<>( deadlineName, getDelegate().andMetaData(additionalMetaData), this::getTimestamp ); }
@Override public GenericCommandResultMessage<R> andMetaData(Map<String, ?> metaData) { Throwable exception = optionalExceptionResult().orElse(null); return new GenericCommandResultMessage<>(getDelegate().andMetaData(metaData), exception); }
@Override public GenericEventMessage<T> andMetaData(Map<String, ?> metaData) { if (metaData == null || metaData.isEmpty() || getMetaData().equals(metaData)) { return this; } return new GenericEventMessage<>(getDelegate().andMetaData(metaData), timestampSupplier); }
@Override public GenericDomainEventMessage<T> andMetaData(Map<String, ?> metaData) { if (metaData == null || metaData.isEmpty() || getMetaData().equals(metaData)) { return this; } return new GenericDomainEventMessage<>(type, aggregateIdentifier, sequenceNumber, getDelegate().andMetaData(metaData), getTimestamp()); }
@Override public GenericDomainEventMessage<T> andMetaData(Map<String, ?> metaData) { if (metaData == null || metaData.isEmpty() || getMetaData().equals(metaData)) { return this; } return new GenericDomainEventMessage<>(type, aggregateIdentifier, sequenceNumber, getDelegate().andMetaData(metaData), getTimestamp()); }
@Override public GenericSubscriptionQueryMessage<Q, I, U> andMetaData(Map<String, ?> metaData) { return new GenericSubscriptionQueryMessage<>(getDelegate().andMetaData(metaData), getQueryName(), getResponseType(), updateResponseType); } }