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 numberwhich can be used by clients, e.g. in the UI as tab stop weight. IfNO_STOPis used as weight, a position will not be visited. IfNO_STOPis 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 intNO_STOPSequence numberconstant 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 voidaddPosition(LinkedPosition position)Adds a position to this group.LinkedPosition[]getPositions()Returns the positions contained in the receiver as an array.booleanisEmpty()Returns whether this group contains any positions.booleanisEmtpy()Deprecated.As of 3.1, replaced byisEmpty()
-
-
-
Field Detail
-
NO_STOP
public static final int NO_STOP
Sequence numberconstant 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 aBadLocationExceptionis 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:
trueif this group is empty,falseotherwise- Since:
- 3.1
-
isEmtpy
@Deprecated public boolean isEmtpy()
Deprecated.As of 3.1, replaced byisEmpty()Returns whether this group contains any positions.- Returns:
trueif this group is empty,falseotherwise
-
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
-
-