| /******************************************************************************* |
| * 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.provisional.text; |
| |
| /** |
| * ITextRegionCollection, as its name implies, is a collection of |
| * ITextRegions. |
| * |
| * @plannedfor 1.0 |
| */ |
| public interface ITextRegionCollection extends ITextRegion { |
| |
| /** |
| * Used to determine if a region contains a particular offset, where |
| * offset is relative to the beginning of a document. |
| * |
| * @param offset |
| * @return true if offset is greater than or equal to regions start and |
| * less than its end offset. |
| */ |
| boolean containsOffset(int offset); |
| |
| /** |
| * Used to determine if a region contains a particular offset. |
| * |
| * ISSUE: I need to figure out what this is really for! (that is, how to |
| * describe it, or if still needed). |
| * |
| * @param offset |
| * @return true if offset is greater than or equal to regions start and |
| * less than its end offset. |
| */ |
| boolean containsOffset(ITextRegion region, int offset); |
| |
| /** |
| * Returns the end offset of this region, relative to beginning of |
| * document. |
| * |
| * For some subtypes, but not all, it is equivilent to getEnd(). |
| * |
| * @return the end offset of this region. |
| */ |
| int getEndOffset(); |
| |
| /** |
| * Returns the end offset, relative to the beginning of the document of |
| * the contained region. |
| * |
| * @param containedRegion |
| * @return the end offset of the contained region. |
| */ |
| int getEndOffset(ITextRegion containedRegion); |
| |
| /** |
| * Returns the first region of those contained by this region collection. |
| * |
| * @return the first region. |
| */ |
| ITextRegion getFirstRegion(); |
| |
| /** |
| * Returns the full text of this region, including whitespace. |
| * |
| * @return the full text of this region, including whitespace. |
| */ |
| String getFullText(); |
| |
| /** |
| * Returns the full text of the contained region, including whitespace. |
| * |
| * @return the full text of the contained region, including whitespace. |
| */ |
| String getFullText(ITextRegion containedRegion); |
| |
| /** |
| * Returns the last region of those contained by this region collection. |
| * |
| * @return the last region. |
| */ |
| ITextRegion getLastRegion(); |
| |
| /** |
| * Returns the number of regions contained by this region. |
| * |
| * @return the number of regions contained by this region. |
| */ |
| int getNumberOfRegions(); |
| |
| /** |
| * Returns the region that contains offset. In the case of "nested" |
| * regions, returns the top most region. |
| * |
| * @param offset |
| * relative to beginning of document. |
| * @return the region that contains offset. In the case of "nested" |
| * regions, returns the top most region. |
| */ |
| ITextRegion getRegionAtCharacterOffset(int offset); |
| |
| /** |
| * Returns the regions contained by this region. |
| * |
| * Note: no assumptions should be made about the object identity of the |
| * regions returned. Put another way, due to memory use optimizations, |
| * even if the underlying text has not changed, the regions may or may not |
| * be the same ones returned from one call to the next. |
| * |
| * @return the regions contained by this region. |
| */ |
| ITextRegionList getRegions(); |
| |
| /** |
| * Returns the start offset of this region, relative to the beginning of |
| * the document. |
| * |
| * @return the start offset of this region |
| */ |
| int getStartOffset(); |
| |
| /** |
| * Returns the start offset of the contained region, relative to the |
| * beginning of the document. |
| * |
| * @return the start offset of the contained region |
| */ |
| int getStartOffset(ITextRegion containedRegion); |
| |
| /** |
| * Returns the text of this region, not including white space. |
| * |
| * @return the text of this region, not including white space. |
| */ |
| String getText(); |
| |
| /** |
| * Returns the text of the contained region, not including white space. |
| * |
| * @return the text of the contained region, not including white space. |
| */ |
| String getText(ITextRegion containedRegion); |
| |
| /** |
| * Returns the end offset of the text of this region, not including white |
| * space. |
| * |
| * @return the end offset of the text of this region, not including white |
| * space. |
| */ |
| int getTextEndOffset(); |
| |
| /** |
| * Returns the end offset of the text of the contained region, not |
| * including white space. |
| * |
| * @return the end offset of the text of the contained region, not |
| * including white space. |
| */ |
| int getTextEndOffset(ITextRegion containedRegion); |
| |
| /** |
| * Assigns the collection contained in this region. |
| * |
| * For use by parsers and reparsers only. |
| * |
| * @param containedRegions |
| */ |
| void setRegions(ITextRegionList containedRegions); |
| } |