Tag: varwatcher
FileWatcher para variables ¿ VariableWatcher ?
by Desendoll on Dic.16, 2008, under JAVA
Hace un tiempo que estoy trabajando con Java, y aun que llevo poco tiempo, ya me voy dando cuenta de sus pros y sus contras. No voy hacer un VS. de estos que podéis encontrar en internet, pero si que voy a colgar un script que me ha sido de mucha utilidad.
Todos conocéis, o podéis encontrar con facilidad un script que compruebe si hay cambios en un fichero, ej: tenéis un .ini de configuración y miráis todo el rato si ha habido alguna modificación para detectarlo. Pues bien, he tenido la necesidad de hacer lo mismo con una clase y este ha sido el resultado.
Primero la clase, que ataque de originalidad le pondremos el nombre de VariableWarcher:
(tiene que ser un extends de TimerTask para ejecutarlo periódicamente)
public abstract class VariableWatcher extends TimerTask {
private nuestraClase clase;
public VariableWatcher( nuestraClasse clase) {
this.clase = clase;
}
public final void run() {
if ( /* lo que queramos encontrar de cambio */ )
{
onChangeConn(clase);
}
}
/* Para hacerlo mas dinámico la función onChangeVar no la programamos aun*/
protected abstract void onChangeVar(nuestraClase clase);
}
Y por ultimo la función, o el main o donde lo queramos colocar:
public void controlVariable() {
TimerTask task = new VariableWatcher( Obj.nuestraClase) {
protected void onChangeVar( nuestraClasse nuestraClase) {
/* Lo que queremos que haga cuando se realice el cambio */
}};
/* Inicialización del timer, y ejecución cada segundo. */
Timer timer = new Timer();
timer.schedule( task , new Date(), 1000 );
}
PD: Si, he tenido un montón de problemas de sincronización y concurrencia, pero esto ya lo comentare otro día.
