/** * @return java.lang.String */ public String getString() { if (fCachedString == null) { StringBuffer buf = new StringBuffer(); Iterator i = getIterator(); while (i.hasNext()) { ICSSSelectorItem item = (ICSSSelectorItem) i.next(); if (item instanceof CSSSelectorCombinator) { // If item is DESCENDANT combinator, it is just single // space. // Then, you dont have to append string.. if (((CSSSelectorCombinator) item).getCombinatorType() != ICSSSelectorCombinator.DESCENDANT) { buf.append(" ");//$NON-NLS-1$ buf.append(item.getString()); } buf.append(" ");//$NON-NLS-1$ } else { buf.append(item.getString()); } } fCachedString = buf.toString(); } return fCachedString; }
/** * */ private void addClassNames(ICSSStyleRule rule) { ICSSSelectorList selectorList = rule.getSelectors(); Iterator iSelector = selectorList.getIterator(); while (iSelector.hasNext()) { ICSSSelector selector = (ICSSSelector) iSelector.next(); Iterator iItem = selector.getIterator(); while (iItem.hasNext()) { ICSSSelectorItem item = (ICSSSelectorItem) iItem.next(); if (item.getItemType() == ICSSSelectorItem.SIMPLE) { ICSSSimpleSelector sel = (ICSSSimpleSelector) item; int nClasses = sel.getNumOfClasses(); for (int iClass = 0; iClass < nClasses; iClass++) { String className = sel.getClass(iClass); if (!fClassNames.contains(className)) fClassNames.add(className); } } } } }