org.jfree.layouting.layouter.style.resolver
Class DefaultStyleResolver

java.lang.Object
  extended by org.jfree.layouting.layouter.style.resolver.AbstractStyleResolver
      extended by org.jfree.layouting.layouter.style.resolver.DefaultStyleResolver
All Implemented Interfaces:
StyleResolver, StatefullComponent

public class DefaultStyleResolver
extends AbstractStyleResolver

A cascading style resolver. This resolver follows the cascading rules as outlined by the Cascading Stylesheet Standard.

Author:
Thomas Morgner

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jfree.layouting.layouter.style.resolver.AbstractStyleResolver
AbstractStyleResolver.AbstractStyleResolverState
 
Constructor Summary
DefaultStyleResolver()
           
 
Method Summary
 StyleResolver deriveInstance()
           
 void initialize(LayoutProcess layoutProcess)
           
 boolean isPseudoElementStyleResolvable(LayoutElement element, java.lang.String pseudo)
          Performs tests, whether there is a pseudo-element definition for the given element.
protected  void resolveOutOfContext(LayoutElement element)
           
 LayoutStyle resolvePageStyle(CSSValue pageName, PseudoPage[] pseudoPages, PageAreaType pageArea)
           
 void resolveStyle(LayoutElement element)
          Resolves the style.
 State saveState()
           
 
Methods inherited from class org.jfree.layouting.layouter.style.resolver.AbstractStyleResolver
containsAttrFunction, copyStyleInformation, createAnonymousContext, fillState, getDocumentContext, getInitialStyle, getKeys, getLayoutProcess, getNamespaces, loadInitialStyle, resolveValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultStyleResolver

public DefaultStyleResolver()
Method Detail

initialize

public void initialize(LayoutProcess layoutProcess)
Specified by:
initialize in interface StyleResolver
Overrides:
initialize in class AbstractStyleResolver

resolveOutOfContext

protected void resolveOutOfContext(LayoutElement element)
Specified by:
resolveOutOfContext in class AbstractStyleResolver

isPseudoElementStyleResolvable

public boolean isPseudoElementStyleResolvable(LayoutElement element,
                                              java.lang.String pseudo)
Performs tests, whether there is a pseudo-element definition for the given element. The element itself can be a pseudo-element as well.

Parameters:
element -
pseudo -
Returns:

resolveStyle

public void resolveStyle(LayoutElement element)
Resolves the style. This is guaranteed to be called in the order of the document elements traversing the document tree using the 'deepest-node-first' strategy. (8% just for the first class calls (not counting the calls comming from resolveAnonymous (which is another 6%))

Parameters:
element - the elemen that should be resolved.

deriveInstance

public StyleResolver deriveInstance()

saveState

public State saveState()
                throws StateException
Throws:
StateException

resolvePageStyle

public LayoutStyle resolvePageStyle(CSSValue pageName,
                                    PseudoPage[] pseudoPages,
                                    PageAreaType pageArea)