Class BaseFields
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.node.BaseNodeItemContainer<io.github.mmm.code.api.member.CodeField>
io.github.mmm.code.base.member.BaseMembers<io.github.mmm.code.api.member.CodeField>
io.github.mmm.code.base.member.BaseFields
- All Implemented Interfaces:
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.member.CodeFields>, io.github.mmm.code.api.item.CodeItem, io.github.mmm.code.api.item.CodeItemWithDeclaringType, io.github.mmm.code.api.item.CodeMutableItem, io.github.mmm.code.api.member.CodeFields, io.github.mmm.code.api.member.CodeMembers<io.github.mmm.code.api.member.CodeField>, io.github.mmm.code.api.merge.CodeAdvancedMergeableItem<io.github.mmm.code.api.member.CodeFields>, io.github.mmm.code.api.merge.CodeMergeableItem<io.github.mmm.code.api.member.CodeFields>, io.github.mmm.code.api.node.CodeNode, io.github.mmm.code.api.node.CodeNodeContainer<io.github.mmm.code.api.member.CodeField>, io.github.mmm.code.api.node.CodeNodeItem, io.github.mmm.code.api.node.CodeNodeItemContainer<io.github.mmm.code.api.member.CodeField>, io.github.mmm.code.api.node.CodeNodeItemContainerHierarchical<io.github.mmm.code.api.member.CodeField>, io.github.mmm.code.api.node.CodeNodeItemContainerHierarchicalWithName<io.github.mmm.code.api.member.CodeField>, io.github.mmm.code.api.node.CodeNodeItemContainerWithName<io.github.mmm.code.api.member.CodeField>, io.github.mmm.code.api.object.CodeMutable, Iterable<io.github.mmm.code.api.member.CodeField>
public class BaseFields
extends BaseMembers<io.github.mmm.code.api.member.CodeField>
implements io.github.mmm.code.api.member.CodeFields
Base implementation of
CodeFields.- 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
ConstructorsConstructorDescriptionBaseFields(BaseFields template, io.github.mmm.code.api.copy.CodeCopyMapper mapper) The copy-constructor.BaseFields(BaseType parent) The constructor. -
Method Summary
Modifier and TypeMethodDescriptioncopy()copy(io.github.mmm.code.api.copy.CodeCopyMapper mapper) protected voidCalled fromBaseMutableItem.initialize()on first invocation.protected voiddoWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) io.github.mmm.code.api.member.CodeFieldIterable<? extends io.github.mmm.code.api.member.CodeField> getAll()io.github.mmm.code.api.member.CodeFieldgetDeclared(String name) io.github.mmm.code.api.member.CodeFieldsio.github.mmm.code.api.member.CodeFieldsmerge(io.github.mmm.code.api.member.CodeFields o, io.github.mmm.code.api.merge.CodeMergeStrategyDecider decider, io.github.mmm.code.api.merge.CodeMergeStrategy parentStrategy) Methods inherited from class BaseMembers
add, getDeclaringType, getParent, renameMethods inherited from class BaseNodeItemContainer
addInternal, clear, doSetImmutable, ensureParent, getByName, getDeclared, getItemCopyType, getKey, getList, getMap, isKeepListView, isNamed, isSystemImmutable, removeMethods inherited from class BaseNodeItem
getContainerItem, getContainerItemDeclared, getContext, getLanguage, getSource, toPathStringMethods inherited from class BaseMutableItem
doCopyNode, doCopyNodeUnsafe, doMapList, doneInitialize, getDefaultCopyMapper, getDefaultEncoding, getReflectiveObject, initialize, initialize, isImmutable, isInitialized, isInitializing, 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.item.CodeItem
getLanguage, getSourceCode, write, write, write, write, write, writeMethods inherited from interface io.github.mmm.code.api.item.CodeItemWithDeclaringType
getDeclaringTypeMethods inherited from interface io.github.mmm.code.api.member.CodeMembers
add, getParentMethods 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.node.CodeNodeContainer
getDeclared, isEmpty, iteratorMethods inherited from interface io.github.mmm.code.api.node.CodeNodeItemContainer
removeMethods inherited from interface io.github.mmm.code.api.node.CodeNodeItemContainerWithName
getDeclaredOrCreate, getOrCreate, getRequiredMethods inherited from interface io.github.mmm.code.api.copy.CodeNodeItemCopyable
getParentMethods inherited from interface io.github.mmm.code.api.CodeWithContext
getContext, getSourceMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
BaseFields
-
BaseFields
The copy-constructor.- Parameters:
template- theBaseFieldsto copy.mapper- theCodeCopyMapper.
-
-
Method Details
-
doInitialize
protected void doInitialize()Description copied from class:BaseNodeItemCalled fromBaseMutableItem.initialize()on first invocation. May be overridden but never be called from anywhere else.- Overrides:
doInitializein classBaseNodeItem
-
getAll
- Specified by:
getAllin interfaceio.github.mmm.code.api.node.CodeNodeItemContainerHierarchical<io.github.mmm.code.api.member.CodeField>
-
getDeclared
- Specified by:
getDeclaredin interfaceio.github.mmm.code.api.node.CodeNodeItemContainerWithName<io.github.mmm.code.api.member.CodeField>
-
get
- Specified by:
getin interfaceio.github.mmm.code.api.node.CodeNodeItemContainerWithName<io.github.mmm.code.api.member.CodeField>
-
add
-
getSourceCodeObject
public io.github.mmm.code.api.member.CodeFields getSourceCodeObject()- Specified by:
getSourceCodeObjectin classBaseMembers<io.github.mmm.code.api.member.CodeField>- 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.
-
merge
public io.github.mmm.code.api.member.CodeFields merge(io.github.mmm.code.api.member.CodeFields o, 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.CodeFields>
-
copy
- Specified by:
copyin interfaceio.github.mmm.code.api.member.CodeFields- Specified by:
copyin interfaceio.github.mmm.code.api.member.CodeMembers<io.github.mmm.code.api.member.CodeField>- 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.node.CodeNodeItemContainer<io.github.mmm.code.api.member.CodeField>- Specified by:
copyin interfaceio.github.mmm.code.api.node.CodeNodeItemContainerHierarchical<io.github.mmm.code.api.member.CodeField>- Specified by:
copyin interfaceio.github.mmm.code.api.node.CodeNodeItemContainerHierarchicalWithName<io.github.mmm.code.api.member.CodeField>- Specified by:
copyin interfaceio.github.mmm.code.api.node.CodeNodeItemContainerWithName<io.github.mmm.code.api.member.CodeField>- Specified by:
copyin interfaceio.github.mmm.code.api.copy.CodeNodeItemCopyable<io.github.mmm.code.api.type.CodeType, io.github.mmm.code.api.member.CodeFields>- Specified by:
copyin classBaseMembers<io.github.mmm.code.api.member.CodeField>
-
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.node.CodeNodeItemContainer<io.github.mmm.code.api.member.CodeField>- Specified by:
copyin interfaceio.github.mmm.code.api.copy.CodeNodeItemCopyable<io.github.mmm.code.api.type.CodeType, io.github.mmm.code.api.member.CodeFields>
-
doWrite
protected void doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) throws IOException - Overrides:
doWritein classBaseMembers<io.github.mmm.code.api.member.CodeField>- 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:
-