Class LinkedPositionGroup
- java.lang.Object
-
- org.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 group are edited the same way.All linked positions in a group should have the same content. Before 3.5.400, this was enforced. Now, if one position of a mixed group gets edited, the content of all other positions is replaced by the edited position's content.
Normally, new positions are given a
sequence number
which can be used by clients, e.g. in the UI as tab stop weight. IfNO_STOP
is used as weight, a position will not be visited. IfNO_STOP
is used for all positions, 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
- Restriction:
- This class is not intended to be subclassed by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static int
NO_STOP
Sequence number
constant declaring that a position should not be stopped by.
-
Constructor Summary
Constructors Constructor Description LinkedPositionGroup()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addPosition(LinkedPosition position)
Adds a position to this group.LinkedPosition[]
getPositions()
Returns the positions contained in the receiver as an array.boolean
isEmpty()
Returns whether this group contains any positions.boolean
isEmtpy()
Deprecated.As of 3.1, replaced byisEmpty()
-
-
-
Field Detail
-
NO_STOP
public static final int NO_STOP
Sequence number
constant declaring that a position should not be stopped by.- See Also:
- Constant Field Values
-
-
Method Detail
-
addPosition
public void addPosition(LinkedPosition position) throws BadLocationException
Adds a position to this group. The document region defined by the position should contain the same content as all of the other positions already in this group. All positions added must be valid and disjoint; otherwise aBadLocationException
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 groupIllegalStateException
- if the group has already been added to a model
-
isEmpty
public boolean isEmpty()
Returns whether this group contains any positions.- Returns:
true
if this group is empty,false
otherwise- Since:
- 3.1
-
isEmtpy
@Deprecated public boolean isEmtpy()
Deprecated.As of 3.1, replaced byisEmpty()
Returns whether this group contains any positions.- Returns:
true
if this group is empty,false
otherwise
-
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
-
-