Package org.eclipse.jface.text
Class TextUtilities
java.lang.Object
org.eclipse.jface.text.TextUtilities
A collection of text functions.
 
This class is neither intended to be instantiated nor subclassed.
- Restriction:
- This class is not intended to be subclassed by clients.
- Restriction:
- This class is not intended to be instantiated by clients.
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic voidaddDocumentPartitioners(IDocument document, Map<String, ? extends IDocumentPartitioner> partitioners) Connects the given document with all document partitioners stored in the given map under their partitioning name.static ITypedRegion[]computePartitioning(IDocument document, String partitioning, int offset, int length, boolean includeZeroLengthPartitions) Computes and returns the partitioning for the given region of the given document for the given partitioning name.static String[]computePartitionManagingCategories(IDocument document) Computes and returns the partition managing position categories for the given document ornullif this was impossible.static int[]copy(int[] array) Returns a copy of the given integer array.static String[]Returns a copy of the given string array.static StringdetermineLineDelimiter(String text, String hint) Determines which one of default line delimiters appears first in the list.static intReturns the index of the longest search string with which the given text ends or-1if none matches.static intReturns the index of the first compare string that equals the given text or-1if none is equal.static StringgetContentType(IDocument document, String partitioning, int offset, boolean preferOpenPartitions) Returns the content type at the given offset of the given document.static StringgetDefaultLineDelimiter(IDocument document) Returns the default line delimiter for the given document.static ITypedRegiongetPartition(IDocument document, String partitioning, int offset, boolean preferOpenPartitions) Returns the partition of the given offset of the given document.static int[]Deprecated.static DocumentEventmergeProcessedDocumentEvents(List<? extends DocumentEvent> documentEvents) Returns a document event which is an accumulation of a list of document events,nullif the list of document events is empty.static DocumentEventmergeUnprocessedDocumentEvents(IDocument unprocessedDocument, List<? extends DocumentEvent> documentEvents) Returns a document event which is an accumulation of a list of document events,nullif the list of documentEvents is empty.nextDelimiter(CharSequence text, int offset) Search for the first standard line delimiter in text starting at given offset.static booleanReturnstrueif the two regions overlap.static Map<String,IDocumentPartitioner> removeDocumentPartitioners(IDocument document) Removes all connected document partitioners from the given document and stores them under their partitioning name in a map.static intstartsWith(String[] searchStrings, String text) Returns the index of the longest search string with which the given text starts or-1if none matches.
- 
Field Details- 
DELIMITERSDefault line delimiters used by the text functions of this class.
- 
fgDelimitersDeprecated.use DELIMITERS insteadDefault line delimiters used by these text functions.
 
- 
- 
Constructor Details- 
TextUtilitiespublic TextUtilities()
 
- 
- 
Method Details- 
determineLineDelimiterDetermines which one of default line delimiters appears first in the list. If none of them the hint is returned.- Parameters:
- text- the text to be checked
- hint- the line delimiter hint
- Returns:
- the line delimiter
 
- 
indexOfDeprecated.useMultiStringMatcher.indexOf(CharSequence, int, String...)instead. Notable differences:- new matcher indexOf does not allow negative offsets (old matcher treated them
             as 0)
- new matcher indexOf will tolerate nulland empty search strings (old accepted empty but throw onnull)
- new matcher indexOf will not match empty string (old matched empty if nothing else matched)
 delimiteruse the optimizednextDelimiter(CharSequence, int)method instead.Returns the starting position and the index of the first matching search string in the given text that is greater than the given offset. If more than one search string matches with the same starting position then the longest one is returned.- Parameters:
- searchStrings- the strings to search for
- text- the text to be searched
- offset- the offset at which to start the search
- Returns:
- an int[]with two elements where the first is the starting offset, the second the index of the found search string in the givensearchStringsarray, returns[-1, -1]if no match exists
 
