Class BaseLocalVariable
java.lang.Object
io.github.mmm.code.base.item.BaseItem
io.github.mmm.code.base.statement.BaseStatement
io.github.mmm.code.base.statement.BaseAtomicStatement
io.github.mmm.code.base.statement.BaseLocalVariable
- All Implemented Interfaces:
io.github.mmm.code.api.expression.CodeExpression, io.github.mmm.code.api.expression.CodeVariable, io.github.mmm.code.api.item.CodeItem, io.github.mmm.code.api.item.CodeItemWithDeclaration, io.github.mmm.code.api.item.CodeItemWithModifiers, io.github.mmm.code.api.item.CodeItemWithName, io.github.mmm.code.api.item.CodeItemWithType, io.github.mmm.code.api.item.CodeItemWithVariables, io.github.mmm.code.api.statement.CodeAssignment, io.github.mmm.code.api.statement.CodeAtomicStatement, io.github.mmm.code.api.statement.CodeLocalVariable, io.github.mmm.code.api.statement.CodeStatement
public class BaseLocalVariable
extends BaseAtomicStatement
implements io.github.mmm.code.api.statement.CodeLocalVariable
Base implementation of
CodeLocalVariable.- 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
ConstructorsConstructorDescriptionBaseLocalVariable(BaseSource source, String name, io.github.mmm.code.api.type.CodeGenericType type, io.github.mmm.code.api.expression.CodeExpression expression, boolean finalFlag) The constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) io.github.mmm.code.api.expression.CodeConstantevaluate()io.github.mmm.code.api.expression.CodeExpressiongetName()io.github.mmm.code.api.type.CodeGenericTypegetType()io.github.mmm.code.api.statement.CodeLocalVariablegetVariable(String variableName) booleanisFinal()Methods 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.item.CodeItem
getLanguage, getSourceCode, write, write, write, write, write, writeMethods inherited from interface io.github.mmm.code.api.item.CodeItemWithDeclaration
writeReferenceMethods inherited from interface io.github.mmm.code.api.statement.CodeLocalVariable
getModifiers, getVariableMethods inherited from interface io.github.mmm.code.api.expression.CodeVariable
writeReference
-
Constructor Details
-
BaseLocalVariable
public BaseLocalVariable(BaseSource source, String name, io.github.mmm.code.api.type.CodeGenericType type, io.github.mmm.code.api.expression.CodeExpression expression, boolean finalFlag) The constructor.- Parameters:
source- theBaseSourcedefining this variable.name- thename.type- thetype.expression- the assignmentexpression.finalFlag- thefinalflag.
-
-
Method Details
-
getName
- Specified by:
getNamein interfaceio.github.mmm.code.api.item.CodeItemWithName
-
getType
public io.github.mmm.code.api.type.CodeGenericType getType()- Specified by:
getTypein interfaceio.github.mmm.code.api.item.CodeItemWithType
-
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceio.github.mmm.code.api.statement.CodeLocalVariable
-
getExpression
public io.github.mmm.code.api.expression.CodeExpression getExpression()- Specified by:
getExpressionin interfaceio.github.mmm.code.api.statement.CodeAssignment- Specified by:
getExpressionin interfaceio.github.mmm.code.api.statement.CodeLocalVariable
-
getVariable
- Specified by:
getVariablein interfaceio.github.mmm.code.api.item.CodeItemWithVariables- Overrides:
getVariablein classBaseStatement
-
evaluate
public io.github.mmm.code.api.expression.CodeConstant evaluate()- Specified by:
evaluatein interfaceio.github.mmm.code.api.expression.CodeExpression
-
doWrite
protected void doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) throws IOException - Specified by:
doWritein classBaseItem- 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:
-