|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.bukkit.metadata.MetadataValueAdapter org.bukkit.metadata.LazyMetadataValue
public class LazyMetadataValue
The LazyMetadataValue class implements a type of metadata that is not computed until another plugin asks for it.
By making metadata values lazy, no computation is done by the providing plugin until absolutely necessary (if ever).
Additionally, LazyMetadataValue objects cache their values internally unless overridden by a LazyMetadataValue.CacheStrategy
or invalidated at the individual or plugin level. Once invalidated, the LazyMetadataValue will recompute its value
when asked.
Nested Class Summary | |
---|---|
static class |
LazyMetadataValue.CacheStrategy
Describes possible caching strategies for metadata. |
Field Summary |
---|
Fields inherited from class org.bukkit.metadata.MetadataValueAdapter |
---|
owningPlugin |
Constructor Summary | |
---|---|
protected |
LazyMetadataValue(Plugin owningPlugin)
Protected special constructor used by FixedMetadataValue to bypass standard setup. |
|
LazyMetadataValue(Plugin owningPlugin,
Callable<Object> lazyValue)
Initialized a LazyMetadataValue object with the default CACHE_AFTER_FIRST_EVAL cache strategy. |
|
LazyMetadataValue(Plugin owningPlugin,
LazyMetadataValue.CacheStrategy cacheStrategy,
Callable<Object> lazyValue)
Initializes a LazyMetadataValue object with a specific cache strategy. |
Method Summary | |
---|---|
void |
invalidate()
Invalidates this metadata item, forcing it to recompute when next accessed. |
Object |
value()
Fetches the value of this metadata item. |
Methods inherited from class org.bukkit.metadata.MetadataValueAdapter |
---|
asBoolean, asByte, asDouble, asFloat, asInt, asLong, asShort, asString, getOwningPlugin |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.bukkit.metadata.MetadataValue |
---|
asBoolean, asByte, asDouble, asFloat, asInt, asLong, asShort, asString, getOwningPlugin |
Constructor Detail |
---|
public LazyMetadataValue(Plugin owningPlugin, Callable<Object> lazyValue)
owningPlugin
- the Plugin
that created this metadata value.lazyValue
- the lazy value assigned to this metadata value.public LazyMetadataValue(Plugin owningPlugin, LazyMetadataValue.CacheStrategy cacheStrategy, Callable<Object> lazyValue)
owningPlugin
- the Plugin
that created this metadata value.cacheStrategy
- determines the rules for caching this metadata value.lazyValue
- the lazy value assigned to this metadata value.protected LazyMetadataValue(Plugin owningPlugin)
Method Detail |
---|
public Object value()
MetadataValue
value
in interface MetadataValue
public void invalidate()
MetadataValue
invalidate
in interface MetadataValue
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |