package proyectoempresaevent;
import java.util.ArrayList;
import java.util.ListIterator;
public class Empresa {
private int id;
private String nombre;
private String apellido;
private int edad;
private String empresa;
private static ArrayList listeners;
public Empresa(int id, String nombre, String apellido, int edad, String empresa) {
this.id = id;
this.nombre = nombre;
this.apellido = apellido;
this.edad = edad;
this.empresa = empresa;
listeners=new ArrayList();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
this.triggerIdEvent();
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
this.triggerNameEvent();
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
this.triggerLasNameEvent();
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
this.triggerAgeEvent();
}
public String getEmpresa() {
return empresa;
}
public void setEmpresa(String empresa) {
this.empresa = empresa;
this.triggerBusinessEvent();
}
public void addEventListener(changeEventListener listner) {
listeners.add(listner);
}
private void triggerNameEvent() {
ListIterator li = listeners.listIterator();
while (li.hasNext()) {
changeEventListener listener = (changeEventListener) li.next();
changeEvent readerObject = new changeEvent(this, this);
(listener).onNameChanged(readerObject);
}
}
private void triggerIdEvent() {
ListIterator li = listeners.listIterator();
while (li.hasNext()) {
changeEventListener listener = (changeEventListener) li.next();
changeEvent readerObject = new changeEvent(this, this);
(listener).onIdChange(readerObject);
}
}
private void triggerAgeEvent() {
ListIterator li = listeners.listIterator();
while (li.hasNext()) {
changeEventListener listener = (changeEventListener) li.next();
changeEvent readerObject = new changeEvent(this, this);
(listener).onAgeChange(readerObject);
}
}
private void triggerBusinessEvent() {
ListIterator li = listeners.listIterator();
while (li.hasNext()) {
changeEventListener listener = (changeEventListener) li.next();
changeEvent readerObject = new changeEvent(this, this);
(listener).onBisnessChange(readerObject);
}
}
private void triggerLasNameEvent() {
ListIterator li = listeners.listIterator();
while (li.hasNext()) {
changeEventListener listener = (changeEventListener) li.next();
changeEvent readerObject = new changeEvent(this, this);
(listener).onBisnessChange(readerObject);
}
}
}
package proyectoempresaevent;
import java.util.EventListener;
/*Estos son los métodos que se van a
disparar cuando suceda algún cambio en alguno de
los datos que recoge la clase Empresa.
Por ejemplo, sin una vez establecemos
el nombre y luego queremos cambiarlo, se va
a disparar ejecutar el método onNameChange.
Nuestro proyecto ahora debe lucir asi:*/
public interface changeEventListener extends EventListener {
public abstract void onIdChange(changeEvent ev);
public abstract void onNameChanged(changeEvent ev);
public abstract void onLastNameChange(changeEvent ev);
public abstract void onAgeChange(changeEvent ev);
public abstract void onBisnessChange(changeEvent ev);
}
package proyectoempresaevent;
import java.util.EventObject;
/**
*
* @author USUARIO
*/
public class changeEvent extends EventObject {
Empresa empresa;
public changeEvent(Object o, Empresa empress) {
super(o);
this.empresa = empress;
}
}
package proyectoempresaevent;
/**
*
* @author USUARIO
*/
public class ProyectoEmpresaEvent {
static changeEventListener evento = new changeEventListener() {
@Override
public void onIdChange(changeEvent ev) {
System.out.println("ha cambiado el id");
}
@Override
public void onNameChanged(changeEvent ev) {
System.out.println("ha cambiado el nomrbe");
}
@Override
public void onLastNameChange(changeEvent ev) {
System.out.println("ha cambiado el apellido");
}
@Override
public void onAgeChange(changeEvent ev) {
System.out.println("ha cambiado la edad");
}
@Override
public void onBisnessChange(changeEvent ev) {
System.out.println("ha cambiado el nombre de la empresa");
}
};
public static void main(String[] args) {
Empresa empresa = new Empresa(15, "levi", "velasquez", 19, "naranja");
empresa.addEventListener(evento);
empresa.setApellido("levi velasquez paz");
empresa.setNombre("juan carlo");
}
}






0 comentarios:
Publicar un comentario