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
Constructors Constructor Description ProjectionMapping(IDocument masterDocument, String fragmentsCategory, IDocument slaveDocument, String segmentsCategory)
Creates a new mapping between the given parent document and the given projection document.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IRegion
getCoverage()
Returns 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
getImageLength()
Returns the length of the image document.void
projectionChanged()
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.IRegion
toClosestImageRegion(IRegion originRegion)
Returns the minimal region of the image document that completely comprises the given region of the original document.IRegion
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 offsetIRegion
toImageRegion(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.IRegion
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 offsetIRegion
toOriginRegion(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 Detail
-
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 Detail
-
projectionChanged
public void projectionChanged()
Notifies this projection mapping that there was a projection change.
-
getCoverage
public IRegion 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
public int toOriginOffset(int imageOffset) throws BadLocationException
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
public IRegion toOriginRegion(IRegion imageRegion) throws BadLocationException
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
public IRegion toOriginLines(int imageLine) throws BadLocationException
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
public int toOriginLine(int imageLine) throws BadLocationException
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
public int toImageOffset(int originOffset) throws BadLocationException
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
public IRegion toExactImageRegion(IRegion originRegion) throws BadLocationException
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
public IRegion toImageRegion(IRegion originRegion) throws BadLocationException
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
public IRegion toClosestImageRegion(IRegion originRegion) throws BadLocationException
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
public int toImageLine(int originLine) throws BadLocationException
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
public int toClosestImageLine(int originLine) throws BadLocationException
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
public IRegion[] toExactOriginRegions(IRegion imageRegion) throws BadLocationException
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
public IRegion[] toExactImageRegions(IRegion originRegion) throws BadLocationException
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
public IRegion[] getExactCoverage(IRegion originRegion) throws BadLocationException
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
-
-