diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java deleted file mode 100644 index ed231f9f5a..0000000000 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSSelectorListImpl.java +++ /dev/null @@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 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 java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.wst.css.core.internal.parserz.CSSRegionContexts; -import org.eclipse.wst.css.core.internal.parserz.CSSTextParser; -import org.eclipse.wst.css.core.internal.parserz.CSSTextToken; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSSelector; -import org.eclipse.wst.css.core.internal.provisional.document.ICSSSelectorList; -import org.w3c.dom.Element; - - -/** - * - */ -public class CSSSelectorListImpl implements ICSSSelectorList { - - private String fText = null; - private String fCachedString = null; // normalized string - private List fSelectors = null; - - public CSSSelectorListImpl(String cssText) { - super(); - fText = cssText; - parseSelectorText(); - } - - /** - * @return boolean - * @param obj - * java.lang.Object - */ - public boolean equals(Object obj) { - if (this == obj) - return true; - - if (obj == null || this.getClass() != obj.getClass()) - return false; - - CSSSelectorListImpl foreign = (CSSSelectorListImpl) obj; - - if (getLength() != foreign.getLength()) - return false; - - for (int i = 0; i < getLength(); i++) { - if (!getSelector(i).equals(foreign.getSelector(i))) - return false; - } - - return true; - } - - /** - * @return java.util.Iterator - */ - public Iterator getIterator() { - return getSelectors().iterator(); - } - - /** - * @return int - */ - public int getLength() { - return getSelectors().size(); - } - - public ICSSSelector getSelector(int index) { - List selectors = getSelectors(); - if (0 <= index && index < selectors.size()) { - return (ICSSSelector) selectors.get(index); - } - else { - return null; - } - } - - private List getSelectors() { - if (fSelectors == null) { - parseSelectorText(); - } - return fSelectors; - } - - /** - * @return java.lang.String - */ - public String getString() { - if (fCachedString == null) { - StringBuffer buf = new StringBuffer(); - boolean bFirst = true; - // groups is list of comma-separated selectors - Iterator i = getSelectors().iterator(); - while (i.hasNext()) { - if (!bFirst) { - buf.append(", ");//$NON-NLS-1$ - } - ICSSSelector item = (ICSSSelector) i.next(); - buf.append(item.getString()); - bFirst = false; - } - fCachedString = buf.toString(); - } - return fCachedString; - } - - /** - * @return boolean - * @param element - * org.w3c.dom.Element - */ - public boolean match(Element element, String pseudoName) { - int nSelectors = getLength(); - for (int iSelector = 0; iSelector < nSelectors; iSelector++) { - // Check each Selector Lists - ICSSSelector selector = getSelector(iSelector); - if (selector.match(element, pseudoName)) - return true; - } - return false; - } - - /** - * - */ - private void parseSelectorText() { - fSelectors = new ArrayList(); - if (fText == null) { - return; - } - - CSSTextParser parser = new CSSTextParser(CSSTextParser.MODE_STYLESHEET, fText); - CSSTextToken[] tokens = parser.getTokens(); - if (tokens.length <= 0) { - return; - } - - List tokenGroup = new ArrayList(); - for (int i = 0; i < tokens.length; i++) { - CSSTextToken token = tokens[i]; - if (token.kind == CSSRegionContexts.CSS_SELECTOR_SEPARATOR && 0 < tokenGroup.size()) { - ICSSSelector selector = new CSSSelector(tokenGroup); - if (selector != null) { - fSelectors.add(selector); - } - tokenGroup.clear(); - } - else { - tokenGroup.add(tokens[i]); - } - } - if (0 < tokenGroup.size()) { - ICSSSelector selector = new CSSSelector(tokenGroup); - if (selector != null) { - fSelectors.add(selector); - } - } - } - - /** - * - */ - public String toString() { - return getString(); - } - - /** - * - */ - public Iterator getErrors() { - List errors = new ArrayList(); - Iterator iSelector = getSelectors().iterator(); - while (iSelector.hasNext()) { - Iterator iError = ((ICSSSelector) iSelector.next()).getErrors(); - while (iError.hasNext()) { - errors.add(iError.next()); - } - } - return errors.iterator(); - } - - /** - * - */ - public int getErrorCount() { - int nErrors = 0; - Iterator i = getErrors(); - while (i.hasNext()) { - nErrors++; - i.next(); - } - return nErrors; - } -} |