package timeflow.model; public class TFEvent { public enum Type {DATABASE_CHANGE, ACT_ADD, ACT_DELETE, ACT_CHANGE, ERROR, SOURCE_CHANGE, DESCRIPTION_CHANGE, FIELD_ADD, FIELD_DELETE, FIELD_CHANGE, SELECTION_CHANGE, FILTER_CHANGE, VIEW_CHANGE}; public Type type; public String message="[]"; public Object info; public Object origin; public TFEvent(Type type, Object origin) { this.type=type; this.origin=origin; } public String toString() { return "[TimelineEvent: type="+type+", info="+info+", message="+message+", origin="+origin+"]"; } public boolean affectsSchema() { switch (type){ case DATABASE_CHANGE: case FIELD_ADD: case FIELD_DELETE: case FIELD_CHANGE: return true; } return false; } public boolean affectsRowSet() { return affectsSchema() || type==Type.ACT_CHANGE || type== Type.ACT_ADD || type== Type.ACT_DELETE || type==Type.FILTER_CHANGE; } public boolean affectsData() { return type!=Type.SELECTION_CHANGE && type!=Type.VIEW_CHANGE && type!=Type.ERROR; } }