org.eclipse.xtext.ui.editor.folding
Class DefaultFoldingRegionProvider

java.lang.Object
  extended by org.eclipse.xtext.ui.editor.folding.DefaultFoldingRegionProvider
All Implemented Interfaces:
IFoldingRegionProvider
Direct Known Subclasses:
XtendFoldingRegionProvider, XtextGrammarFoldingRegionProvider

public class DefaultFoldingRegionProvider
extends java.lang.Object
implements IFoldingRegionProvider

Author:
Michael Clay - Initial contribution and API, Sebastian Zarnekow - Introduced FoldedRegion, use ILocationInFileProvider

Field Summary
protected static java.util.regex.Pattern TEXT_PATTERN_IN_COMMENT
           
 
Constructor Summary
DefaultFoldingRegionProvider()
           
DefaultFoldingRegionProvider(ILocationInFileProvider locationInFileProvider)
           
 
Method Summary
protected  void computeCommentFolding(IXtextDocument xtextDocument, IFoldingRegionAcceptor<ITextRegion> foldingRegionAcceptor)
           
protected  void computeObjectFolding(org.eclipse.emf.ecore.EObject eObject, IFoldingRegionAcceptor<ITextRegion> foldingRegionAcceptor)
           
protected  void computeObjectFolding(XtextResource xtextResource, IFoldingRegionAcceptor<ITextRegion> foldingRegionAcceptor)
           
protected  IFoldingRegionAcceptor<ITextRegion> createAcceptor(IXtextDocument xtextDocument, java.util.Collection<FoldedPosition> foldedPositions)
           
protected  java.util.Collection<FoldedPosition> doGetFoldingRegions(IXtextDocument xtextDocument, XtextResource xtextResource)
           
 java.util.Collection<FoldedPosition> getFoldingRegions(IXtextDocument xtextDocument)
           
protected  ILocationInFileProvider getLocationInFileProvider()
           
protected  java.util.regex.Pattern getTextPatternInComment()
           
protected  boolean isHandled(org.eclipse.emf.ecore.EObject eObject)
           
protected  boolean shouldProcessContent(org.eclipse.emf.ecore.EObject object)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TEXT_PATTERN_IN_COMMENT

protected static final java.util.regex.Pattern TEXT_PATTERN_IN_COMMENT
Constructor Detail

DefaultFoldingRegionProvider

public DefaultFoldingRegionProvider(ILocationInFileProvider locationInFileProvider)

DefaultFoldingRegionProvider

@Inject
public DefaultFoldingRegionProvider()
Method Detail

getFoldingRegions

public java.util.Collection<FoldedPosition> getFoldingRegions(IXtextDocument xtextDocument)
Specified by:
getFoldingRegions in interface IFoldingRegionProvider
Returns:
the list of FoldedPosition for the given document

doGetFoldingRegions

protected java.util.Collection<FoldedPosition> doGetFoldingRegions(IXtextDocument xtextDocument,
                                                                   XtextResource xtextResource)

createAcceptor

protected IFoldingRegionAcceptor<ITextRegion> createAcceptor(IXtextDocument xtextDocument,
                                                             java.util.Collection<FoldedPosition> foldedPositions)

computeObjectFolding

protected void computeObjectFolding(XtextResource xtextResource,
                                    IFoldingRegionAcceptor<ITextRegion> foldingRegionAcceptor)

getLocationInFileProvider

protected ILocationInFileProvider getLocationInFileProvider()

computeObjectFolding

protected void computeObjectFolding(org.eclipse.emf.ecore.EObject eObject,
                                    IFoldingRegionAcceptor<ITextRegion> foldingRegionAcceptor)

computeCommentFolding

protected void computeCommentFolding(IXtextDocument xtextDocument,
                                     IFoldingRegionAcceptor<ITextRegion> foldingRegionAcceptor)

getTextPatternInComment

protected java.util.regex.Pattern getTextPatternInComment()
Returns:
the regular expression that finds the first significant part of a multi line comment.

isHandled

protected boolean isHandled(org.eclipse.emf.ecore.EObject eObject)
Returns:
true if the object should be folded if it spans more than one line. Default is false if and only if the object is the root object of the resource.

shouldProcessContent

protected boolean shouldProcessContent(org.eclipse.emf.ecore.EObject object)
Returns:
clients should false to abort the traversal of the model.