InvalidMessageException.java

  1. package fr.sii.ogham.core.exception;

  2. import static fr.sii.ogham.core.CoreConstants.SERIAL_VERSION_UID;

  3. import java.util.HashSet;
  4. import java.util.Set;

  5. import fr.sii.ogham.core.message.Message;

  6. /**
  7.  * Specialized exception that is thrown when a message is not valid (some fields
  8.  * are required or need to conform a particular format). This exception provides
  9.  * the violations.
  10.  *
  11.  * @author AurĂ©lien Baudet
  12.  *
  13.  */
  14. public class InvalidMessageException extends MessageException {
  15.     private static final long serialVersionUID = SERIAL_VERSION_UID;

  16.     private final Set<String> violations;

  17.     public InvalidMessageException(String message, Message msg, Set<String> violations) {
  18.         super(message, msg);
  19.         this.violations = violations;
  20.     }

  21.     public InvalidMessageException(String message, Message msg, String violation) {
  22.         this(message, msg, new HashSet<>());
  23.         violations.add(violation);
  24.     }

  25.     public Set<String> getViolations() {
  26.         return violations;
  27.     }
  28. }