Package Torello.HTML

Class ClosingTagNodeException

  • All Implemented Interfaces:
    java.io.Serializable

    public class ClosingTagNodeException
    extends java.lang.RuntimeException
    This throws when attempting to write attributes to a closing TagNode (because closing tag's may not have attributes),

    Valid HTML does not allow "Inner Tags" or "Attributes" to be inserted into HTML Elements that begin with the forward-slash (ASCII Character: '/'). The class TagNode has quite a few methods that facilitate saving Inner-Tag Key / Value Pairs to the text-String of a TagNode. In cases where one, mistakenly, is attempting to perform such an insert on a closing version of the element, then this exception must throw.

    NOTE: This Exception differs from ClosingTagNodeExpectedException in that here, the user is attempting to perform a TagNode-operation on a TagNode instance that will not allow it.

    In ClosingTagNodeExpectedException, that Exception should be thrown when a user a specified a certain element to be found inside a Vector, but such a TagNode was not found.
    See Also:
    Serialized Form


    • Field Summary

       
      Serializable ID
      Modifier and Type Field
      static long serialVersionUID
    • Constructor Summary

      Constructors 
      Constructor Description
      ClosingTagNodeException()
      Constructs a ClosingTagNodeException with no detail message.
      ClosingTagNodeException​(String message)
      Constructs a ClosingTagNodeException with the specified detail message.
      ClosingTagNodeException​(String message, Throwable cause)
      Constructs a new exception with the specified detail message and cause.
      ClosingTagNodeException​(Throwable cause)
      Constructs a new exception with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause).
    • Method Summary

       
      'static' Exception Check Methods
      Modifier and Type Method
      static void check​(TagNode tn)
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        🡇     🗕  🗗  🗖
        public static final long serialVersionUID
        This fulfils the SerialVersion UID requirement for all classes that implement Java's interface java.io.Serializable. Using the Serializable Implementation offered by java is very easy, and can make saving program state when debugging a lot easier. It can also be used in place of more complicated systems like "hibernate" to store data as well.

        Note that Java's java.lang.Exception and java.lang.Error classes implement the Serializable interface, and a warning-free build expects this field be defined here.
        See Also:
        Constant Field Values
        Code:
        Exact Field Declaration Expression:
         public static final long serialVersionUID = 1;
        
    • Constructor Detail

      • ClosingTagNodeException

        🡅  🡇     🗕  🗗  🗖
        public ClosingTagNodeException​(java.lang.String message,
                                       java.lang.Throwable cause)
        Constructs a new exception with the specified detail message and cause.

        NOTE:

        The detail message associated with cause is not automatically incorporated into this exception's detail message.
        Parameters:
        message - The detail message (which is saved for later retrieval by the Throwable.getMessage() method).
        cause - the cause (which is saved for later retrieval by the Throwable.getCause() method). (A null value is permitted, and indicates that the cause is non-existent or unknown.)
      • ClosingTagNodeException

        🡅  🡇     🗕  🗗  🗖
        public ClosingTagNodeException​(java.lang.Throwable cause)
        Constructs a new exception with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause). This constructor is useful for exceptions that are little more than wrappers for other throwables.
        Parameters:
        cause - The cause (which is saved for later retrieval by the Throwable.getCause() method). (A null value is permitted, and indicates that the cause is non-existent or unknown.)
    • Method Detail

      • check

        🡅     🗕  🗗  🗖
        public static void check​(TagNode tn)
        Checks the input TagNode parameter to ensure that it is a 'Closing HTML Element.' This can be verified by inspecting the public final boolean 'isClosing' field. If the TagNode input does not represent a 'Closing HTML Element', then this exception shall throw.
        Parameters:
        tn - Any HTML TagNode element
        Throws:
        ClosingTagNodeException - This throws if tn.isclosing is FALSE. Exits gracefully otherwise.
        Code:
        Exact Method Body:
         if (! tn.isClosing) return;
        
         throw new ClosingTagNodeException(
             "You have attempted to add, modify, delete, or update the inner-tag key-value pair information " +
             "for this particular HTML Element.  Unfortunately, the value of 'isClosing' for this TagNode is " +
             "TRUE, and therefore may not possess any attribute key-value pairs at all.  NOTE: The '.tok' " +
             "field for this TagNode is: [" + tn.tok + "], and the '.str' field is: [" + tn.str + "]"
         );