Copyright (c) 2000, 2005 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, 2005 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;
A IDocumentInformationMapping
represents a mapping between the coordinates of two
IDocument
objects: the original and the image. The document information mapping
can translate document information such as line numbers or character ranges given for the original into
the corresponding information of the image and vice versa.
In order to provided backward compatibility for clients of IDocumentInformationMapping
, extension
interfaces are used to provide a means of evolution. The following extension interfaces
exist:
-
IDocumentInformationMappingExtension
since version 3.0 extending the degree of detail of the mapping information.
-
IDocumentInformationMappingExtension2
since version 3.1, adding lenient image region computation.
Since: 2.1
/**
* A <code>IDocumentInformationMapping</code> represents a mapping between the coordinates of two
* <code>IDocument</code> objects: the original and the image. The document information mapping
* can translate document information such as line numbers or character ranges given for the original into
* the corresponding information of the image and vice versa.
*
* In order to provided backward compatibility for clients of <code>IDocumentInformationMapping</code>, extension
* interfaces are used to provide a means of evolution. The following extension interfaces
* exist:
* <ul>
* <li> {@link org.eclipse.jface.text.IDocumentInformationMappingExtension} since version 3.0 extending the
* degree of detail of the mapping information.</li>
* <li> {@link org.eclipse.jface.text.IDocumentInformationMappingExtension2} since version 3.1, adding lenient
* image region computation.</li>
* </ul>
*
* @since 2.1
*/
public interface IDocumentInformationMapping {
Returns the minimal region of the original document that completely comprises all of the image document
or null
if there is no such region.
Returns: the minimal region of the original document comprising the image document or null
/**
* Returns the minimal region of the original document that completely comprises all of the image document
* or <code>null</code> if there is no such region.
*
* @return the minimal region of the original document comprising the image document or <code>null</code>
*/
IRegion getCoverage();
Returns the offset in the original document that corresponds to the given offset in the image document
or -1
if there is no such offset
Params: - imageOffset – the offset in the image document
Throws: - BadLocationException – if
imageOffset
is not a valid offset in the image document
Returns: the corresponding offset in the original document or -1
/**
* Returns the offset in the original document that corresponds to the given offset in the image document
* or <code>-1</code> if there is no such offset
*
* @param imageOffset the offset in the image document
* @return the corresponding offset in the original document or <code>-1</code>
* @throws BadLocationException if <code>imageOffset</code> is not a valid offset in the image document
*/
int toOriginOffset(int imageOffset) throws BadLocationException;
Returns the minimal region of the original document that completely comprises the given region of the
image document or null
if there is no such region.
Params: - imageRegion – the region of the image document
Throws: - BadLocationException – if
imageRegion
is not a valid region of the image document
Returns: the minimal region of the original document comprising the given region of the image document or null
/**
* Returns the minimal region of the original document that completely comprises the given region of the
* image document or <code>null</code> if there is no such region.
*
* @param imageRegion the region of the image document
* @return the minimal region of the original document comprising the given region of the image document or <code>null</code>
* @throws BadLocationException if <code>imageRegion</code> is not a valid region of the image document
*/
IRegion toOriginRegion(IRegion imageRegion) throws BadLocationException;
Returns the range of lines of the original document that corresponds to the given line of the image document or
null
if there are no such lines.
Params: - imageLine – the line of the image document
Throws: - BadLocationException – if
imageLine
is not a valid line number in the image document
Returns: the corresponding lines of the original document or null
/**
* Returns the range of lines of the original document that corresponds to the given line of the image document or
* <code>null</code> if there are no such lines.
*
* @param imageLine the line of the image document
* @return the corresponding lines of the original document or <code>null</code>
* @throws BadLocationException if <code>imageLine</code> is not a valid line number in the image document
*/
IRegion toOriginLines(int imageLine) throws BadLocationException;
Returns the line of the original document that corresponds to the given line of the image document or
-1
if there is no such line.
Params: - imageLine – the line of the image document
Throws: - BadLocationException – if
imageLine
is not a valid line number in the image document
Returns: the corresponding line of the original document or -1
/**
* Returns the line of the original document that corresponds to the given line of the image document or
* <code>-1</code> if there is no such line.
*
* @param imageLine the line of the image document
* @return the corresponding line of the original document or <code>-1</code>
* @throws BadLocationException if <code>imageLine</code> is not a valid line number in the image document
*/
int toOriginLine(int imageLine) throws BadLocationException;
Returns the offset in the image document that corresponds to the given offset in the original document
or -1
if there is no such offset
Params: - originOffset – the offset in the original document
Throws: - BadLocationException – if
originOffset
is not a valid offset in the original document
Returns: the corresponding offset in the image document or -1
/**
* Returns the offset in the image document that corresponds to the given offset in the original document
* or <code>-1</code> if there is no such offset
*
* @param originOffset the offset in the original document
* @return the corresponding offset in the image document or <code>-1</code>
* @throws BadLocationException if <code>originOffset</code> is not a valid offset in the original document
*/
int toImageOffset(int originOffset) throws BadLocationException;
Returns the minimal region of the image document that completely comprises the given region of the
original document or null
if there is no such region.
Params: - originRegion – the region of the original document
Throws: - BadLocationException – if
originRegion
is not a valid region of the original document
Returns: the minimal region of the image document comprising the given region of the original document or null
/**
* Returns the minimal region of the image document that completely comprises the given region of the
* original document or <code>null</code> if there is no such region.
*
* @param originRegion the region of the original document
* @return the minimal region of the image document comprising the given region of the original document or <code>null</code>
* @throws BadLocationException if <code>originRegion</code> is not a valid region of the original document
*/
IRegion toImageRegion(IRegion originRegion) throws BadLocationException;
Returns the line of the image document that corresponds to the given line of the original document or
-1
if there is no such line.
Params: - originLine – the line of the original document
Throws: - BadLocationException – if
originLine
is not a valid line number in the original document
Returns: the corresponding line of the image document or -1
/**
* Returns the line of the image document that corresponds to the given line of the original document or
* <code>-1</code> if there is no such line.
*
* @param originLine the line of the original document
* @return the corresponding line of the image document or <code>-1</code>
* @throws BadLocationException if <code>originLine</code> is not a valid line number in the original document
*/
int toImageLine(int originLine) throws BadLocationException;
Returns the line of the image document whose corresponding line in the original document
is closest to the given line in the original document.
Params: - originLine – the line in the original document
Throws: - BadLocationException – if
originLine
is not a valid line in the original document
Returns: the line in the image document that corresponds best to the given line in the original document
/**
* Returns the line of the image document whose corresponding line in the original document
* is closest to the given line in the original document.
*
* @param originLine the line in the original document
* @return the line in the image document that corresponds best to the given line in the original document
* @throws BadLocationException if <code>originLine</code>is not a valid line in the original document
*/
int toClosestImageLine(int originLine) throws BadLocationException;
}