public class CascadedStyle
extends java.lang.Object
PropertyDeclaration
s for
each unique CSS property name. What properties belong in the set is not
determined, except that multiple entries are resolved into a single set using
cascading rules. The set is cascaded during instantiation, so once you have a
CascadedStyle, the PropertyDeclarations you retrieve from it will have been
resolved following the CSS cascading rules. Note that this class knows
nothing about CSS selector-matching rules. Before creating a CascadedStyle,
you will need to determine which PropertyDeclarations belong in the set--for
example, by matching Ruleset
s to Document
Element
s via their selectors. You
can get individual properties by using propertyByName(CSSName)
or an
Iterator
of properties with getCascadedPropertyDeclarations()
. Check for individual property assignments
using hasProperty(CSSName)
. A CascadedStyle is immutable, as
properties can not be added or removed from it once instantiated.Modifier and Type | Field and Description |
---|---|
static CascadedStyle |
emptyCascadedStyle
Get an empty singleton, used to negate inheritance of properties
|
Modifier and Type | Method and Description |
---|---|
int |
countAssigned() |
static CascadedStyle |
createAnonymousStyle(IdentValue display)
Creates a
CascadedStyle , setting the display property to
to the value of the display parameter. |
static PropertyDeclaration |
createLayoutPropertyDeclaration(CSSName cssName,
IdentValue display)
Creates a
PropertyDeclaration suitable for passing to
createLayoutStyle(PropertyDeclaration[]) or
createLayoutStyle(CascadedStyle, PropertyDeclaration[]) |
static CascadedStyle |
createLayoutStyle(CascadedStyle startingPoint,
PropertyDeclaration[] decls)
Creates a
CascadedStyle using style information from
startingPoint and then adding the property declarations
from decls . |
static CascadedStyle |
createLayoutStyle(java.util.List decls) |
static CascadedStyle |
createLayoutStyle(PropertyDeclaration[] decls)
Creates a
CascadedStyle using the provided property
declarations. |
java.util.Iterator |
getCascadedPropertyDeclarations()
Returns an
Iterator over the set of PropertyDeclaration s already matched in this
CascadedStyle. |
java.lang.String |
getFingerprint() |
IdentValue |
getIdent(CSSName cssName)
Gets the ident attribute of the CascadedStyle object
|
boolean |
hasProperty(CSSName cssName)
Returns true if property has been defined in this style.
|
PropertyDeclaration |
propertyByName(CSSName cssName)
Returns a
PropertyDeclaration by CSS
property name, e.g. |
public static final CascadedStyle emptyCascadedStyle
public static CascadedStyle createAnonymousStyle(IdentValue display)
CascadedStyle
, setting the display property to
to the value of the display
parameter.public static CascadedStyle createLayoutStyle(PropertyDeclaration[] decls)
CascadedStyle
using the provided property
declarations. It is used when a box requires a style that does not
correspond to anything in the parsed stylesheets.decls
- An array of PropertyDeclaration objects created with
createLayoutPropertyDeclaration(CSSName, IdentValue)
createLayoutPropertyDeclaration(CSSName, IdentValue)
public static CascadedStyle createLayoutStyle(java.util.List decls)
public static CascadedStyle createLayoutStyle(CascadedStyle startingPoint, PropertyDeclaration[] decls)
CascadedStyle
using style information from
startingPoint
and then adding the property declarations
from decls
.decls
- An array of PropertyDeclaration objects created with
createLayoutPropertyDeclaration(CSSName, IdentValue)
createLayoutPropertyDeclaration(CSSName, IdentValue)
public static PropertyDeclaration createLayoutPropertyDeclaration(CSSName cssName, IdentValue display)
PropertyDeclaration
suitable for passing to
createLayoutStyle(PropertyDeclaration[])
or
createLayoutStyle(CascadedStyle, PropertyDeclaration[])
public boolean hasProperty(CSSName cssName)
cssName
- The CSS property name, e.g. "font-family".public PropertyDeclaration propertyByName(CSSName cssName)
PropertyDeclaration
by CSS
property name, e.g. "font-family". Properties are already cascaded during
instantiation, so this will return the actual property (and corresponding
value) to use for CSS-based layout and rendering.cssName
- The CSS property name, e.g. "font-family".public IdentValue getIdent(CSSName cssName)
cssName
- PARAMpublic java.util.Iterator getCascadedPropertyDeclarations()
Iterator
over the set of PropertyDeclaration
s already matched in this
CascadedStyle. For a given property name, there may be no match, in which
case there will be no PropertyDeclaration
for that property
name in the Iterator.public int countAssigned()
public java.lang.String getFingerprint()