Interface ICSSParseErrorHandler

All Known Implementing Classes:
CollectingCSSParseErrorHandler, DoNothingCSSParseErrorHandler, LoggingCSSParseErrorHandler, ThrowingCSSParseErrorHandler

public interface ICSSParseErrorHandler
Special CSS handler that is invoked during reading in case of a recoverable errors. In case of unrecoverable errors, a ParseException is thrown!
Author:
Philip Helger
  • Method Details

    • onCSSParseError

      void onCSSParseError(@Nonnull ParseException aParseEx, @Nullable Token aLastSkippedToken) throws ParseException
      Called upon a recoverable error. The parameter list is similar to the one of the ParseException.
      Parameters:
      aParseEx - The original parse exception. May not be null.
      aLastSkippedToken - The token until which was skipped (incl.) May be null.
      Throws:
      ParseException - In case the error is fatal and should be propagated.
    • onCSSUnexpectedRule

      void onCSSUnexpectedRule(@Nonnull Token aCurrentToken, @Nonnull @Nonempty String sRule, @Nonnull @Nonempty String sMsg) throws ParseException
      Called upon an unexpected rule. This happens e.g. when @import is used in the middle of the file.
      Parameters:
      aCurrentToken - The token that could not be interpreted. Never null.
      sRule - The name of the rule. Always starts with a '@'. Neither null nor empty.
      sMsg - The custom error message. Neither null nor empty.
      Throws:
      ParseException - In case the error is fatal and should be propagated.
    • onCSSDeprecatedProperty

      void onCSSDeprecatedProperty(@Nonnull Token aPrefixToken, @Nonnull Token aIdentifierToken) throws ParseException
      To be called, if a deprecated old IE 6/7 property is found.
      Parameters:
      aPrefixToken - The prefix token found (like '$' or '*'). Never null.
      aIdentifierToken - The identifier token found. Never null.
      Throws:
      ParseException - In case the error is fatal and should be propagated.
      Since:
      6.5.0
    • onCSSBrowserCompliantSkip

      void onCSSBrowserCompliantSkip(@Nullable ParseException ex, @Nonnull Token aFromToken, @Nonnull Token aToToken) throws ParseException
      This method is only called in browser compliant mode if a certain part of the CSS is skipped.
      Parameters:
      ex - The original ParseException that causes the parser to skip. May be null.
      aFromToken - Original token that caused the error and was skipped (inclusive). Never null.
      aToToken - The end token until which was skipped (exclusive). Never null.
      Throws:
      ParseException - In case the error is fatal and should be propagated.
      See Also:
    • onIllegalCharacter

      default void onIllegalCharacter(char cIllegalChar)
      This method is invoked, when an illegal character is encountered (in TokenManager), and the respective rule is part of the JavaCC grammar.
      Parameters:
      cIllegalChar - The illegal char
      Since:
      5.0.3
    • and

      Create a new ICSSParseErrorHandler that invokes both this and the other error handler in a serial way.
      Parameters:
      aOther - The other handler to also be invoked.
      Returns:
      A new instance. Never null.