Class BaseBlockInitializer
java.lang.Object
io.github.mmm.code.base.item.BaseItem
io.github.mmm.code.base.item.BaseMutableItem
io.github.mmm.code.base.node.BaseNodeItem
io.github.mmm.code.base.block.BaseBlock
io.github.mmm.code.base.block.BaseBlockInitializer
- All Implemented Interfaces:
io.github.mmm.code.api.block.CodeBlock, io.github.mmm.code.api.block.CodeBlockInitializer, io.github.mmm.code.api.CodeWithContext, io.github.mmm.code.api.copy.CodeNodeItemCopyable<io.github.mmm.code.api.type.CodeType, io.github.mmm.code.api.block.CodeBlockInitializer>, io.github.mmm.code.api.item.CodeItem, io.github.mmm.code.api.item.CodeItemWithVariables, io.github.mmm.code.api.item.CodeMutableItem, io.github.mmm.code.api.node.CodeNode, io.github.mmm.code.api.node.CodeNodeItem, io.github.mmm.code.api.object.CodeMutable
public class BaseBlockInitializer
extends BaseBlock
implements io.github.mmm.code.api.block.CodeBlockInitializer
Base implementation of
CodeBlockBody.- 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
ConstructorsConstructorDescriptionBaseBlockInitializer(BaseBlockInitializer template, io.github.mmm.code.api.copy.CodeCopyMapper mapper) The copy-constructor.BaseBlockInitializer(BaseType parent) The constructor.BaseBlockInitializer(BaseType parent, io.github.mmm.code.api.statement.CodeStatement... statements) The constructor.BaseBlockInitializer(BaseType parent, List<io.github.mmm.code.api.statement.CodeStatement> statements) The constructor. -
Method Summary
Modifier and TypeMethodDescriptioncopy()copy(io.github.mmm.code.api.copy.CodeCopyMapper mapper) protected io.github.mmm.code.api.expression.CodeVariablegetVariableFromParent(String name) booleanisStatic()voidvoidsetStatic(boolean isStatic) protected voidwritePrefix(Appendable sink, String newline, String defaultIndent, String currentIndent) Writes a prefix e.g. for loops.Methods inherited from class BaseBlock
add, addText, doSetImmutable, doWrite, getStatements, getVariable, getVariable, writeSuffixMethods inherited from class BaseNodeItem
doInitialize, getContainerItem, getContainerItemDeclared, getContext, getLanguage, getSource, toPathStringMethods inherited from class BaseMutableItem
doCopyNode, doCopyNodeUnsafe, doMapList, doneInitialize, getDefaultCopyMapper, getDefaultEncoding, getReflectiveObject, getSourceCodeObject, initialize, initialize, isImmutable, isInitialized, isInitializing, isSystemImmutable, isSystemImmutable, makeImmutable, makeImmutable, setImmutable, setImmutableIfNotSystemImmutable, verifyMutalbe, writeItemMethods inherited from class BaseItem
getOwningType, getSourceCode, getSpaces, toString, writeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.github.mmm.code.api.block.CodeBlock
add, addText, getStatements, getVariable, getVariable, isEmptyMethods inherited from interface io.github.mmm.code.api.item.CodeItem
getLanguage, getSourceCode, write, write, write, write, write, writeMethods inherited from interface io.github.mmm.code.api.object.CodeMutable
isImmutable, isMutableMethods inherited from interface io.github.mmm.code.api.item.CodeMutableItem
getReflectiveObject, setImmutableMethods inherited from interface io.github.mmm.code.api.CodeWithContext
getContext, getSource
-
Constructor Details
-
BaseBlockInitializer
-
BaseBlockInitializer
public BaseBlockInitializer(BaseType parent, io.github.mmm.code.api.statement.CodeStatement... statements) The constructor.- Parameters:
parent- theparent.statements- thestatements.
-
BaseBlockInitializer
public BaseBlockInitializer(BaseType parent, List<io.github.mmm.code.api.statement.CodeStatement> statements) The constructor.- Parameters:
parent- theparent.statements- thestatements.
-
BaseBlockInitializer
public BaseBlockInitializer(BaseBlockInitializer template, io.github.mmm.code.api.copy.CodeCopyMapper mapper) The copy-constructor.- Parameters:
template- theBaseBlockto copy.mapper- theCodeCopyMapper.
-
-
Method Details
-
getParent
- Specified by:
getParentin interfaceio.github.mmm.code.api.block.CodeBlockInitializer- Specified by:
getParentin interfaceio.github.mmm.code.api.node.CodeNode- Specified by:
getParentin interfaceio.github.mmm.code.api.copy.CodeNodeItemCopyable<io.github.mmm.code.api.type.CodeType, io.github.mmm.code.api.block.CodeBlockInitializer>
-
setParent
- Parameters:
parent- the new value ofgetParent().
-
isStatic
public boolean isStatic()- Specified by:
isStaticin interfaceio.github.mmm.code.api.block.CodeBlockInitializer
-
setStatic
public void setStatic(boolean isStatic) - Specified by:
setStaticin interfaceio.github.mmm.code.api.block.CodeBlockInitializer
-
getVariableFromParent
- Specified by:
getVariableFromParentin classBaseBlock- Parameters:
name- thenameof the requestedCodeVariable.- Returns:
- the
CodeVariabledeclared by theparent nodewith the givennameornullif not found.
-
copy
- Specified by:
copyin interfaceio.github.mmm.code.api.block.CodeBlock- Specified by:
copyin interfaceio.github.mmm.code.api.block.CodeBlockInitializer- Specified by:
copyin interfaceio.github.mmm.code.api.item.CodeMutableItem- Specified by:
copyin interfaceio.github.mmm.code.api.node.CodeNodeItem- Specified by:
copyin interfaceio.github.mmm.code.api.copy.CodeNodeItemCopyable<io.github.mmm.code.api.type.CodeType, io.github.mmm.code.api.block.CodeBlockInitializer>
-
copy
- Specified by:
copyin interfaceio.github.mmm.code.api.item.CodeMutableItem- Specified by:
copyin interfaceio.github.mmm.code.api.node.CodeNodeItem- Specified by:
copyin interfaceio.github.mmm.code.api.copy.CodeNodeItemCopyable<io.github.mmm.code.api.type.CodeType, io.github.mmm.code.api.block.CodeBlockInitializer>
-
writePrefix
protected void writePrefix(Appendable sink, String newline, String defaultIndent, String currentIndent) throws IOException Description copied from class:BaseBlockWrites a prefix e.g. for loops.- Overrides:
writePrefixin classBaseBlock- 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 theindentwill be appended.- Throws:
IOException- if thrown byAppendable.
-