Creates an UpdateStream to use for updating a specific topic.
The type of the topic being updated must match the type derived from the {@code dataType} parameter.
Update streams send a sequence of updates for a specific topic. The updates may be delivered to the server as binary deltas. They do not provide exclusive access to the topic. If exclusive access is required update streams should be used with {@link Session.SessionLock session locks} as constraints.
Streams are validated lazily when the first {@link UpdateStream#set} or {@link UpdateStream#validate} operation is completed. Once validated a stream can be invalidated, after which it rejects future updates.
Takes an optional retry strategy that governs recovery attempts following a recoverable exception.
the path of the topic
the type of the values expected by the update stream
an update stream
Creates a RecoverableUpdateStream to use for updating a specific topic.
Takes a retry strategy that governs recovery attempts following a recoverable exception.
In other respects this method works in the same way as calling UpdateStreamBuilder.build without retry strategy.
the path of the topic
the type of the values expected by the update stream
an optional retry strategy
a recoverable update stream
Specifies an update constraint for this update stream.
Constraints can be created using {@link Diffusion.updateConstraints}}.
Constraints can be applied to the setting of a value and creation of an update stream. Constraints describe a condition that must be satisfied for the operation to succeed. The constraints are evaluated on the server. The available constraints are: an active session lock, the absence of a topic, the current value of the topic being updated, and a part of the current value of the topic being updated.
Constraint is Unconstrained by default. Calling this method with a null or undefined parameter resets the constraint for this builder.
the constraint that must be satisfied for the update stream to be validated
this builder
Resets the builder to its default parameters.
this builder
Specifies a TopicSpecification for this update stream.
If a topic does not exist at the {@code path} one will be created using the {@code topicSpecification} when the update stream is validated. If a topic does exist, its specification must match {@code topicSpecification}, otherwise the operation will fail with an error.
Specification is undefined by default. Calling this method with a null or undefined parameter removes the specification for this builder.
the required specification of the topic
this builder
Builder for update stream to use for updating a specific topic. A builder is created using {@link TopicUpdate#newUpdateStreamBuilder}.
The type of the topic being updated must match the type derived from the {@code dataType} parameter.
6.9