Package Torello.HTML

Class InnerTagValueException

  • All Implemented Interfaces:
    java.io.Serializable

    public class InnerTagValueException
    extends java.lang.IllegalArgumentException
    This class is not used internally, but is intended to be used to check for invalid attribute-values inside HTML Tags.

    One variant of such a check is look for the presence of new-line ('\n') characters in those values. (The HTML 5.0 Specification certainly does not disallow new-lines, though). Since attribute values may contain just about anything.

    Since this package was initially written for foreign-language news translations, higher-level UTF-8 characters occur inside HTML element inner-tag values all the time.
    See Also:
    Serialized Form


    • Field Summary

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

      Constructors 
      Constructor Description
      InnerTagValueException()
      Constructs an InnerTagValueException with no detail message.
      InnerTagValueException​(String message)
      Constructs an InnerTagValueException with the specified detail message.
      InnerTagValueException​(String message, Throwable cause)
      Constructs a new exception with the specified detail message and cause.
      InnerTagValueException​(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​(String value)
      static void check​(String value, String key)
      • 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

      • InnerTagValueException

        🡅  🡇     🗕  🗗  🗖
        public InnerTagValueException​(java.lang.String message)
        Constructs an InnerTagValueException with the specified detail message.
        Parameters:
        message - the detail message.
      • InnerTagValueException

        🡅  🡇     🗕  🗗  🗖
        public InnerTagValueException​(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 nonexistent or unknown).
      • InnerTagValueException

        🡅  🡇     🗕  🗗  🗖
        public InnerTagValueException​(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 nonexistent or unknown).
    • Method Detail

      • check

        🡇     🗕  🗗  🗖
        public static void check​(java.lang.String value)
        This merely performs a "new-line ('\n')" test. If a new-line character is found, an exception is thrown.
        Parameters:
        value - Any Java-String, but this value is intended to be used in an HTML-Element Attribute-Value Pair as the attribute-value (not the attribute-key).
        Throws:
        InnerTagValueException - If this new-line test fails, this exception is thrown.
        Code:
        Exact Method Body:
         if (value.indexOf("\n") != -1) throw new InnerTagValueException(
             "The following inner-tag attribute-value contains the newline-character:\n" +
             value.replace("\n", "[\\n]") + "\n"
         );
        
      • check

        🡅  🡇     🗕  🗗  🗖
        public static void check​(java.lang.String value,
                                 java.lang.String key)
        This performs the identical test as the other method by this same name, but allows for the attribute-key to be included in the Exception's "Error Message" (for reporting purposes only)
        Parameters:
        value - Any Java-String, but this value is intended to be used in an HTML-Element Attribute-Value Pair as the attribute-value (not the attribute-key).
        key - This is the key associated with this value. It is included for "error-reporting' (the exception's Message String) only!
        Throws:
        InnerTagValueException - If this new-line test fails, this exception is thrown.
        See Also:
        check(String)
        Code:
        Exact Method Body:
         if (value.indexOf("\n") != -1) throw new InnerTagValueException(
             "The following inner-tag attribute-value contains the newline-character:\n" +
             "key:\t" + key + "\n" +
             "value:\t" + value.replace("\n", "[\\n]") + "\n"
         );