petroleum/src/main/java/pm/j4/petroleum/util/module/option/ConfigurationOption.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();
}