Class DefaultIndentationHandler
- java.lang.Object
-
- org.eclipse.xtend.core.richstring.DefaultIndentationHandler
-
- All Implemented Interfaces:
IRichStringIndentationHandler
public class DefaultIndentationHandler extends java.lang.Object implements IRichStringIndentationHandler
Default indentation handler for rich strings. Tries to be graceful with inconsistent indentation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
DefaultIndentationHandler.IndentationData
protected static class
DefaultIndentationHandler.SemanticIndentationData
protected static class
DefaultIndentationHandler.TemplateIndentationData
-
Constructor Summary
Constructors Constructor Description DefaultIndentationHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(IRichStringPartAcceptor acceptor)
Announce the current indentation to the acceptor.java.lang.String
getTotalIndentation()
Return the current indentation.java.lang.CharSequence
getTotalSemanticIndentation()
Return the current semantic indentation.void
popIndentation()
Drop the recently announced indentation and use the previous state.void
pushSemanticIndentation(java.lang.CharSequence indentation)
Announce semantic indentation.void
pushTemplateIndentation(java.lang.CharSequence indentation)
Announce template indentation.
-
-
-
Method Detail
-
popIndentation
public void popIndentation()
Description copied from interface:IRichStringIndentationHandler
Drop the recently announced indentation and use the previous state.- Specified by:
popIndentation
in interfaceIRichStringIndentationHandler
-
pushTemplateIndentation
public void pushTemplateIndentation(java.lang.CharSequence indentation)
Description copied from interface:IRichStringIndentationHandler
Announce template indentation. The passed indentation is expected to contain the complete whitespace prefix of a line. Implementors will extract the new parts from it automatically.- Specified by:
pushTemplateIndentation
in interfaceIRichStringIndentationHandler
- Parameters:
indentation
- the leading whitespace of a line. May not benull
.
-
pushSemanticIndentation
public void pushSemanticIndentation(java.lang.CharSequence indentation)
Description copied from interface:IRichStringIndentationHandler
Announce semantic indentation. The passed indentation is expected to contain the complete whitespace prefix of a line. Implementors will extract the new parts from it automatically.- Specified by:
pushSemanticIndentation
in interfaceIRichStringIndentationHandler
- Parameters:
indentation
- the leading whitespace of a line. May not benull
.
-
getTotalSemanticIndentation
public java.lang.CharSequence getTotalSemanticIndentation()
Description copied from interface:IRichStringIndentationHandler
Return the current semantic indentation.- Specified by:
getTotalSemanticIndentation
in interfaceIRichStringIndentationHandler
- Returns:
- the complete semantic indentation. Never
null
.
-
getTotalIndentation
public java.lang.String getTotalIndentation()
Description copied from interface:IRichStringIndentationHandler
Return the current indentation.- Specified by:
getTotalIndentation
in interfaceIRichStringIndentationHandler
- Returns:
- the complete indentation. Never
null
.
-
accept
public void accept(IRichStringPartAcceptor acceptor)
Description copied from interface:IRichStringIndentationHandler
Announce the current indentation to the acceptor.- Specified by:
accept
in interfaceIRichStringIndentationHandler
-
-