public interface ImmutableDataRegistry
ImmutableDataHolder
s and their respective
ImmutableDataBuilder
s. Registration should occur prior to
GameState.SERVER_ABOUT_TO_START
.Modifier and Type | Method and Description |
---|---|
<T extends ImmutableDataHolder<T>,B extends ImmutableDataBuilder<T,B>> |
getBuilder(Class<T> holderClass)
Attempts to retrieve the builder for the given
ImmutableDataHolder . |
<T extends ImmutableDataHolder<T>,B extends ImmutableDataBuilder<T,B>> |
register(Class<T> holderClass,
B builder)
Registers the given
ImmutableDataHolder class with it's
associated ImmutableDataBuilder . |
<T extends ImmutableDataHolder<T>,B extends ImmutableDataBuilder<T,B>> void register(Class<T> holderClass, B builder)
ImmutableDataHolder
class with it's
associated ImmutableDataBuilder
. The builder can be used to
create new instances of the given ImmutableDataHolder
for data
retrieval, data representation, etc.T
- The type of immutable data holderB
- The type of immutable data builderholderClass
- The class of the immutable data holderbuilder
- The builder instance of the immutable data holder<T extends ImmutableDataHolder<T>,B extends ImmutableDataBuilder<T,B>> Optional<B> getBuilder(Class<T> holderClass)
ImmutableDataHolder
.
If the ImmutableDataHolder
was not registered, multiple
systems could fail to retrieve specific data.
T
- The type of immutable data holderB
- The type of immutable data builderholderClass
- The immutable data holder class