Eclipse Platform
Release 3.0

org.eclipse.jface.text.link
Class LinkedPositionGroup

java.lang.Object
  extended byorg.eclipse.jface.text.link.LinkedPositionGroup

public class LinkedPositionGroup
extends Object

A group of positions in multiple documents that are simultaneously modified - if one gets edited, all other positions in a PositionGroup are edited the same way. All linked positions in a group have the same content.

Normally, new positions are given a tab stop weight which can be used by clients, e.g. the UI. If no weight is given, a position will not be visited. If no weights are used at all, the first position in a document is taken as the only stop as to comply with the behavior of the old linked position infrastructure.

Clients may instantiate this class.

Since:
3.0

Field Summary
static int NO_STOP
          Sequence constant declaring that a position should not be stopped by.
 
Constructor Summary
LinkedPositionGroup()
           
 
Method Summary
 void addPosition(LinkedPosition position)
          Adds a position to this group.
 LinkedPosition[] getPositions()
          Returns the positions contained in the receiver as an array.
 boolean isEmtpy()
          Returns whether this group contains any positions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_STOP

public static final int NO_STOP
Sequence constant declaring that a position should not be stopped by.

See Also:
Constant Field Values
Constructor Detail

LinkedPositionGroup

public LinkedPositionGroup()
Method Detail

addPosition

public void addPosition(LinkedPosition position)
                 throws BadLocationException
Adds a position to this group. The document region defined by the position must contain the same content (and thus have the same length) as any of the other positions already in this group. Additionally, all positions added must be disjoint; otherwise a BadLocationException is thrown.

Positions added using this method are owned by this group afterwards and may not be updated or modified thereafter.

Once a group has been added to a LinkedModeModel, it becomes sealed and no positions may be added any more.

Parameters:
position - the position to add
Throws:
BadLocationException - if the position is invalid or conflicts with other positions in the group
IllegalStateException - if the group has already been added to a model

isEmtpy

public boolean isEmtpy()
Returns whether this group contains any positions.

Returns:
true if this group is empty, false if it is not

getPositions

public LinkedPosition[] getPositions()
Returns the positions contained in the receiver as an array. The positions are the actual positions and must not be modified; the array is a copy of internal structures.

Returns:
the positions of this group in no particular order

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.