Copyright (c) 2000, 2008 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jface.text.projection;
import org.eclipse.jface.text.Position;
Internal class. Do not use. Only public for testing purposes.
A segment is the image of a master document fragment in a projection
document.
Since: 3.0 @noinstantiate This class is not intended to be instantiated by clients. @noextend This class is not intended to be subclassed by clients.
/**
* Internal class. Do not use. Only public for testing purposes.
* <p>
* A segment is the image of a master document fragment in a projection
* document.
*
* @since 3.0
* @noinstantiate This class is not intended to be instantiated by clients.
* @noextend This class is not intended to be subclassed by clients.
*/
public class Segment extends Position {
The corresponding fragment for this segment. /** The corresponding fragment for this segment. */
public Fragment fragment;
A flag indicating that the segment updater should stretch this segment when a change happens at its boundaries. /** A flag indicating that the segment updater should stretch this segment when a change happens at its boundaries. */
public boolean isMarkedForStretch;
A flag indicating that the segment updater should shift this segment when a change happens at its boundaries. /** A flag indicating that the segment updater should shift this segment when a change happens at its boundaries. */
public boolean isMarkedForShift;
Creates a new segment covering the given range.
Params: - offset – the offset of the segment
- length – the length of the segment
/**
* Creates a new segment covering the given range.
*
* @param offset the offset of the segment
* @param length the length of the segment
*/
public Segment(int offset, int length) {
super(offset, length);
}
Sets the stretching flag.
/**
* Sets the stretching flag.
*/
public void markForStretch() {
isMarkedForStretch= true;
}
Returns true
if the stretching flag is set, false
otherwise.
Returns: true
if the stretching flag is set, false
otherwise
/**
* Returns <code>true</code> if the stretching flag is set, <code>false</code> otherwise.
* @return <code>true</code> if the stretching flag is set, <code>false</code> otherwise
*/
public boolean isMarkedForStretch() {
return isMarkedForStretch;
}
Sets the shifting flag.
/**
* Sets the shifting flag.
*/
public void markForShift() {
isMarkedForShift= true;
}
Returns true
if the shifting flag is set, false
otherwise.
Returns: true
if the shifting flag is set, false
otherwise
/**
* Returns <code>true</code> if the shifting flag is set, <code>false</code> otherwise.
* @return <code>true</code> if the shifting flag is set, <code>false</code> otherwise
*/
public boolean isMarkedForShift() {
return isMarkedForShift;
}
Clears the shifting and the stretching flag.
/**
* Clears the shifting and the stretching flag.
*/
public void clearMark() {
isMarkedForStretch= false;
isMarkedForShift= false;
}
}