60 lines
1.1 KiB
Java
60 lines
1.1 KiB
Java
|
package pm.j4.petroleum.util.module.option;
|
||
|
|
||
|
import com.google.gson.JsonElement;
|
||
|
import pm.j4.petroleum.util.module.ModuleBase;
|
||
|
|
||
|
/**
|
||
|
* The type Configuration option.
|
||
|
*/
|
||
|
public abstract class ConfigurationOption {
|
||
|
/**
|
||
|
* The Description.
|
||
|
*/
|
||
|
private final String description;
|
||
|
private final String key;
|
||
|
private final ModuleBase parent;
|
||
|
|
||
|
/**
|
||
|
* Instantiates a new Configuration option.
|
||
|
*
|
||
|
* @param description the description
|
||
|
*/
|
||
|
public ConfigurationOption(String key, String description, ModuleBase parent) {
|
||
|
this.description = description;
|
||
|
this.key = key;
|
||
|
this.parent = parent;
|
||
|
}
|
||
|
/**
|
||
|
* Gets description.
|
||
|
*
|
||
|
* @return the description
|
||
|
*/
|
||
|
public final String getDescription() {
|
||
|
return this.description;
|
||
|
}
|
||
|
public final String getConfigKey() { return key; }
|
||
|
public final ModuleBase getParent() { return parent; }
|
||
|
|
||
|
/**
|
||
|
* Gets string value.
|
||
|
*
|
||
|
* @return the string value
|
||
|
*/
|
||
|
public abstract String getStringValue();
|
||
|
|
||
|
/**
|
||
|
* From json.
|
||
|
*
|
||
|
* @param e the e
|
||
|
*/
|
||
|
public abstract void fromJson(JsonElement e);
|
||
|
|
||
|
/**
|
||
|
* To json json element.
|
||
|
*
|
||
|
* @return the json element
|
||
|
*/
|
||
|
public abstract JsonElement toJson();
|
||
|
|
||
|
}
|