Aviso quando um valor do objeto foi alterado

:arrow: Existi issso???

Ex:
eu tenho uma classe

[code]public class Dado{
private int id;



/*Construtor, metados get e set… */
}[/code]

:arrow: Eu queria saber se tem como “tipo gerar um evento” ou alguma notificação quando o objeto fosse alterado.

[code]public class Principal {
Dado dado; // Objeto que eu queria que me notificasse
//que fosse alterado

public Principal(){
dado = new Dado();
}

public void setDado( Dado dado ) {
this.dado = dado;
/* tem como ter alguma notificação quando eu faço alguma alteracao
como essa ae em cima ou tbm se tivesse feito dado.setId( 10 ); por exemplo*/
}
}[/code]

Use o pattern Subscriber/Observer

vc mesmo pode implementar isso na sua classe.

[code]public class SuaClasse {

public Vector listeners = new Vector();

private String valor;

public void addListener( SeuListener l ) {
listeners.add( l );
}

public void setValor( String v ) {
valor = v;
notificarListener();
}

private void notificarListener() {
Iterator it = listeners.iterator();
while( i.hasNext() ) {
//metodo fazerAlgo pode ser definido na Interface SeuListener
((SeuListener) it.next()).fazerAlgo();
}
}
}[/code]

Vc pode utilizar o pattern Observer!!! ou então usar o esquema de eventos do java… Já houve um post sobre esse assunto aqui, se eu achar eu posto aqui!!

Fallow