Package org.bukkit.metadata
Interface MetadataStore<T>
public interface MetadataStore<T>
- 
Method SummaryModifier and TypeMethodDescriptiongetMetadata(T subject, @NotNull String metadataKey) Returns all metadata values attached to an object.booleanhasMetadata(T subject, @NotNull String metadataKey) Tests to see if a metadata attribute has been set on an object.voidinvalidateAll(@NotNull Plugin owningPlugin) Invalidates all metadata in the metadata store that originates from the given plugin.voidRemoves a metadata item owned by a plugin from a subject.voidsetMetadata(T subject, @NotNull String metadataKey, @NotNull MetadataValue newMetadataValue) Adds a metadata value to an object.
- 
Method Details- 
setMetadatavoid setMetadata(@NotNull T subject, @NotNull @NotNull String metadataKey, @NotNull @NotNull MetadataValue newMetadataValue) Adds a metadata value to an object.- Parameters:
- subject- The object receiving the metadata.
- metadataKey- A unique key to identify this metadata.
- newMetadataValue- The metadata value to apply.
- Throws:
- IllegalArgumentException- If value is null, or the owning plugin is null
 
- 
getMetadata@NotNull @NotNull List<MetadataValue> getMetadata(@NotNull T subject, @NotNull @NotNull String metadataKey) Returns all metadata values attached to an object. If multiple plugins have attached metadata, each will value will be included.- Parameters:
- subject- the object being interrogated.
- metadataKey- the unique metadata key being sought.
- Returns:
- A list of values, one for each plugin that has set the requested value.
 
- 
hasMetadataTests to see if a metadata attribute has been set on an object.- Parameters:
- subject- the object upon which the has-metadata test is performed.
- metadataKey- the unique metadata key being queried.
- Returns:
- the existence of the metadataKey within subject.
 
- 
removeMetadatavoid removeMetadata(@NotNull T subject, @NotNull @NotNull String metadataKey, @NotNull @NotNull Plugin owningPlugin) Removes a metadata item owned by a plugin from a subject.- Parameters:
- subject- the object to remove the metadata from.
- metadataKey- the unique metadata key identifying the metadata to remove.
- owningPlugin- the plugin attempting to remove a metadata item.
- Throws:
- IllegalArgumentException- If plugin is null
 
- 
invalidateAllInvalidates all metadata in the metadata store that originates from the given plugin. Doing this will force each invalidated metadata item to be recalculated the next time it is accessed.- Parameters:
- owningPlugin- the plugin requesting the invalidation.
- Throws:
- IllegalArgumentException- If plugin is null
 
 
-