diff options
Diffstat (limited to 'bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/NodeHelper.java')
-rw-r--r-- | bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/NodeHelper.java | 245 |
1 files changed, 0 insertions, 245 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/NodeHelper.java b/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/NodeHelper.java deleted file mode 100644 index 8afd83e544..0000000000 --- a/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/NodeHelper.java +++ /dev/null @@ -1,245 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 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 - * - * Provisional API: This class/interface is part of an interim API that is still under development and expected to - * change significantly before reaching stability. It is being made available at this early stage to solicit feedback - * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken - * (repeatedly) as the API evolves. - * - * - *******************************************************************************/ - - -package org.eclipse.wst.jsdt.web.core.javascript; - -import java.util.Iterator; - -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList; -import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext; -/** -* - -* Provisional API: This class/interface is part of an interim API that is still under development and expected to -* change significantly before reaching stability. It is being made available at this early stage to solicit feedback -* from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken -* (repeatedly) as the API evolves. -*/ -public class NodeHelper { - protected static final char DOUBLE_QUOTE_CHAR = '\"'; - protected static final String DOUBLE_QUOTE_ENTITY = """; //$NON-NLS-1$ - protected static final char SINGLE_QUOTE_CHAR = '\''; - protected static final String SINGLE_QUOTE_ENTITY = "'"; //$NON-NLS-1$ - - public static boolean isInArray(String StringArray[], String text) { - if (StringArray == null || text == null) { - return false; - } - for (int i = 0; i < StringArray.length; i++) { - if (StringArray[i].equalsIgnoreCase(text.trim())) { - return true; - } - } - return false; - } - - public static boolean isQuoted(String string) { - if ((string == null) || (string.length() < 2)) { - return false; - } - int lastIndex = string.length() - 1; - char firstChar = string.charAt(0); - char lastChar = string.charAt(lastIndex); - return (((firstChar == NodeHelper.SINGLE_QUOTE_CHAR) && (lastChar == NodeHelper.SINGLE_QUOTE_CHAR)) || ((firstChar == NodeHelper.DOUBLE_QUOTE_CHAR) && (lastChar == NodeHelper.DOUBLE_QUOTE_CHAR))); - } - protected IStructuredDocumentRegion region; - - public NodeHelper(IStructuredDocumentRegion region) { - this.region = region; - } - - public boolean attrEquals(String attribute, String value) { - String attValue = getAttributeValue(attribute); - if(attValue==null) return false; - return attValue.equalsIgnoreCase(value); - } - - public String AttrToString() { - if (region == null) { - return null; - } - // For debugging - ITextRegionList t = region.getRegions(); - ITextRegion r; - Iterator regionIterator = t.iterator(); - String StructuredValue = Messages.NodeHelper00 + getTagName() + Messages.NodeHelper01; //$NON-NLS-1$ //$NON-NLS-2$ - while (regionIterator.hasNext()) { - r = (ITextRegion) regionIterator.next(); - if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) { - StructuredValue += "\t\t" + region.getText(r); //$NON-NLS-1$ - /* - * Theres a XML_TAG_ATTRIBUTE_EQUALS after the - * XML_TAG_ATTRIBUTE_NAME we have to get rid of - */ - if (regionIterator.hasNext()) { - regionIterator.next(); - } - if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS) { - if (regionIterator.hasNext()) { - r = ((ITextRegion) regionIterator.next()); - } - if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) { - StructuredValue += "\t\t" + stripEndQuotes(region.getText(r)) + "\n"; //$NON-NLS-1$ //$NON-NLS-2$ - } - } - } - } - return StructuredValue; - } - - public boolean containsAttribute(String name[]) { - if (name == null) { - return false; - } - if (region == null) { - return false; - } - ITextRegionList t = region.getRegions(); - ITextRegion r; - Iterator regionIterator = t.iterator(); - while (regionIterator.hasNext()) { - r = (ITextRegion) regionIterator.next(); - if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) { - String tagname = region.getText(r).trim(); - /* Attribute values aren't case sensative */ - if (NodeHelper.isInArray(name, tagname)) { - return true; - } - } - } - return false; - } - - public String getAttributeValue(String name) { - if (region == null) { - return null; - } - if (name == null) { - return null; - } - ITextRegionList t = region.getRegions(); - ITextRegion r; - Iterator regionIterator = t.iterator(); - while (regionIterator.hasNext()) { - r = (ITextRegion) regionIterator.next(); - if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) { - String tagname = region.getText(r).trim(); - /* - * Attribute values aren't case sensative, also make sure next - * region is attrib value - */ - if (tagname.equalsIgnoreCase(name)) { - if (regionIterator.hasNext()) { - regionIterator.next(); - } - if (regionIterator.hasNext()) { - r = ((ITextRegion) regionIterator.next()); - } - if (r.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE) { - return stripEndQuotes(region.getText(r)); - } - } - } - } - return null; - } - - public String getElementAsFlatString() { - /* - * Returns a full string of this element minus and 'illegal' characters - * (usefull for identifying the HTML element in a generic JS function) - */ - if (region == null) { - return null; - } - String fullRegionText = region.getFullText(); - if (fullRegionText == null) { - return null; - } - return fullRegionText.replaceAll("[^a-zA-Z0-9]", ""); //$NON-NLS-1$ //$NON-NLS-2$ - } - - public String getTagName() { - if (region == null) { - return null; - } - ITextRegionList t = region.getRegions(); - ITextRegion r; - Iterator regionIterator = t.iterator(); - while (regionIterator.hasNext()) { - r = (ITextRegion) regionIterator.next(); - if (r.getType() == DOMRegionContext.XML_TAG_NAME) { - return region.getText(r); - } - } - return null; - } - - public boolean isEndTag() { - if (region == null) { - return false; - } - return DOMRegionContext.XML_END_TAG_OPEN.equals(region.getFirstRegion().getType()); - } - - public boolean isSelfClosingTag() { - if (region == null) { - return false; - } - return DOMRegionContext.XML_EMPTY_TAG_CLOSE.equals(region.getLastRegion().getType()); - } - - public boolean nameEquals(String name) { - if (region == null || name == null) { - return false; - } - return name.equalsIgnoreCase(getTagName()); - } - - public void setDocumentRegion(IStructuredDocumentRegion newRegion) { - if (newRegion == null) - throw new IllegalArgumentException(); - region = newRegion; - } - - public String stripEndQuotes(String text) { - if (text == null) { - return null; - } - if (NodeHelper.isQuoted(text)) { - return text.substring(1, text.length() - 1); - } - return text; - } - - - public String toString() { - ITextRegionList t = region.getRegions(); - Iterator regionIterator = t.iterator(); - String nodeText = new String(); - while (regionIterator.hasNext()) { - ITextRegion r = (ITextRegion) regionIterator.next(); - String nodeType = r.getType(); - nodeText += (Messages.NodeHelper11 + nodeType + Messages.NodeHelper12 + region.getText(r) + "\n"); //$NON-NLS-1$ - } - return nodeText; - } -}
\ No newline at end of file |