001package net.filebot.format;
002
003import static java.util.Arrays.*;
004
005public class BindingException extends RuntimeException {
006
007        private final Flag[] flags;
008
009        public BindingException(String message, Throwable cause, Flag... flags) {
010                super(message, cause);
011                this.flags = flags;
012        }
013
014        public BindingException(Object binding, Object message, Flag... flags) {
015                this(binding, message, null, flags);
016        }
017
018        public BindingException(Object binding, Object message, Throwable cause, Flag... flags) {
019                this("Binding \"" + binding + "\": " + message, cause, flags);
020        }
021
022        public boolean has(Flag flag) {
023                return stream(flags).anyMatch(f -> f == flag);
024        }
025
026        public static enum Flag {
027                UNDEFINED, SAMPLE_FILE_NOT_SET;
028        }
029
030}