package pluginbase.config.field;
/**
* Implemented by helper classes that should represent a <i>virtual</i> property.
* {@link SerializationConfig} does <b>not</b> save virtual properties, however
* you can use {@link pluginbase.config.serializers.Serializer}s, {@link Validator}s and all the other
* awesome features of {@link SerializationConfig} with them.
* @param <T>
*/
public interface VirtualField<T> {
/**
* Called to get this {@link VirtualField}'s value.
* @return This {@link VirtualField}'s value.
*/
T get();
/**
* Called to set this {@link VirtualField}'s value.
* @param newValue The new value.
*/
void set(T newValue);
}