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