public abstract class IdBuilder<T> extends Object
Id
object. This class
assists with the creation of a base id and then returns another builder type that can
be used for further refinement. By following this pattern the builder will force the
user to satisfy the minimal constraints of the id before a final option to construct
or complete the operation is provided.
Sample usage:
return new IdBuilder(registry) { @Override protected Builder createTypeBuilder(Id id) { return new Builder(registry, id); } };
The type returned by createTypeBuilder(Id)
can extend TagsBuilder
to easily support additional tags being added after the base id requirements are
satisfied.
Modifier and Type | Field and Description |
---|---|
protected Registry |
registry
Registry used for created ids.
|
Modifier | Constructor and Description |
---|---|
protected |
IdBuilder(Registry registry)
Create a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected abstract T |
createTypeBuilder(Id id)
Sub-classes should override this method to create the more specific builder type.
|
T |
withId(Id id)
Set the base identifier for the type being constructed.
|
T |
withName(String name)
Create a new identifier with the provide name.
|
protected final Registry registry
protected IdBuilder(Registry registry)
protected abstract T createTypeBuilder(Id id)
public T withName(String name)
name
- Name used in the identifier.