diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java deleted file mode 100644 index 90aed46160..0000000000 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSStyleDeclarationImpl.java +++ /dev/null @@ -1,272 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.css.core.internal.document; - - - -import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclItem; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSStyleDeclaration; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSValue; -import org.w3c.dom.DOMException; -import org.w3c.dom.css.CSSRule; -import org.w3c.dom.css.CSSValue; - - -/** - * - */ -class CSSStyleDeclarationImpl extends CSSDocumentImpl implements ICSSStyleDeclaration { - - private boolean fIsDocument; - - CSSStyleDeclarationImpl(CSSStyleDeclarationImpl that) { - super(that); - this.fIsDocument = that.fIsDocument; - if (fIsDocument) { - setOwnerDocument(this); - } - } - - CSSStyleDeclarationImpl(boolean isDocument) { - super(); - fIsDocument = isDocument; - if (fIsDocument) { - setOwnerDocument(this); - } - } - - public ICSSNode cloneNode(boolean deep) { - CSSStyleDeclarationImpl cloned = new CSSStyleDeclarationImpl(this); - - if (deep) - cloneChildNodes(cloned, deep); - - return cloned; - } - - public ICSSStyleDeclItem getDeclItemNode(String propertyName) { - ICSSNode node = getLastChild(); - propertyName = propertyName.trim(); - while (node != null) { - if (node instanceof CSSStyleDeclItemImpl) { - ICSSStyleDeclItem item = (ICSSStyleDeclItem) node; - if (propertyName.compareToIgnoreCase(item.getPropertyName().trim()) == 0) - return item; - } - node = node.getPreviousSibling(); - } - return null; - } - - /** - * @return int - */ - public int getLength() { - int i = 0; - ICSSNode node = getFirstChild(); - while (node != null) { - if (node instanceof CSSStyleDeclItemImpl) - i++; - node = node.getNextSibling(); - } - return i; - } - - /** - * @return short - */ - public short getNodeType() { - return STYLEDECLARATION_NODE; - } - - /** - * The CSS rule that contains this declaration block or <code>null</code> - * if this <code>CSSStyleDeclaration</code> is not attached to a - * <code>CSSRule</code>. - */ - public CSSRule getParentRule() { - ICSSNode parent = getParentNode(); - if (parent instanceof CSSRule) - return (CSSRule) parent; - return null; - } - - /** - * 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 <code>null</code> if the property is a shorthand - * property. Shorthand property values can only be accessed and modified - * as strings, using the <code>getPropertyValue</code> and - * <code>setProperty</code> 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 <code>null</code> if the - * property has not been set. - */ - public CSSValue getPropertyCSSValue(String propertyName) { - ICSSStyleDeclItem item = getDeclItemNode(propertyName); - if (item != null) - return item.getCSSValue(); - return null; - } - - /** - * Used to retrieve the priority of a CSS property (e.g. the - * <code>"important"</code> 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. - * <code>"important"</code>) if one exists. The empty string if - * none exists. - */ - public String getPropertyPriority(String propertyName) { - ICSSStyleDeclItem item = getDeclItemNode(propertyName); - if (item != null) - return item.getPriority(); - return null; - } - - /** - * 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) { - CSSValue value = getPropertyCSSValue(propertyName); - if (value != null) - return ((ICSSValue) value).getCSSValueText(); - return null; - } - - /** - * @return boolean - */ - public boolean isDocument() { - return fIsDocument; - } - - /** - * 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) { - if (index < 0) - return null; - - int i = 0; - ICSSNode node = getFirstChild(); - while (node != null) { - if (node instanceof CSSStyleDeclItemImpl) { - if (i != index) - i++; - else { - CSSStyleDeclItemImpl item = (CSSStyleDeclItemImpl) node; - return item.getPropertyName(); - } - } - node = node.getNextSibling(); - } - return null; - } - - public ICSSStyleDeclItem removeDeclItemNode(ICSSStyleDeclItem oldDecl) throws DOMException { - return (ICSSStyleDeclItem) removeChild((CSSNodeImpl) oldDecl); - } - - /** - * 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 { - ICSSStyleDeclItem item = getDeclItemNode(propertyName); - if (item != null) { - removeChild((CSSNodeImpl) item); - return item.getCssText(); - } - return null; - } - - public ICSSStyleDeclItem setDeclItemNode(ICSSStyleDeclItem newDecl) throws DOMException { - if (newDecl == null) - return null; - - ICSSStyleDeclItem item = getDeclItemNode(newDecl.getPropertyName()); - if (item != null) - return (ICSSStyleDeclItem) replaceChild((CSSNodeImpl) newDecl, (CSSNodeImpl) item); - else - return (ICSSStyleDeclItem) appendChild((CSSNodeImpl) newDecl); - } - - /** - * 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. - * <code>"important"</code>). - * @exception DOMException - * SYNTAX_ERR: Raised if the specified value has a syntax - * error and is unparsable. <br> - * 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 { - if (propertyName.equals("")) //$NON-NLS-1$ - throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, ""); //$NON-NLS-1$ - - // You can use this only if CSSValue.setCssText() is implemented - CSSStyleDeclItemImpl item = (CSSStyleDeclItemImpl) getDeclItemNode(propertyName); - if (item == null) { - item = (CSSStyleDeclItemImpl) getOwnerDocument().createCSSStyleDeclItem(propertyName); - appendChild(item); - } - - // ICSSNode next = item.getNextSibling(); - // removeChild(item); - - item.setCssValueText(value); - item.setPriority(priority); - - // insertBefore(item, (CSSNodeImpl)next); - } -} |