Files
DeltaZern/paper-api/src/main/java/org/bukkit/metadata/FixedMetadataValue.java
T
2019-03-13 17:42:57 +11:00

45 lines
1.2 KiB
Java

package org.bukkit.metadata;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* A FixedMetadataValue is a special case metadata item that contains the same
* value forever after initialization. Invalidating a FixedMetadataValue has
* no effect.
* <p>
* This class extends LazyMetadataValue for historical reasons, even though it
* overrides all the implementation methods. it is possible that in the future
* that the inheritance hierarchy may change.
*/
public class FixedMetadataValue extends LazyMetadataValue {
/**
* Store the internal value that is represented by this fixed value.
*/
private final Object internalValue;
/**
* Initializes a FixedMetadataValue with an Object
*
* @param owningPlugin the {@link Plugin} that created this metadata value
* @param value the value assigned to this metadata value
*/
public FixedMetadataValue(@NotNull Plugin owningPlugin, @Nullable final Object value) {
super(owningPlugin);
this.internalValue = value;
}
@Override
public void invalidate() {
}
@Nullable
@Override
public Object value() {
return internalValue;
}
}