Class ParametroConfiguracion<E,T>
- java.lang.Object
-
- io.github.alextmjugador.khron.libconfig.ParametroConfiguracion<E,T>
-
- Type Parameters:
E- El tipo del valor almacenado en memoria por este parámetro.T- El tipo de valor almacenado en el fichero de configuración YAML para este parámetro.
- Direct Known Subclasses:
ParametroConfiguracionNotificado,TextoHora
public abstract class ParametroConfiguracion<E,T> extends Object
Representa un parámetro de configuración de un plugin.- Author:
- AlexTMjugador
-
-
Field Summary
Fields Modifier and Type Field Description private StringidLa identificación de este parámetro de configuración en el comando para cambiarlo del getPlugin().private StringpermisoEl nombre del permiso que un emisor de comandos necesitará tener, normalmente, para cambiar el parámetro.private org.bukkit.plugin.PluginpluginEl plugin al que pertenece este parámetro de configuración.private StringrutaConfiguracionLa ruta de este parámetro en el archivo de configuración del plugin.private EvalorEl valor que toma el parámetro de configuración.
-
Constructor Summary
Constructors Constructor Description ParametroConfiguracion(org.bukkit.plugin.Plugin plugin, String rutaConfiguracion, String id, String permiso)Crea un nuevo parámetro de configuración con su plugin asociado, la ruta en el fichero de configuración, el nombre del argumento para el comando que permite cambiarlo y el permiso necesario para realizarle modificaciones.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description StringgetId()Obtiene la identificación de este parámetro de configuración en el comando para cambiarlo del plugin.StringgetPermiso()Obtiene el permiso que un emisor de comandos necesitará para cambiar el parámetro.org.bukkit.plugin.PlugingetPlugin()Obtiene el plugin asociado a este parámetro de configuración.StringgetRutaConfiguracion()Devuelve la ruta de este parámetro en el archivo de configuración del plugin.EgetValor()Obtiene el valor al que está establecido este parámetro de configuración.protected TgetValorYaml()Obtiene el valor tal y como se debe de guardar en un fichero de configuración YAML.voidleer()Lee el valor guardado en la configuración del plugin para este parámetro, e inicializa el valor asociado a este parámetro de configuración a partir de lo leído desde el fichero de configuración.protected EprocesarValor(E nuevoValor)Procesa el valor que se le pasa como parámetro, dejándolo listo para ser el valor guardado en las estructuras de datos internas del plugin.booleanpuedeCambiarlo(org.bukkit.command.CommandSender snd)Comprueba si un emisor de comandos tiene permisos para modificar este parámetro de configuración.voidrecargarConfiguracion()Recarga los contenidos del fichero de configuración asociado a este parámetro de configuración desde memoria secundaria.booleansetValor(E nuevoValor)Establece el valor de este parámetro de configuración, si es válido.protected booleansetValor(E nuevoValor, boolean guardarADisco)Establece el valor de este parámetro de configuración, si es válido.abstract booleansetValor(String nuevoValor)Establece el valor de este parámetro de configuración, si es válido, convirtiéndolo antes deStringal tipo de dato que se use para almacenar el valor.booleanvalorValido()Obtiene si el valor almacenado para este parámetro de configuración es válido.booleanvalorValido(E otroValor)Obtiene si el valor especificado de este parámetro de configuración sería válido.
-
-
-
Field Detail
-
plugin
private final org.bukkit.plugin.Plugin plugin
El plugin al que pertenece este parámetro de configuración.
-
rutaConfiguracion
private final String rutaConfiguracion
La ruta de este parámetro en el archivo de configuración del plugin.
-
id
private final String id
La identificación de este parámetro de configuración en el comando para cambiarlo del getPlugin().
-
permiso
private final String permiso
El nombre del permiso que un emisor de comandos necesitará tener, normalmente, para cambiar el parámetro.
-
valor
private E valor
El valor que toma el parámetro de configuración.
-
-
Constructor Detail
-
ParametroConfiguracion
public ParametroConfiguracion(org.bukkit.plugin.Plugin plugin, String rutaConfiguracion, String id, String permiso) throws IllegalArgumentExceptionCrea un nuevo parámetro de configuración con su plugin asociado, la ruta en el fichero de configuración, el nombre del argumento para el comando que permite cambiarlo y el permiso necesario para realizarle modificaciones.- Parameters:
plugin- El plugin al que pertenece este parámetro de configuración.rutaConfiguracion- La ruta de este parámetro en el archivo de configuración del plugin.id- La identificación de este parámetro de configuración en el comando para cambiarlo del plugin.permiso- El nombre del permiso que un emisor de comandos necesitará tener para cambiar el parámetro.- Throws:
IllegalArgumentException- Si alguno de los argumentosrutaConfiguracion,nombreCodigoypermisoes nulo.
-
-
Method Detail
-
puedeCambiarlo
public boolean puedeCambiarlo(org.bukkit.command.CommandSender snd)
Comprueba si un emisor de comandos tiene permisos para modificar este parámetro de configuración.- Parameters:
snd- El emisor de comandos a comprobar.- Returns:
- Verdadero si el emisor de comandos especificado tiene permisos, falso en caso contrario.
-
valorValido
public final boolean valorValido()
Obtiene si el valor almacenado para este parámetro de configuración es válido.- Returns:
- Verdadero si el susodicho valor es válido, falso en caso contrario.
-
valorValido
public boolean valorValido(E otroValor)
Obtiene si el valor especificado de este parámetro de configuración sería válido.- Parameters:
otroValor- El valor a comprobar.- Returns:
- Verdadero si el susodicho parámetro sería válido, falso en caso contrario.
-
getPlugin
public final org.bukkit.plugin.Plugin getPlugin()
Obtiene el plugin asociado a este parámetro de configuración.- Returns:
- El devandicho plugin.
-
getRutaConfiguracion
public final String getRutaConfiguracion()
Devuelve la ruta de este parámetro en el archivo de configuración del plugin.- Returns:
- La ruta de este parámetro en el archivo de configuración del plugin.
-
getId
public final String getId()
Obtiene la identificación de este parámetro de configuración en el comando para cambiarlo del plugin.- Returns:
- La devandicha identificación.
-
getPermiso
public final String getPermiso()
Obtiene el permiso que un emisor de comandos necesitará para cambiar el parámetro.- Returns:
- El susodicho permiso.
-
getValor
public final E getValor()
Obtiene el valor al que está establecido este parámetro de configuración.- Returns:
- El susodicho valor.
-
getValorYaml
protected T getValorYaml()
Obtiene el valor tal y como se debe de guardar en un fichero de configuración YAML.- Returns:
- El susodicho valor. La implementación predeterminada de este método asume que la clase del objeto a guardar en el fichero de configuración YAML es la misma o una superclase de la clase del valor en memoria.
-
recargarConfiguracion
public final void recargarConfiguracion()
Recarga los contenidos del fichero de configuración asociado a este parámetro de configuración desde memoria secundaria. Es útil llamar a este método antes deleer()lo que se espera que sean nuevos valores para los parámetros de configuración.
-
leer
public void leer() throws IllegalArgumentExceptionLee el valor guardado en la configuración del plugin para este parámetro, e inicializa el valor asociado a este parámetro de configuración a partir de lo leído desde el fichero de configuración. Cabe destacar que este método por si solo no recarga la configuración asociada al plugin en memoria por Paper.- Throws:
IllegalArgumentException- Si el valor guardado en la configuración del plugin para este parámetro no es válido.
-
setValor
protected final boolean setValor(E nuevoValor, boolean guardarADisco)
Establece el valor de este parámetro de configuración, si es válido. Se utilizavalorValido()para determinar la validez del nuevo valor, yprocesarValor(E)para preprocesar el valor que tomará el atributo de la clase que lo almacena.- Parameters:
nuevoValor- El valor a establecer.guardarADisco- Verdadero si se debe de considerar la posibilidad de guardar el nuevo valor a memoria secundaria si ha cambiado, falso en caso contrario.- Returns:
- Verdadero si el nuevo valor se pudo establecer por ser válido, falso en caso contrario.
-
setValor
public final boolean setValor(E nuevoValor)
Establece el valor de este parámetro de configuración, si es válido. Se utilizavalorValido()para determinar la validez del nuevo valor, yprocesarValor(E)para preprocesar el valor que tomará el atributo de la clase que lo almacena. Si se trata de un nuevo valor diferente al anterior, se guardará el nuevo valor en el fichero de configuración del plugin.- Parameters:
nuevoValor- El valor a establecer.- Returns:
- Verdadero si el nuevo valor se pudo establecer por ser válido, falso en caso contrario.
-
procesarValor
protected E procesarValor(E nuevoValor)
Procesa el valor que se le pasa como parámetro, dejándolo listo para ser el valor guardado en las estructuras de datos internas del plugin. Este método solo debe de ser llamado internamente desde su clase, no desde otras (las sobreescrituras de las subclases pueden asumir tal condición). Entonces, cuando es invocado, se ha garantizado quenuevoValores válido y diferente al actual, y el valor devuelto será asignado como nuevo valor del parámetro de configuración.- Parameters:
nuevoValor- El valor a procesar.- Returns:
- El susodicho valor, procesado.
-
setValor
public abstract boolean setValor(String nuevoValor)
Establece el valor de este parámetro de configuración, si es válido, convirtiéndolo antes deStringal tipo de dato que se use para almacenar el valor. Se recomienda que las implementaciones utilicen setValor para establecer el valor tras la conversión que sea necesaria. Este método es usado para modificar el valor del parámetro de configuración a partir de lo especificado por un usuario en un comando.- Parameters:
nuevoValor- El valor a establecer, como una cadena de texto que será convertida al tipo de dato usado.- Returns:
- Verdadero si el nuevo valor se pudo establecer por ser válido, falso en caso contrario.
-
-