Package org.spongepowered.api.registry
Interface Registry<T>
-
- Type Parameters:
T- The type
@DoNotStore public interface Registry<T>
A store ofregistry entrieswith a well defined type.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <V extends T>
Optional<RegistryEntry<V>>findEntry(RegistryKey<T> key)findEntry(ResourceKey), provided for convenience when usingRegistryKey.<V extends T>
Optional<RegistryEntry<V>>findEntry(ResourceKey key)default <V extends T>
Optional<V>findValue(RegistryKey<T> key)findValue(ResourceKey), provided for convenience when usingRegistryKey.<V extends T>
Optional<V>findValue(ResourceKey key)Optional<ResourceKey>findValueKey(T value)Gets thekeyfor a particular value, if found.booleanisDynamic()Returns if this registry supports adding additional values.<V extends T>
Optional<RegistryEntry<V>>register(ResourceKey key, V value)Registers a new value to this registry.Stream<T>stream()Gets aStreamof all registry values within.Stream<RegistryEntry<T>>streamEntries()RegistryType<T>type()Gets thekeyidentifying this registry.default <V extends T>
Vvalue(RegistryKey<T> key)value(ResourceKey), provided for convenience when usingRegistryKey.<V extends T>
Vvalue(ResourceKey key)ResourceKeyvalueKey(T value)Gets thekeyfor a particular value.
-
-
-
Method Detail
-
type
RegistryType<T> type()
Gets thekeyidentifying this registry.- Returns:
- The key
-
valueKey
ResourceKey valueKey(T value)
Gets thekeyfor a particular value.Great care needs to be made in calling this method with any uncertainty as to if the key will exist. Should the value lack a key, a
IllegalStateExceptionwill be thrown. Therefore, it is advised to callfindValueKey(Object)instead.- Parameters:
value- The value- Returns:
- The key
-
findValueKey
Optional<ResourceKey> findValueKey(T value)
Gets thekeyfor a particular value, if found.The value must be registered within to be retrieved by key.
- Parameters:
value- The value- Returns:
- The key or
Optional.empty()
-
findEntry
<V extends T> Optional<RegistryEntry<V>> findEntry(ResourceKey key)
Gets theentryfor a particularkey, if found.The value must be registered within to be retrieved by key.
- Parameters:
key- The key- Returns:
- The entry or
Optional.empty()
-
findEntry
default <V extends T> Optional<RegistryEntry<V>> findEntry(RegistryKey<T> key)
findEntry(ResourceKey), provided for convenience when usingRegistryKey.- Parameters:
key- The key- Returns:
- The entry or
Optional.empty()
-
findValue
<V extends T> Optional<V> findValue(ResourceKey key)
- Parameters:
key- The key- Returns:
- The value or
Optional.empty()
-
findValue
default <V extends T> Optional<V> findValue(RegistryKey<T> key)
findValue(ResourceKey), provided for convenience when usingRegistryKey.- Parameters:
key- The key- Returns:
- The value or
Optional.empty()
-
value
<V extends T> V value(ResourceKey key)
Gets thevaluefor a particularkey.Great care needs to be made in calling this method with any uncertainty as to if the key will exist. Should this key lack a value, a
ValueNotFoundExceptionwill be thrown. Therefore, it is advised to callfindValue(ResourceKey)orfindValue(RegistryKey)instead.- Parameters:
key- The key- Returns:
- The value
-
value
default <V extends T> V value(RegistryKey<T> key)
value(ResourceKey), provided for convenience when usingRegistryKey.- Parameters:
key- The key- Returns:
- The value
-
streamEntries
Stream<RegistryEntry<T>> streamEntries()
- Returns:
- The stream
-
isDynamic
boolean isDynamic()
Returns if this registry supports adding additional values.- Returns:
- True if the registry can add additional values
-
register
<V extends T> Optional<RegistryEntry<V>> register(ResourceKey key, V value)
Registers a new value to this registry.If this registry is not
dynamicor the provided key is already registered,Optional.empty()is returned instead.- Parameters:
key- The keyvalue- The value- Returns:
- The newly added entry,
Optional.empty()otherwise
-
-