org.w3c.dom.css.CSSStyleDeclaration Maven / Gradle / Ivy
/*
* Copyright (C) 2005 by Quentin Anciaux
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Library General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
* for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; if not, write to the Free Software Foundation,
* Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* @author Quentin Anciaux
*/
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
/**
* The CSSStyleDeclaration
interface represents a single CSS
* declaration block. This interface may be used to determine the style
* properties currently set in a block or to set style properties explicitly
* within the block.
*
*
* While an implementation may not recognize all CSS properties within a CSS
* declaration block, it is expected to provide access to all specified
* properties in the style sheet through the CSSStyleDeclaration
* interface. Furthermore, implementations that support a specific level of
* CSS should correctly handle CSS shorthand properties for that level. For a
* further discussion of shorthand properties, see the
* CSS2Properties
interface.
*
*
*
* This interface is also used to provide a read-only access to the computed
* values of an element. See also the ViewCSS
interface. The CSS
* Object Model doesn't provide an access to the specified or actual values of
* the CSS cascade.
*
*
*
* See also the Document
* Object Model (DOM) Level 2 Style Specification .
*
*
* @since DOM Level 2
*/
public interface CSSStyleDeclaration {
/**
* The parsable textual representation of the declaration block (excluding
* the surrounding curly braces). Setting this attribute will result in
* the parsing of the new value and resetting of all the properties in the
* declaration block including the removal or addition of properties.
*
* @return DOCUMENT ME!
*/
public String getCssText();
/**
* DOCUMENT ME!
*
* @param cssText DOCUMENT ME!
*
* @throws DOMException DOCUMENT ME!
*/
public void setCssText(String cssText)
throws DOMException;
/**
* Used to retrieve the value of a CSS property if it has been explicitly
* set within this declaration block.
*
* @param propertyName The name of the CSS property. See the CSS property
* index.
*
* @return Returns the value of the property if it has been explicitly set
* for this declaration block. Returns the empty string if the
* property has not been set.
*/
public String getPropertyValue(String propertyName);
/**
* Used to retrieve the object representation of the value of a CSS
* property if it has been explicitly set within this declaration block.
* This method returns null
if the property is a shorthand
* property. Shorthand property values can only be accessed and modified
* as strings, using the getPropertyValue
and
* setProperty
methods.
*
* @param propertyName The name of the CSS property. See the CSS property
* index.
*
* @return Returns the value of the property if it has been explicitly set
* for this declaration block. Returns null
if the
* property has not been set.
*/
public CSSValue getPropertyCSSValue(String propertyName);
/**
* Used to remove a CSS property if it has been explicitly set within this
* declaration block.
*
* @param propertyName The name of the CSS property. See the CSS property
* index.
*
* @return Returns the value of the property if it has been explicitly set
* for this declaration block. Returns the empty string if the
* property has not been set or the property name does not
* correspond to a known CSS property.
*
* @exception DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
* declaration is readonly or the property is readonly.
*/
public String removeProperty(String propertyName)
throws DOMException;
/**
* Used to retrieve the priority of a CSS property (e.g. the
* "important"
qualifier) if the property has been explicitly
* set in this declaration block.
*
* @param propertyName The name of the CSS property. See the CSS property
* index.
*
* @return A string representing the priority (e.g.
* "important"
) if one exists. The empty string if
* none exists.
*/
public String getPropertyPriority(String propertyName);
/**
* Used to set a property value and priority within this declaration block.
*
* @param propertyName The name of the CSS property. See the CSS property
* index.
* @param value The new value of the property.
* @param priority The new priority of the property (e.g.
* "important"
).
*
* @exception DOMException SYNTAX_ERR: Raised if the specified value has a
* syntax error and is unparsable.
* NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
* readonly or the property is readonly.
*/
public void setProperty(
String propertyName,
String value,
String priority
)
throws DOMException;
/**
* The number of properties that have been explicitly set in this
* declaration block. The range of valid indices is 0 to length-1
* inclusive.
*
* @return DOCUMENT ME!
*/
public int getLength();
/**
* Used to retrieve the properties that have been explicitly set in this
* declaration block. The order of the properties retrieved using this
* method does not have to be the order in which they were set. This
* method can be used to iterate over all properties in this declaration
* block.
*
* @param index Index of the property name to retrieve.
*
* @return The name of the property at this ordinal position. The empty
* string if no property exists at this position.
*/
public String item(int index);
/**
* The CSS rule that contains this declaration block or null
* if this CSSStyleDeclaration
is not attached to a
* CSSRule
.
*
* @return DOCUMENT ME!
*/
public CSSRule getParentRule();
}