Eclipse Platform
2.0

org.eclipse.jface.text.formatter
Class ContentFormatter

java.lang.Object
  |
  +--org.eclipse.jface.text.formatter.ContentFormatter
All Implemented Interfaces:
IContentFormatter

public class ContentFormatter
extends Object
implements IContentFormatter

Standard implementation of IContentFormatter. The formatter supports two operation modi: partition aware and partition unaware.

In the partition aware mode, the formatter determines the partitioning of the document region to be formatted. For each partition it determines all document positions which are affected when text changes are applied to the partition. Those which overlap with the partition are remembered as character positions. These character positions are passed over to the formatting strategy registered for the partition's content type. The formatting strategy returns a string containing the formatted document partition as well as the adapted character positions. The formatted partition replaces the old content of the partition. The remembered document postions are updated with the adapted character positions. In addition, all other document positions are accordingly adapted to the formatting changes.

In the partition unaware mode, the document's partitioning is ignored and the document is considered consisting of only one partition of the content type IDocument.DEFAULT_CONTENT_TYPE. The formatting process is similar to the partition aware mode, with the exception of having only one partition.

Usually, clients instantiate this class and configure it before using it.

See Also:
IContentFormatter, IDocument, ITypedRegion, Position

Constructor Summary
ContentFormatter()
          Creates a new content formatter.
 
Method Summary
 void enablePartitionAwareFormatting(boolean enable)
          Sets the formatter's operation mode.
 void format(IDocument document, IRegion region)
          Formats the given region of the specified document.The formatter may safely assume that it is the only subject that modifies the document at this point in time.
 IFormattingStrategy getFormattingStrategy(String contentType)
          Returns the formatting strategy registered for the given content type.
 void setFormattingStrategy(IFormattingStrategy strategy, String contentType)
          Registers a strategy for a particular content type.
 void setPartitionManagingPositionCategories(String[] categories)
          Informs this content formatter about the names of those position categories which are used to manage the document's partitioning information and thus should be ignored when this formatter updates positions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContentFormatter

public ContentFormatter()
Creates a new content formatter. The content formatter operates by default in the partition-aware mode. There are no preconfigured formatting strategies.

Method Detail

setFormattingStrategy

public void setFormattingStrategy(IFormattingStrategy strategy,
                                  String contentType)
Registers a strategy for a particular content type. If there is already a strategy registered for this type, the new strategy is registered instead of the old one. If the given content type is null the given strategy is registered for all content types as is called only once per formatting session.

Parameters:
strategy - the formatting strategy to register, or null to remove an existing one
contentType - the content type under which to register, or null for all content types

setPartitionManagingPositionCategories

public void setPartitionManagingPositionCategories(String[] categories)
Informs this content formatter about the names of those position categories which are used to manage the document's partitioning information and thus should be ignored when this formatter updates positions.

Parameters:
categories - the categories to be ignored

enablePartitionAwareFormatting

public void enablePartitionAwareFormatting(boolean enable)
Sets the formatter's operation mode.

Parameters:
enable - indicates whether the formatting process should be partition ware

getFormattingStrategy

public IFormattingStrategy getFormattingStrategy(String contentType)
Description copied from interface: IContentFormatter
Returns the formatting strategy registered for the given content type.

Specified by:
getFormattingStrategy in interface IContentFormatter
Parameters:
contentType - the content type for which to look up the formatting strategy
Returns:
the formatting strategy for the given content type, or null if there is no such strategy

format

public void format(IDocument document,
                   IRegion region)
Description copied from interface: IContentFormatter
Formats the given region of the specified document.The formatter may safely assume that it is the only subject that modifies the document at this point in time.

Specified by:
format in interface IContentFormatter
Parameters:
document - the document to be formatted
region - the region within the document to be formatted

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.