Class BaseMemberReference
java.lang.Object
io.github.mmm.code.base.item.BaseItem
io.github.mmm.code.base.expression.BaseExpression
io.github.mmm.code.base.expression.BaseMemberReference
- All Implemented Interfaces:
io.github.mmm.code.api.expression.CodeExpression, io.github.mmm.code.api.expression.CodeMemberReference, io.github.mmm.code.api.item.CodeItem
- Direct Known Subclasses:
BaseFieldReference, BaseMethodInvocation
public abstract class BaseMemberReference
extends BaseExpression
implements io.github.mmm.code.api.expression.CodeMemberReference
Generic implementation of
CodeMemberReference.- 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
ConstructorsModifierConstructorDescriptionBaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression) The constructor.protectedBaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression, io.github.mmm.code.api.type.CodeGenericType type) The constructor.BaseMemberReference(io.github.mmm.code.api.type.CodeGenericType type) 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.CodeExpressionabstract BaseMemberio.github.mmm.code.api.type.CodeGenericTypegetType()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.expression.CodeExpression
evaluateMethods inherited from interface io.github.mmm.code.api.item.CodeItem
getLanguage, getSourceCode, write, write, write, write, write, write
-
Constructor Details
-
BaseMemberReference
public BaseMemberReference(io.github.mmm.code.api.type.CodeGenericType type) The constructor.- Parameters:
type- thetype.
-
BaseMemberReference
public BaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression) The constructor.- Parameters:
expression- theexpression.
-
BaseMemberReference
protected BaseMemberReference(io.github.mmm.code.api.expression.CodeExpression expression, io.github.mmm.code.api.type.CodeGenericType type) The constructor.- Parameters:
expression- theexpression.type- thetype.
-
-
Method Details
-
getExpression
public io.github.mmm.code.api.expression.CodeExpression getExpression()- Specified by:
getExpressionin interfaceio.github.mmm.code.api.expression.CodeMemberReference
-
getType
public io.github.mmm.code.api.type.CodeGenericType getType()- Specified by:
getTypein interfaceio.github.mmm.code.api.expression.CodeMemberReference
-
getMember
- Specified by:
getMemberin interfaceio.github.mmm.code.api.expression.CodeMemberReference
-
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:
-