Class ProjectionMapping
java.lang.Object
org.eclipse.jface.text.projection.ProjectionMapping
- All Implemented Interfaces:
IDocumentInformationMapping
,IDocumentInformationMappingExtension
,IDocumentInformationMappingExtension2
public class ProjectionMapping
extends Object
implements IDocumentInformationMapping, IDocumentInformationMappingExtension, IDocumentInformationMappingExtension2
Internal class. Do not use. Only public for testing purposes.
Implementation of IDocumentInformationMapping
for the projection mapping between a master and a slave document.
- Since:
- 3.0
- Restriction:
- This class is not intended to be subclassed by clients.
- Restriction:
- This class is not intended to be instantiated by clients.
-
Constructor Summary
ConstructorDescriptionProjectionMapping
(IDocument masterDocument, String fragmentsCategory, IDocument slaveDocument, String segmentsCategory) Creates a new mapping between the given parent document and the given projection document. -
Method Summary
Modifier and TypeMethodDescriptionReturns the minimal region of the original document that completely comprises all of the image document ornull
if there is no such region.IRegion[]
getExactCoverage
(IRegion originRegion) Returns the maximal sub-regions of the given origin region which are completely covered.int
Returns the length of the image document.void
Notifies this projection mapping that there was a projection change.int
toClosestImageLine
(int originLine) Returns the line of the image document whose corresponding line in the original document is closest to the given line in the original document.toClosestImageRegion
(IRegion originRegion) Returns the minimal region of the image document that completely comprises the given region of the original document.toExactImageRegion
(IRegion originRegion) Adheres tooriginRegion=toOriginRegion(toExactImageRegion(originRegion))
, iftoExactImageRegion(originRegion) !
IRegion[]
toExactImageRegions
(IRegion originRegion) Returns the segments of the image document that exactly correspond to the given region of the original document.IRegion[]
toExactOriginRegions
(IRegion imageRegion) Returns the fragments of the original document that exactly correspond to the given region of the image document.int
toImageLine
(int originLine) 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.int
toImageOffset
(int originOffset) Returns the offset in the image document that corresponds to the given offset in the original document or-1
if there is no such offsettoImageRegion
(IRegion originRegion) Returns the minimal region of the image document that completely comprises the given region of the original document ornull
if there is no such region.int
toOriginLine
(int imageLine) 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.toOriginLines
(int imageLine) Returns the range of lines of the original document that corresponds to the given line of the image document ornull
if there are no such lines.int
toOriginOffset
(int imageOffset) Returns the offset in the original document that corresponds to the given offset in the image document or-1
if there is no such offsettoOriginRegion
(IRegion imageRegion) Returns the minimal region of the original document that completely comprises the given region of the image document ornull
if there is no such region.
-
Constructor Details
-
ProjectionMapping
public ProjectionMapping(IDocument masterDocument, String fragmentsCategory, IDocument slaveDocument, String segmentsCategory) Creates a new mapping between the given parent document and the given projection document.- Parameters:
masterDocument
- the master documentfragmentsCategory
- the position category of the parent document used to manage the projected regionsslaveDocument
- the slave documentsegmentsCategory
- the position category of the projection document used to manage the fragments
-
-
Method Details
-
projectionChanged
public void projectionChanged()Notifies this projection mapping that there was a projection change. -
getCoverage
Description copied from interface:IDocumentInformationMapping
Returns the minimal region of the original document that completely comprises all of the image document ornull
if there is no such region.- Specified by:
getCoverage
in interfaceIDocumentInformationMapping
- Returns:
- the minimal region of the original document comprising the image document or
null
-
toOriginOffset
Description copied from interface:IDocumentInformationMapping
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- Specified by:
toOriginOffset
in interfaceIDocumentInformationMapping
- Parameters:
imageOffset
- the offset in the image document- Returns:
- the corresponding offset in the original document or
-1
- Throws:
BadLocationException
- ifimageOffset
is not a valid offset in the image document
-
toOriginRegion
Description copied from interface:IDocumentInformationMapping
Returns the minimal region of the original document that completely comprises the given region of the image document ornull
if there is no such region.- Specified by:
toOriginRegion
in interfaceIDocumentInformationMapping
- Parameters:
imageRegion
- the region of the image document- Returns:
- the minimal region of the original document comprising the given region of the image document or
null
- Throws:
BadLocationException
- ifimageRegion
is not a valid region of the image document
-
toOriginLines
Description copied from interface:IDocumentInformationMapping
Returns the range of lines of the original document that corresponds to the given line of the image document ornull
if there are no such lines.- Specified by:
toOriginLines
in interfaceIDocumentInformationMapping
- Parameters:
imageLine
- the line of the image document- Returns:
- the corresponding lines of the original document or
null
- Throws:
BadLocationException
- ifimageLine
is not a valid line number in the image document
-
toOriginLine
Description copied from interface:IDocumentInformationMapping
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.- Specified by:
toOriginLine
in interfaceIDocumentInformationMapping
- Parameters:
imageLine
- the line of the image document- Returns:
- the corresponding line of the original document or
-1
- Throws:
BadLocationException
- ifimageLine
is not a valid line number in the image document
-
toImageOffset
Description copied from interface:IDocumentInformationMapping
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- Specified by:
toImageOffset
in interfaceIDocumentInformationMapping
- Parameters:
originOffset
- the offset in the original document- Returns:
- the corresponding offset in the image document or
-1
- Throws:
BadLocationException
- iforiginOffset
is not a valid offset in the original document
-
toExactImageRegion
Description copied from interface:IDocumentInformationMappingExtension
Adheres tooriginRegion=toOriginRegion(toExactImageRegion(originRegion))
, iftoExactImageRegion(originRegion) != null
. Returnsnull
if there is no image for the given origin region.- Specified by:
toExactImageRegion
in interfaceIDocumentInformationMappingExtension
- Parameters:
originRegion
- the origin region- Returns:
- the exact image region or
null
- Throws:
BadLocationException
- if origin region is not a valid region in the origin document
-
toImageRegion
Description copied from interface:IDocumentInformationMapping
Returns the minimal region of the image document that completely comprises the given region of the original document ornull
if there is no such region.- Specified by:
toImageRegion
in interfaceIDocumentInformationMapping
- Parameters:
originRegion
- the region of the original document- Returns:
- the minimal region of the image document comprising the given region of the original document or
null
- Throws:
BadLocationException
- iforiginRegion
is not a valid region of the original document
-
toClosestImageRegion
Description copied from interface:IDocumentInformationMappingExtension2
Returns the minimal region of the image document that completely comprises the given region of the original document. The difference toIDocumentInformationMapping.toImageRegion(IRegion)
is that this method will always return an image region for a valid origin region. IforiginRegion
has no corresponding image region, the zero-length region at the offset between its surrounding fragments is returned.- Specified by:
toClosestImageRegion
in interfaceIDocumentInformationMappingExtension2
- Parameters:
originRegion
- the region of the original document- Returns:
- the minimal region of the image document comprising the given region of the original document
- Throws:
BadLocationException
- iforiginRegion
is not a valid region of the original document
-
toImageLine
Description copied from interface:IDocumentInformationMapping
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.- Specified by:
toImageLine
in interfaceIDocumentInformationMapping
- Parameters:
originLine
- the line of the original document- Returns:
- the corresponding line of the image document or
-1
- Throws:
BadLocationException
- iforiginLine
is not a valid line number in the original document
-
toClosestImageLine
Description copied from interface:IDocumentInformationMapping
Returns the line of the image document whose corresponding line in the original document is closest to the given line in the original document.- Specified by:
toClosestImageLine
in interfaceIDocumentInformationMapping
- Parameters:
originLine
- the line in the original document- Returns:
- the line in the image document that corresponds best to the given line in the original document
- Throws:
BadLocationException
- iforiginLine
is not a valid line in the original document
-
toExactOriginRegions
Description copied from interface:IDocumentInformationMappingExtension
Returns the fragments of the original document that exactly correspond to the given region of the image document.- Specified by:
toExactOriginRegions
in interfaceIDocumentInformationMappingExtension
- Parameters:
imageRegion
- the region in the image document- Returns:
- the fragments in the origin document
- Throws:
BadLocationException
- in case the given image region is not valid in the image document
-
getImageLength
public int getImageLength()Description copied from interface:IDocumentInformationMappingExtension
Returns the length of the image document.- Specified by:
getImageLength
in interfaceIDocumentInformationMappingExtension
- Returns:
- the length of the image document
-
toExactImageRegions
Description copied from interface:IDocumentInformationMappingExtension
Returns the segments of the image document that exactly correspond to the given region of the original document. Returnsnull
if there are no such image regions.- Specified by:
toExactImageRegions
in interfaceIDocumentInformationMappingExtension
- Parameters:
originRegion
- the region in the origin document- Returns:
- the segments in the image document or
null
- Throws:
BadLocationException
- in case the given origin region is not valid in the original document
-
getExactCoverage
Description copied from interface:IDocumentInformationMappingExtension
Returns the maximal sub-regions of the given origin region which are completely covered. I.e. each offset in a sub-region has a corresponding image offset. Returnsnull
if there are no such sub-regions.- Specified by:
getExactCoverage
in interfaceIDocumentInformationMappingExtension
- Parameters:
originRegion
- the region in the origin document- Returns:
- the sub-regions with complete coverage or
null
- Throws:
BadLocationException
- in case the given origin region is not valid in the original document
-