diff options
Diffstat (limited to 'bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/NamedTopLevelNode.java')
-rw-r--r-- | bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/NamedTopLevelNode.java | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/NamedTopLevelNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/NamedTopLevelNode.java deleted file mode 100644 index 9f7f51f9f6..0000000000 --- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/internal/NamedTopLevelNode.java +++ /dev/null @@ -1,135 +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.dtd.core.internal; - -import org.eclipse.wst.dtd.core.internal.parser.DTDRegionTypes; -import org.eclipse.wst.dtd.core.internal.text.RegionIterator; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; - - -// interface for nodes that can exist at the top level in a dtdfile -// eg. entity, notation, element, comment, attlist, or unrecognized stuff (ie -// <junk dkfjdl> -public abstract class NamedTopLevelNode extends TopLevelNode { - - private String tagStartType; - - public NamedTopLevelNode(DTDFile dtdFile, IStructuredDocumentRegion flatNode, String type) { - super(dtdFile, flatNode); - tagStartType = type; - } - - public ITextRegion getNameRegion() { - // name region is located after the whitespace (which is after - // the elementtag - RegionIterator iter = iterator(); - getNextRegion(iter, tagStartType); - - if (!iter.hasNext()) { - return null; - } - - ITextRegion region = iter.next(); - if (!region.getType().equals(DTDRegionTypes.WHITESPACE)) { - return null; - } - - if (!iter.hasNext()) { - return null; - } - - region = iter.next(); - if (region.getType().equals(DTDRegionTypes.NAME)) { - return region; - } - - // we normally stop here, but for entities, we have to see if we are - // at a '%'. if so, we skip that and find the name after the - // whitespace again - if (tagStartType == DTDRegionTypes.ENTITY_TAG && region.getType().equals(DTDRegionTypes.PERCENT) && iter.hasNext()) { - region = iter.next(); - - if (!region.getType().equals(DTDRegionTypes.WHITESPACE)) { - return null; - } - - if (!iter.hasNext()) { - return null; - } - - region = iter.next(); - if (region.getType().equals(DTDRegionTypes.NAME)) { - return region; - } - } - - return null; - } - - public ITextRegion getStartTag(RegionIterator iter) { - return getNextRegion(iter, tagStartType); - } - - public ITextRegion getWhitespaceAfterName() { - ITextRegion nameRegion = getNameRegion(); - RegionIterator iter = iterator(); - // skip past the element tag region - getNextRegion(iter, tagStartType); - boolean foundName = false; - while (iter.hasNext()) { - ITextRegion region = iter.next(); - if (!foundName && nameRegion != null && region == nameRegion) { - foundName = true; - } - - if (region.getType().equals(DTDRegionTypes.WHITESPACE)) { - // there is no name region or we have already passed it - if (nameRegion == null || foundName) { - return region; - } - } - } - return null; - } - - public void setName(Object requestor, String name) { - ITextRegion nameRegion = getNameRegion(); - if (nameRegion != null) { - super.setName(requestor, name); - } - else { - RegionIterator iter = iterator(); - ITextRegion elementTagRegion = getNextRegion(iter, tagStartType); - int replaceLength = 0; - if (iter.hasNext()) { - ITextRegion region = iter.next(); - if (region.getType().equals(DTDRegionTypes.WHITESPACE)) { - if (region.getLength() >= 2) { - // there are 2 spaces between 'ELEMENT' and the - // content - // Change replace length to 1 so that the new name and - // the content are separated by a single space - replaceLength = 1; - } - } - } - - // beginRecording(requestor, "Name Change"); - String newText = " " + name; //$NON-NLS-1$ - replaceText(requestor, getStructuredDTDDocumentRegion().getEndOffset(elementTagRegion), replaceLength, newText); - // endRecording(requestor); - } - } - -} |