pub struct MockProducerOptionsBuilder<K, V> { /* private fields */ }Expand description
Fluent builder for MockProducerOptions.
Per CLAUDE.md §2 Self::new takes no parameters, every parameter has a
fluent setter, and Self::build validates the mandatory ones — returning
Error::LocalIllegalArgument if they were not set. Like
MockProducerOptions it has no Java counterpart and exists solely to
satisfy that naming rule (DoD #7).
Implementations§
Source§impl<K, V> MockProducerOptionsBuilder<K, V>
impl<K, V> MockProducerOptionsBuilder<K, V>
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a builder with every mandatory parameter unset and every other parameter at the value Java passes on the caller’s behalf.
Sourcepub fn set_cluster(self, cluster: Cluster) -> Self
pub fn set_cluster(self, cluster: Cluster) -> Self
Sets MockProducerOptions::cluster.
Sourcepub fn set_auto_complete(self, auto_complete: bool) -> Self
pub fn set_auto_complete(self, auto_complete: bool) -> Self
Sets MockProducerOptions::auto_complete, a mandatory parameter:
Self::build returns an error if it was not set.
Sourcepub fn set_partitioner(
self,
partitioner: Option<Box<dyn Partitioner<K, V>>>,
) -> Self
pub fn set_partitioner( self, partitioner: Option<Box<dyn Partitioner<K, V>>>, ) -> Self
Sets MockProducerOptions::partitioner.
Sourcepub fn set_key_serializer(
self,
key_serializer: Option<Box<dyn Serializer<K> + Send + Sync>>,
) -> Self
pub fn set_key_serializer( self, key_serializer: Option<Box<dyn Serializer<K> + Send + Sync>>, ) -> Self
Sets MockProducerOptions::key_serializer.
Sourcepub fn set_value_serializer(
self,
value_serializer: Option<Box<dyn Serializer<V> + Send + Sync>>,
) -> Self
pub fn set_value_serializer( self, value_serializer: Option<Box<dyn Serializer<V> + Send + Sync>>, ) -> Self
Sets MockProducerOptions::value_serializer.
Sourcepub fn build(self) -> Result<MockProducerOptions<K, V>, Error>
pub fn build(self) -> Result<MockProducerOptions<K, V>, Error>
Returns the built options.
Per CLAUDE.md §2 the mandatory parameters are validated here rather than
being named in the constructor, so a later Java version that makes one of
them optional changes the set this accepts instead of adding a second
constructor. Today there is one mandatory set: auto_complete. cluster
is not in it because Java’s :137 supplies Cluster.empty() itself.
§Errors
Returns Error::LocalIllegalArgument naming the first parameter of that
set which was not given a setter call. Only presence is checked here;
semantic validation belongs to the method the options are passed to
(CLAUDE.md §2).