Class BaseConstructor
java.lang.Object
- All Implemented Interfaces:
io.github.mmm.code.api.CodeWithContext, io.github.mmm.code.api.copy.CodeNodeItemCopyable<io.github.mmm.code.api.member.CodeConstructors, io.github.mmm.code.api.member.CodeConstructor>, io.github.mmm.code.api.element.CodeElement, io.github.mmm.code.api.element.CodeElementWithDeclaringType, io.github.mmm.code.api.element.CodeElementWithModifiers, io.github.mmm.code.api.element.CodeElementWithName, io.github.mmm.code.api.element.CodeElementWithTypeVariables, io.github.mmm.code.api.item.CodeItem, io.github.mmm.code.api.item.CodeItemWithComment, io.github.mmm.code.api.item.CodeItemWithDeclaringType, 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.item.CodeMutableItem, io.github.mmm.code.api.item.CodeMutableItemWithComment, io.github.mmm.code.api.member.CodeConstructor, io.github.mmm.code.api.member.CodeMember, io.github.mmm.code.api.member.CodeOperation, io.github.mmm.code.api.merge.CodeAdvancedMergeableItem<io.github.mmm.code.api.member.CodeConstructor>, io.github.mmm.code.api.merge.CodeMergeableItem<io.github.mmm.code.api.member.CodeConstructor>, io.github.mmm.code.api.node.CodeFunction, io.github.mmm.code.api.node.CodeNode, io.github.mmm.code.api.node.CodeNodeItem, io.github.mmm.code.api.object.CodeMutable
public class BaseConstructor
extends BaseOperation
implements io.github.mmm.code.api.member.CodeConstructor
Base implementation of
CodeConstructor.- 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
ConstructorsConstructorDescriptionBaseConstructor(BaseConstructor template, io.github.mmm.code.api.copy.CodeCopyMapper mapper) The copy-constructor.BaseConstructor(BaseConstructors parent) The constructor.BaseConstructor(BaseConstructors parent, BaseTypeVariables typeVariables) The constructor.BaseConstructor(BaseConstructors parent, Constructor<?> reflectiveObject) The constructor. -
Method Summary
Modifier and TypeMethodDescriptioncopy()copy(io.github.mmm.code.api.copy.CodeCopyMapper mapper) protected voiddoWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) getName()Constructor<?> io.github.mmm.code.api.member.CodeConstructorio.github.mmm.code.api.member.CodeConstructormerge(io.github.mmm.code.api.member.CodeConstructor other, io.github.mmm.code.api.merge.CodeMergeStrategyDecider decider, io.github.mmm.code.api.merge.CodeMergeStrategy parentStrategy) voidMethods inherited from class BaseOperation
canHaveBody, doMerge, doSetImmutable, getBody, getExceptions, getParameters, getTypeParameters, getVariable, setBodyMethods inherited from class BaseMember
getDeclaringTypeMethods inherited from class BaseElementWithModifiers
getModifiers, setModifiersMethods inherited from class BaseElement
doInitialize, doMerge, doWriteAnnotations, doWriteComment, doWriteDoc, getAnnotations, getComment, getDoc, removeFromParent, setCommentMethods inherited from class BaseNodeItem
getContainerItem, getContainerItemDeclared, getContext, getLanguage, getSource, toPathStringMethods inherited from class BaseMutableItem
doCopyNode, doCopyNodeUnsafe, doMapList, doneInitialize, getDefaultCopyMapper, getDefaultEncoding, 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.merge.CodeAdvancedMergeableItem
merge, mergeMethods inherited from interface io.github.mmm.code.api.member.CodeConstructor
getTypeMethods inherited from interface io.github.mmm.code.api.element.CodeElement
getAnnotations, getDoc, removeFromParentMethods inherited from interface io.github.mmm.code.api.element.CodeElementWithModifiers
setModifiersMethods inherited from interface io.github.mmm.code.api.element.CodeElementWithTypeVariables
getTypeParametersMethods inherited from interface io.github.mmm.code.api.node.CodeFunction
canHaveBody, getBody, setBodyMethods 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.CodeItemWithComment
getCommentMethods inherited from interface io.github.mmm.code.api.item.CodeItemWithDeclaringType
getDeclaringTypeMethods inherited from interface io.github.mmm.code.api.item.CodeItemWithModifiers
getModifiersMethods inherited from interface io.github.mmm.code.api.item.CodeItemWithVariables
getVariableMethods inherited from interface io.github.mmm.code.api.object.CodeMutable
isImmutable, isMutableMethods inherited from interface io.github.mmm.code.api.item.CodeMutableItem
setImmutableMethods inherited from interface io.github.mmm.code.api.item.CodeMutableItemWithComment
setCommentMethods inherited from interface io.github.mmm.code.api.member.CodeOperation
getExceptions, getParametersMethods inherited from interface io.github.mmm.code.api.CodeWithContext
getContext, getSource
-
Constructor Details
-
BaseConstructor
-
BaseConstructor
The constructor.- Parameters:
parent- theparent.reflectiveObject- thereflective object. May benull.
-
BaseConstructor
The constructor.- Parameters:
parent- theparent.typeVariables- thetype variables.
-
BaseConstructor
The copy-constructor.- Parameters:
template- theBaseConstructorto copy.mapper- theCodeCopyMapper.
-
-
Method Details
-
getParent
- Specified by:
getParentin interfaceio.github.mmm.code.api.member.CodeMember- 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.member.CodeConstructors, io.github.mmm.code.api.member.CodeConstructor>- Specified by:
getParentin interfaceio.github.mmm.code.api.member.CodeOperation- Specified by:
getParentin classBaseOperation
-
getReflectiveObject
- Specified by:
getReflectiveObjectin interfaceio.github.mmm.code.api.member.CodeConstructor- Specified by:
getReflectiveObjectin interfaceio.github.mmm.code.api.element.CodeElementWithTypeVariables- Specified by:
getReflectiveObjectin interfaceio.github.mmm.code.api.member.CodeMember- Specified by:
getReflectiveObjectin interfaceio.github.mmm.code.api.item.CodeMutableItem- Specified by:
getReflectiveObjectin interfaceio.github.mmm.code.api.member.CodeOperation- Specified by:
getReflectiveObjectin classBaseOperation
-
getSourceCodeObject
public io.github.mmm.code.api.member.CodeConstructor getSourceCodeObject()- Specified by:
getSourceCodeObjectin classBaseOperation- Returns:
- the optional internal
CodeItemrepresenting the source-code (to merge). Otherwisenull. This is an internal API. Do not use or rely on it from outside.
-
getName
- Specified by:
getNamein interfaceio.github.mmm.code.api.item.CodeItemWithName- Overrides:
getNamein classBaseMember
-
setName
- Specified by:
setNamein interfaceio.github.mmm.code.api.member.CodeConstructor- Specified by:
setNamein interfaceio.github.mmm.code.api.element.CodeElementWithName- Overrides:
setNamein classBaseMember
-
merge
public io.github.mmm.code.api.member.CodeConstructor merge(io.github.mmm.code.api.member.CodeConstructor other, io.github.mmm.code.api.merge.CodeMergeStrategyDecider decider, io.github.mmm.code.api.merge.CodeMergeStrategy parentStrategy) - Specified by:
mergein interfaceio.github.mmm.code.api.merge.CodeAdvancedMergeableItem<io.github.mmm.code.api.member.CodeConstructor>
-
copy
- Specified by:
copyin interfaceio.github.mmm.code.api.member.CodeConstructor- Specified by:
copyin interfaceio.github.mmm.code.api.element.CodeElement- Specified by:
copyin interfaceio.github.mmm.code.api.element.CodeElementWithDeclaringType- Specified by:
copyin interfaceio.github.mmm.code.api.element.CodeElementWithModifiers- Specified by:
copyin interfaceio.github.mmm.code.api.element.CodeElementWithName- Specified by:
copyin interfaceio.github.mmm.code.api.element.CodeElementWithTypeVariables- Specified by:
copyin interfaceio.github.mmm.code.api.member.CodeMember- 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.member.CodeConstructors, io.github.mmm.code.api.member.CodeConstructor>- Specified by:
copyin interfaceio.github.mmm.code.api.member.CodeOperation- Specified by:
copyin classBaseOperation
-
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.member.CodeConstructors, io.github.mmm.code.api.member.CodeConstructor>
-
doWrite
protected void doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) throws IOException - Overrides:
doWritein classBaseElement- 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:
-