001package Torello.HTML;
002
003// These are only needed for the Java Doc {@link ...} taglets.
004import Torello.HTML.NodeSearch.InnerTagPeekInclusive;
005import Torello.HTML.NodeSearch.TagNodePeekInclusive;
006
007/**
008 * In order for a set or collection of <CODE>&lt;{@link Replaceable}&gt;</CODE> to work properly
009 * during an update or replacement, the set or collection ({@code Iterable}) of
010 * {@code Replaceable's} must be properly sorted and the pieces may not overlap (as per their
011 * <B><I>original-locations</I></B>).  Furthermore, their original-location values must all point
012 * to indices that are actually within the HTML-{@code Vector's} bounds.
013 * 
014 * This is the parent exception of any &amp; all exceptions
015 * that may occur if these requirements aren't met.  These inheriting-exceptions are listed below:
016 * 
017 * <BR /><BR /><UL CLASS=JDUL>
018 * <LI>
019 *      <B>{@link ReplaceablesOverlappingException}</B> -
020 *      If two consecutive {@code Replaceable} instances (consecutively returned by an
021 *      {@code Iterator} on a Set or Collection) have any <B><I>original-location</B></I>
022 *      HTML-{@code Vector} indices that are overlapping.
023 *      <BR /><BR />
024 *      </LI>
025 * <LI>
026 *      <B>{@link ReplaceablesUnsortedException}</B> -
027 *      If two consecutive {@code Replaceable} instances (consecutively returned by an
028 *      {@code Iterator} on a Set or Collection) have <B><I>original</I></B> HTML-{@code Vector}
029 *      <B><I>starting-locations</I></B> that are not ordered.
030 *      <BR /><BR />
031 *      </LI>
032 * <LI>
033 *      <B>{@link ReplaceableOutOfBoundsException}</B> -
034 *      If either the starting or ending original-location of a {@code Replaceable} is not within
035 *      bounds of an HTML-{@code Vector}.
036 *      </LI>
037 * </UL>
038 * 
039 * <BR /><BR />This class may be used for other purposes not currently employed within the standard
040 * Java HTML JAR Library.
041 */
042public class ReplaceableException extends RuntimeException
043{
044    /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUIDEX> */
045    public static final long serialVersionUID = 1;
046
047    /** Constructs a {@code ReplaceableException} with no detail message. */
048    public ReplaceableException()
049    { super(); }
050
051    /**
052     * Constructs a {@code ReplaceableException} with the specified detail message.
053     * @param message the detail message.
054     */
055    public ReplaceableException(String message)
056    { super(message); }
057}