| /******************************************************************************* |
| * Copyright (c) 2001, 2004 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.text; |
| |
| |
| |
| import java.util.Vector; |
| |
| import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; |
| import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; |
| import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegionList; |
| import org.eclipse.wst.sse.core.internal.util.Assert; |
| |
| |
| public class StructuredDocumentRegionIterator { |
| |
| public final static IStructuredDocumentRegion adjustStart(IStructuredDocumentRegion headNode, int adjustment) { |
| IStructuredDocumentRegion aNode = headNode; |
| while (aNode != null) { |
| aNode.adjustStart(adjustment); |
| aNode = aNode.getNext(); |
| } |
| return headNode; |
| } |
| |
| public final static int countRegions(IStructuredDocumentRegionList flatNodes) { |
| int result = 0; |
| if (flatNodes != null) { |
| int length = flatNodes.getLength(); |
| for (int i = 0; i < length; i++) { |
| IStructuredDocumentRegion node = flatNodes.item(i); |
| // don't know why, but we're getting null pointer exceptions |
| // in this method |
| if (node != null) { |
| result = result + node.getNumberOfRegions(); |
| } |
| } |
| } |
| return result; |
| } |
| |
| public final static String getText(CoreNodeList flatNodes) { |
| String result = null; |
| if (flatNodes == null) { |
| result = ""; //$NON-NLS-1$ |
| } else { |
| StringBuffer buff = new StringBuffer(); |
| //IStructuredDocumentRegion aNode = null; |
| int length = flatNodes.getLength(); |
| for (int i = 0; i < length; i++) { |
| buff.append(flatNodes.item(i).getText()); |
| } |
| result = buff.toString(); |
| } |
| return result; |
| } |
| |
| public final static CoreNodeList setParentDocument(CoreNodeList nodelist, IStructuredDocument textStore) { |
| Assert.isNotNull(nodelist, "nodelist was null in CoreNodeList::setTextStore(CoreNodeList, StructuredTextStore)"); //$NON-NLS-1$ |
| int len = nodelist.getLength(); |
| for (int i = 0; i < len; i++) { |
| IStructuredDocumentRegion node = nodelist.item(i); |
| //Assert.isNotNull(node, "who's putting null in the node list? in |
| // CoreNodeList::setTextStore(CoreNodeList, |
| // StructuredTextStore)"); //$NON-NLS-1$ |
| node.setParentDocument(textStore); |
| } |
| return nodelist; |
| } |
| |
| // public final static IStructuredDocumentRegion |
| // setStructuredDocument(IStructuredDocumentRegion headNode, |
| // BasicStructuredDocument structuredDocument) { |
| // IStructuredDocumentRegion aNode = headNode; |
| // while (aNode != null) { |
| // aNode.setParentDocument(structuredDocument); |
| // aNode = (IStructuredDocumentRegion) aNode.getNext(); |
| // } |
| // return headNode; |
| // } |
| public final static IStructuredDocumentRegion setParentDocument(IStructuredDocumentRegion headNode, IStructuredDocument document) { |
| IStructuredDocumentRegion aNode = headNode; |
| while (aNode != null) { |
| aNode.setParentDocument(document); |
| aNode = aNode.getNext(); |
| } |
| return headNode; |
| } |
| |
| public final static Vector toVector(IStructuredDocumentRegion headNode) { |
| IStructuredDocumentRegion aNode = headNode; |
| Vector v = new Vector(); |
| while (aNode != null) { |
| v.addElement(aNode); |
| aNode = aNode.getNext(); |
| } |
| return v; |
| } |
| |
| /** |
| * |
| */ |
| private StructuredDocumentRegionIterator() { |
| } |
| } |