diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java b/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java deleted file mode 100644 index caaafd544f..0000000000 --- a/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/parser/ContextRegion.java +++ /dev/null @@ -1,197 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.sse.core.internal.parser; - - - -import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentEvent; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; - - -/** - * Regions of this class are intended specifically for XML/HTML/JSPs. Other - * languages may need their own subclasses. (See the updateModel method). - */ -public class ContextRegion implements ITextRegion { - protected int fLength; - - protected int fStart; - protected int fTextLength; - protected String fType; - - protected ContextRegion() { - super(); - } - - public ContextRegion(String newContext, int newStart, int newTextLength, int newLength) { - fType = newContext; - fStart = newStart; - fTextLength = newTextLength; - fLength = newLength; - } - - - public void adjust(int i) { - fStart += i; - - } - - public void adjustLength(int i) { - fLength += i; - } - - public void adjustStart(int i) { - fStart += i; - } - - public void adjustTextLength(int i) { - fTextLength += i; - - } - - boolean allLetterOrDigit(String changes) { - boolean result = true; - for (int i = 0; i < changes.length(); i++) { - // TO_DO_FUTURE: check that a Java Letter or Digit is - // the same thing as an XML letter or digit - if (!(Character.isLetterOrDigit(changes.charAt(i)))) { - result = false; - break; - } - } - return result; - } - - boolean allWhiteSpace(String changes) { - boolean result = true; - for (int i = 0; i < changes.length(); i++) { - if (!Character.isWhitespace(changes.charAt(i))) { - result = false; - break; - } - } - - return result; - } - - boolean canHandleAsLetterOrDigit(String changes, int requestStart, int lengthToReplace) { - boolean result = false; - // Make sure we are in a non-white space area - if ((requestStart <= (getTextEnd())) && (allLetterOrDigit(changes))) { - result = true; - } - return result; - } - - boolean canHandleAsWhiteSpace(String changes, int requestStart, int lengthToReplace) { - boolean result = false; - // if we are in the "white space" area of a region, then - // we don't want to handle, a reparse is needed. - // the white space region is consider anywhere that would - // leave whitespace between this character and the text part. - // and of course, we can insert whitespace in whitespace region - // - // if there is no whitespace in this region, no need to look further - if (getEnd() > getTextEnd()) { - // no need to add one to end of text, as we used to, since we - // change definition of length to equate to offset plus one. - if (requestStart > getTextEnd()) { - // ok, we are in the whitespace region, so we can't handle, - // unless - // we are just inserting whitespace. - if (allWhiteSpace(changes)) { - result = true; - } - else { - result = false; - } - - } - } - - return result; - } - - public boolean contains(int position) { - - return fStart <= position && position < fStart + fLength; - } - - public void equatePositions(ITextRegion region) { - fStart = region.getStart(); - fLength = region.getLength(); - fTextLength = region.getTextLength(); - } - - public int getEnd() { - return fStart + fLength; - } - - public int getLength() { - return fLength; - } - - public int getStart() { - return fStart; - } - - public int getTextEnd() { - return fStart + fTextLength; - } - - public int getTextLength() { - return fTextLength; - } - - public String getType() { - return fType; - } - - public void setLength(int i) { - fLength = i; - } - - public void setStart(int i) { - fStart = i; - } - - public void setTextLength(int i) { - fTextLength = i; - } - - public void setType(String string) { - fType = string; - } - - public String toString() { - String className = getClass().getName(); - String shortClassName = className.substring(className.lastIndexOf(".") + 1); //$NON-NLS-1$ - String result = shortClassName + "--> " + getType() + ": " + getStart() + "-" + getTextEnd() + (getTextEnd() != getEnd() ? ("/" + getEnd()) : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ - // NOTE: if the document held by any region has been updated and the - // region offsets have not - // yet been updated, the output from this method invalid. - return result; - } - - public StructuredDocumentEvent updateRegion(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) { - // the four types we used to handle here, have all been moved to - // specific region classes. - // XML_TAG_ATTRIBUTE_VALUE - // XML_TAG_ATTRIBUTE_NAME - // XML_CONTENT - // XML_CDATA_TEXT - return null; - } - -} |