@ Override public boolean parseDeclaration ( Declaration d , Map < String , CSSProperty > properties , Map < String , Term < ? > > values ) { final String propertyName = d . getProperty ( ) ; // no such declaration is supported or declaration is empty if ( ! css . isSupportedCSSProperty ( propertyName ) || d . isEmpty ( ) ) return false ; try { Method m = methods . get ( propertyName ) ; if ( m != null ) { boolean result = ( Boolean ) m . invoke ( this , d , properties , values ) ; log . debug ( "Parsing /{}/ {}" , result , d ) ; return result ; } else { boolean result = processAdditionalCSSGenericProperty ( d , properties , values ) ; log . debug ( "Parsing with proxy /{}/ {}" , result , d ) ; return result ; } } catch ( IllegalArgumentException e ) { log . warn ( "Illegal argument" , e ) ; } catch ( IllegalAccessException e ) { log . warn ( "Illegal access" , e ) ; } catch ( InvocationTargetException e ) { log . warn ( "Invocation target" , e ) ; log . warn ( "Invotation target cause" , e . getCause ( ) ) ; } return false ; }
Core function . Parses CSS declaration into structure applicable to DataNodeImpl