Class BaseItem
java.lang.Object
io.github.mmm.code.base.item.BaseItem
- All Implemented Interfaces:
io.github.mmm.code.api.item.CodeItem
- Direct Known Subclasses:
BaseComment, BaseExpression, BaseImport, BaseImportItem, BaseMutableItem, BaseOperator, BaseStatement
Base implementation of
CodeItem.- Since:
- 1.0.0
- Author:
- Joerg Hohwiller (hohwille at users.sourceforge.net)
-
Field Summary
Fields inherited from interface io.github.mmm.code.api.item.CodeItem
DEFAULT_INDENT, DEFAULT_NEWLINE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voiddoWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) protected static io.github.mmm.code.api.type.CodeTypegetOwningType(io.github.mmm.code.api.item.CodeItem element) protected static StringgetSpaces(int length) toString()final voidwrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.github.mmm.code.api.item.CodeItem
getLanguage, write, write, write, write, write
-
Constructor Details
-
BaseItem
public BaseItem()The constructor.
-
-
Method Details
-
write
public final void write(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) - Specified by:
writein interfaceio.github.mmm.code.api.item.CodeItem
-
doWrite
protected abstract void doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) throws IOException - Parameters:
sink- theAppendablewhere toappendthe code from thisCodeItem.newline- the newlineString.defaultIndent- theStringused for indentation (e.g. a number of spaces to insert per indent level).currentIndent- the current indent (number of spaces). Initially the empty string (""). Before a recursion thedefaultIndentwill be appended.language- theCodeLanguageto use.- Throws:
IOException- if thrown byAppendable.- See Also:
-
toString
-
getSourceCode
- Specified by:
getSourceCodein interfaceio.github.mmm.code.api.item.CodeItem
-
getOwningType
protected static io.github.mmm.code.api.type.CodeType getOwningType(io.github.mmm.code.api.item.CodeItem element) - Parameters:
element- theCodeItem.- Returns:
- the owning
CodeType.
-
getSpaces
-