001package Torello.Browser;
002
003/**
004 * Used to indicate that a field within a CDP type or event has been constructed is a string field,
005 * and has a pre-defined & pre-specified enumeration of valid strings, but whose value does not
006 * actually equal one of the listed, pre-defined strings.
007 * 
008 * <BR /><BR /><DIV CLASS=JDHint>
009 * Enumeration Lists in the Browser's API are not actually "reified" into standard Java
010 * {@code enum's}.  In this way, if a "suprise return string" from a Browser isn't actually a valid
011 * element within the {@code enum's} string list, an exception thrown at the transport web-sockets
012 * layer can easily be avoided.  Instead, if the user needs to check the validity of an event or 
013 * domain class, he may simply invoke the {@link BaseType#enumStrValidate()} or the 
014 * {@link BaseType#enumStrValidateThrow()} methods.
015 * </DIV>
016 * 
017 * @see BaseType#enumStrValidate()
018 * @see BaseType#enumStrValidateThrow()
019 * @see NestedHelper#enumStrValidate(BaseType)
020 */
021public class InvalidEnumStrException extends DataIntegrityException
022{
023    /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUIDEX>  */
024    public static final long serialVersionUID = 1;
025
026    /** Constructs a {@code InvalidEnumStrException} with no detail message. */
027    public InvalidEnumStrException()
028    { super(); }
029
030    /**
031     * Constructs a {@code InvalidEnumStrException} with the specified detail message.
032     * @param message the detail message.
033     */
034    public InvalidEnumStrException(String message)
035    { super(message); }
036}