Class ImmutableRaftServer.Builder
java.lang.Object
org.kiwiproject.consul.model.operator.ImmutableRaftServer.Builder
- Enclosing class:
- ImmutableRaftServer
Builds instances of type
ImmutableRaftServer.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Method Summary
Modifier and TypeMethodDescriptionInitializes the value for theaddressattribute.build()Builds a newImmutableRaftServer.from(RaftServer instance) Fill a builder with attribute values from the providedRaftServerinstance.Initializes the value for theidattribute.Initializes the value for theleaderattribute.Initializes the value for thenodeattribute.Initializes the value for thevoterattribute.
-
Method Details
-
from
Fill a builder with attribute values from the providedRaftServerinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
id
Initializes the value for theidattribute.- Parameters:
id- The value for id- Returns:
thisbuilder for use in a chained invocation
-
node
Initializes the value for thenodeattribute.- Parameters:
node- The value for node- Returns:
thisbuilder for use in a chained invocation
-
address
Initializes the value for theaddressattribute.- Parameters:
address- The value for address- Returns:
thisbuilder for use in a chained invocation
-
leader
Initializes the value for theleaderattribute.- Parameters:
leader- The value for leader- Returns:
thisbuilder for use in a chained invocation
-
voter
Initializes the value for thevoterattribute.- Parameters:
voter- The value for voter- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newImmutableRaftServer.- Returns:
- An immutable instance of RaftServer
- Throws:
IllegalStateException- if any required attributes are missing
-