Class CssValidator


  • public class CssValidator
    extends java.lang.Object
    Encapsulates all the neceesary operations for validating individual eleements of a stylesheet (namely: selectors, conditions and properties).
    Author:
    Jason Li
    • Constructor Summary

      Constructors 
      Constructor Description
      CssValidator​(Policy policy)
      Constructs a validator for CSS selectors, conditions and properties based on the given policy.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean isValidCondition​(java.lang.String selectorName, org.w3c.css.sac.Condition condition)
      Determines whether the given condition is valid according to this validator's policy.
      boolean isValidProperty​(java.lang.String name, org.w3c.css.sac.LexicalUnit lu)
      Determines whether the given property (both name and value) are valid according to this validator's policy.
      boolean isValidSelector​(java.lang.String selectorName, org.w3c.css.sac.Selector selector)
      Determines whether the given selector name is valid according to this validator's policy.
      java.lang.String lexicalValueToString​(org.w3c.css.sac.LexicalUnit lu)
      Converts the given lexical unit to a String representation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CssValidator

        public CssValidator​(Policy policy)
        Constructs a validator for CSS selectors, conditions and properties based on the given policy.
        Parameters:
        policy - the policy file to use in this validator
    • Method Detail

      • isValidProperty

        public boolean isValidProperty​(java.lang.String name,
                                       org.w3c.css.sac.LexicalUnit lu)
        Determines whether the given property (both name and value) are valid according to this validator's policy.
        Parameters:
        name - the name of the property
        lu - the value of the property
        Returns:
        true if this property name/value is valid; false otherwise
      • isValidSelector

        public boolean isValidSelector​(java.lang.String selectorName,
                                       org.w3c.css.sac.Selector selector)
                                throws ScanException
        Determines whether the given selector name is valid according to this validator's policy.
        Parameters:
        selectorName - the name of the selector
        selector - the object representation of the selector
        results - the CleanResults object to add any error messages to
        Returns:
        true if this selector name is valid; false otherwise
        Throws:
        ScanException
      • isValidCondition

        public boolean isValidCondition​(java.lang.String selectorName,
                                        org.w3c.css.sac.Condition condition)
                                 throws ScanException
        Determines whether the given condition is valid according to this validator's policy.
        Parameters:
        selectorName - the name of the selector that contains this condition
        condition - the object representation of this condition
        results - the CleanResults object to add any error messages to
        Returns:
        true if this condition is valid; false otherwise
        Throws:
        ScanException
      • lexicalValueToString

        public java.lang.String lexicalValueToString​(org.w3c.css.sac.LexicalUnit lu)
        Converts the given lexical unit to a String representation. This method does not perform any validation - it is meant to be used in conjunction with the validator/logging methods.
        Parameters:
        lu - the lexical unit to convert
        Returns:
        a String representation of the given lexical unit