- new matcher indexOf does not allow negative offsets (old matcher treated them
             as 
- 
endsWithReturns the index of the longest search string with which the given text ends or-1if none matches.- Parameters:
- searchStrings- the strings to search for
- text- the text to search
- Returns:
- the index in searchStringsof the longest string with whichtextends or-1
 
- 
startsWithReturns the index of the longest search string with which the given text starts or-1if none matches.- Parameters:
- searchStrings- the strings to search for
- text- the text to search
- Returns:
- the index in searchStringsof the longest string with whichtextstarts or-1
 
- 
equalsReturns the index of the first compare string that equals the given text or-1if none is equal.- Parameters:
- compareStrings- the strings to compare with
- text- the text to check
- Returns:
- the index of the first equal compare string or -1
 
- 
mergeUnprocessedDocumentEventspublic static DocumentEvent mergeUnprocessedDocumentEvents(IDocument unprocessedDocument, List<? extends DocumentEvent> documentEvents) throws BadLocationException Returns a document event which is an accumulation of a list of document events,nullif the list of documentEvents is empty. The document of the document events are ignored.- Parameters:
- unprocessedDocument- the document to which the document events would be applied
- documentEvents- the list of document events to merge
- Returns:
- returns the merged document event
- Throws:
- BadLocationException- might be thrown if document is not in the correct state with respect to document events
 
- 
mergeProcessedDocumentEventspublic static DocumentEvent mergeProcessedDocumentEvents(List<? extends DocumentEvent> documentEvents) throws BadLocationException Returns a document event which is an accumulation of a list of document events,nullif the list of document events is empty. The document events being merged must all refer to the same document, to which the document changes have been already applied.- Parameters:
- documentEvents- the list of document events to merge
- Returns:
- returns the merged document event
- Throws:
- BadLocationException- might be thrown if document is not in the correct state with respect to document events
 
- 
removeDocumentPartitionersRemoves all connected document partitioners from the given document and stores them under their partitioning name in a map. This map is returned. After this method has been called the given document is no longer connected to any document partitioner.- Parameters:
- document- the document
- Returns:
- the map containing the removed partitioners
 
- 
addDocumentPartitionerspublic static void addDocumentPartitioners(IDocument document, Map<String, ? extends IDocumentPartitioner> partitioners) Connects the given document with all document partitioners stored in the given map under their partitioning name. This method cleans the given map.- Parameters:
- document- the document
- partitioners- the map containing the partitioners to be connected
- Since:
- 3.0
 
- 
getContentTypepublic static String getContentType(IDocument document, String partitioning, int offset, boolean preferOpenPartitions) throws BadLocationException Returns the content type at the given offset of the given document.- Parameters:
- document- the document
- partitioning- the partitioning to be used
- offset- the offset
- preferOpenPartitions-- trueif precedence should be given to a open partition ending at- offsetover a closed partition starting at- offset
- Returns:
- the content type at the given offset of the document
- Throws:
- BadLocationException- if offset is invalid in the document
- Since:
- 3.0
 
- 
getPartitionpublic static ITypedRegion getPartition(IDocument document, String partitioning, int offset, boolean preferOpenPartitions) throws BadLocationException Returns the partition of the given offset of the given document.- Parameters:
- document- the document
- partitioning- the partitioning to be used
- offset- the offset
- preferOpenPartitions-- trueif precedence should be given to a open partition ending at- offsetover a closed partition starting at- offset
- Returns:
- the content type at the given offset of this viewer's input document
- Throws:
- BadLocationException- if offset is invalid in the given document
- Since:
- 3.0
 
- 
computePartitioningpublic static ITypedRegion[] computePartitioning(IDocument document, String partitioning, int offset, int length, boolean includeZeroLengthPartitions) throws BadLocationException Computes and returns the partitioning for the given region of the given document for the given partitioning name.- Parameters:
- document- the document
- partitioning- the partitioning name
- offset- the region offset
- length- the region length
- includeZeroLengthPartitions- whether to include zero-length partitions
- Returns:
- the partitioning for the given region of the given document for the given partitioning name
- Throws:
- BadLocationException- if the given region is invalid for the given document
- Since:
- 3.0
 
- 
computePartitionManagingCategoriesComputes and returns the partition managing position categories for the given document ornullif this was impossible.- Parameters:
- document- the document
- Returns:
- the partition managing position categories or null
- Since:
- 3.0
 
- 
getDefaultLineDelimiterReturns the default line delimiter for the given document. This isIDocumentExtension4.getDefaultLineDelimiter()if available. Otherwise, this is either the delimiter of the first line, or the platform line delimiter if it is a legal line delimiter, or the first one of the legal line delimiters. The default line delimiter should be used when performing document manipulations that span multiple lines.- Parameters:
- document- the document
- Returns:
- the document's default line delimiter
- Since:
- 3.0
 
- 
overlapsReturnstrueif the two regions overlap. Returnsfalseif one of the arguments isnull.- Parameters:
- left- the left region
- right- the right region
- Returns:
- trueif the two regions overlap,- falseotherwise
- Since:
- 3.0
 
- 
copyReturns a copy of the given string array.- Parameters:
- array- the string array to be copied
- Returns:
- a copy of the given string array or nullwhenarrayisnull
- Since:
- 3.1
 
- 
copypublic static int[] copy(int[] array) Returns a copy of the given integer array.- Parameters:
- array- the integer array to be copied
- Returns:
- a copy of the given integer array or nullwhenarrayisnull
- Since:
- 3.1
 
- 
nextDelimiterSearch for the first standard line delimiter in text starting at given offset. Standard line delimiters are those defined inDELIMITERS. This is a faster variant of the equalMultiStringMatcher.indexOf(TextUtilities.DELIMITERS, text, offset) - Parameters:
- text- the text to be searched. Not- null.
- offset- the offset in text at which to start the search
- Returns:
- a AbstractLineTracker.DelimiterInfo. If no delimiter was foundAbstractLineTracker.DelimiterInfo.delimiterIndexis-1andAbstractLineTracker.DelimiterInfo.delimiterisnull.
- Since:
- 3.10
 
 
-