001 package org.LiveGraph.events;
002
003
004 public class ValidationRequirementException extends RuntimeException {
005
006 public static enum FailedOperation { VALIDATE, RAISE }
007
008 private Event<? extends EventType> event;
009 private FailedOperation failedOperation;
010
011 public ValidationRequirementException(Event<? extends EventType> event, FailedOperation failedOperation) {
012 super("Cannot perform operation "
013 + (null == failedOperation ? "NULL" : failedOperation.toString())
014 + " on an event of type "
015 + (null == event ? "NULL" : event.getType().toString())
016 + " with a validation requirement "
017 + (null == event ? "NULL" : event.getValidationRequirement().toString())
018 + " and a current validation status "
019 + (null == event ? "NULL" : (event.validated() ? "VALIDATED" : "NOT-VALIDATED")));
020 this.event = event;
021 this.failedOperation = failedOperation;
022 }
023
024 public Event<? extends EventType> getEvent() {
025 return event;
026 }
027
028 public FailedOperation getFailedOperation() {
029 return failedOperation;
030 }
031
032 }