Package org.spongepowered.api.registry
Interface Registry<T>
- Type Parameters:
T
- The type
A store of
registry entries
with a well defined type.-
Method Summary
Modifier and TypeMethodDescriptiondefault <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) findValue
(RegistryKey<T> key) findValue(ResourceKey)
, provided for convenience when usingRegistryKey
.findValue
(ResourceKey key) findValueKey
(T value) Gets thekey
for a particular value, if found.boolean
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()
Gets aStream
of all registry values within.taggedValues
(Tag<T> tag) Returns the registered types associated with given tag.tags()
Gets the tags associated with this registry.type()
Gets thekey
identifying this registry.default <V extends T>
Vvalue
(RegistryKey<T> key) value(ResourceKey)
, provided for convenience when usingRegistryKey
.<V extends T>
Vvalue
(ResourceKey key) Gets thekey
for a particular value.
-
Method Details
-
type
RegistryType<T> type()Gets thekey
identifying this registry.- Returns:
- The key
-
valueKey
Gets thekey
for 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
IllegalStateException
will be thrown. Therefore, it is advised to callfindValueKey(Object)
instead.- Parameters:
value
- The value- Returns:
- The key
-
findValueKey
Gets thekey
for 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
Gets theentry
for 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
findEntry(ResourceKey)
, provided for convenience when usingRegistryKey
.- Parameters:
key
- The key- Returns:
- The entry or
Optional.empty()
-
findValue
- Parameters:
key
- The key- Returns:
- The value or
Optional.empty()
-
findValue
findValue(ResourceKey)
, provided for convenience when usingRegistryKey
.- Parameters:
key
- The key- Returns:
- The value or
Optional.empty()
-
value
Gets thevalue
for 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
ValueNotFoundException
will be thrown. Therefore, it is advised to callfindValue(ResourceKey)
orfindValue(RegistryKey)
instead.- Parameters:
key
- The key- Returns:
- The value
-
taggedValues
Returns the registered types associated with given tag.- Parameters:
tag
- The tag- Returns:
- The registered types associated with given tag
-
tags
Gets the tags associated with this registry.- Returns:
- The tags associated with this registry
-
value
value(ResourceKey)
, provided for convenience when usingRegistryKey
.- Parameters:
key
- The key- Returns:
- The value
-
streamEntries
Stream<RegistryEntry<T>> streamEntries()- Returns:
- The stream
-
stream
Gets aStream
of all registry values within.- Returns:
- The stream
-
isDynamic
boolean isDynamic()Returns if this registry supports adding additional values.- Returns:
- True if the registry can add additional values
-
register
Registers a new value to this registry.If this registry is not
dynamic
or 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
-