/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package gui.events;
import op.OPDE;
import org.apache.log4j.Logger;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.Validator;
import java.util.EventObject;
import java.util.Set;
/**
* @author tloehr
*/
public class DataChangeEvent<T> extends EventObject {
T data;
private boolean triggersReload = false;
public T getData() {
return data;
}
private DataChangeEvent(Object source) {
super(source);
}
public DataChangeEvent(Object source, T data) throws ConstraintViolationException {
super(source);
setData(data);
}
public void setData(T data) throws ConstraintViolationException {
this.data = data;
Validator validator = OPDE.getValidatorFactory().getValidator();
Set<ConstraintViolation<T>> constraintViolations = validator.validate(this.data);
if (!constraintViolations.isEmpty()) {
throw new ConstraintViolationException(constraintViolations);
}
}
public boolean isTriggersReload() {
return triggersReload;
}
public void setTriggersReload(boolean triggersReload) {
this.triggersReload = triggersReload;
}
}