Interface CodeParameter
- All Superinterfaces:
CodeElement, CodeElementWithDeclaringType, CodeElementWithName, CodeExpression, CodeItem, CodeItemWithComment, CodeItemWithDeclaration, CodeItemWithDeclaringType, CodeItemWithName, CodeItemWithType, CodeMergeableItem<CodeParameter>, CodeMutable, CodeMutableItem, CodeMutableItemWithComment, CodeMutableItemWithType, CodeNode, CodeNodeItem, CodeNodeItemCopyable<CodeParameters, CodeParameter>, CodeNodeItemWithDeclaringOperation, CodeOperationArg, CodeSimpleMergeableItem<CodeParameter>, CodeVariable, CodeWithContext
public interface CodeParameter
extends CodeOperationArg, CodeElementWithName, CodeVariable, CodeSimpleMergeableItem<CodeParameter>, CodeNodeItemCopyable<CodeParameters, CodeParameter>
CodeOperationArg for a parameter (argument) of a CodeOperation.- Since:
- 1.0.0
- Author:
- Joerg Hohwiller (hohwille at users.sourceforge.net)
- See Also:
-
Field Summary
Fields inherited from interface CodeItem
DEFAULT_INDENT, DEFAULT_NEWLINE -
Method Summary
Methods inherited from interface CodeElement
getAnnotations, getDoc, removeFromParentMethods inherited from interface CodeElementWithName
setNameMethods inherited from interface CodeExpression
evaluateMethods inherited from interface CodeItem
getLanguage, getSourceCode, write, write, write, write, write, writeMethods inherited from interface CodeItemWithComment
getCommentMethods inherited from interface CodeItemWithDeclaration
writeReferenceMethods inherited from interface CodeItemWithDeclaringType
getDeclaringTypeMethods inherited from interface CodeItemWithName
getNameMethods inherited from interface CodeItemWithType
getTypeMethods inherited from interface CodeMutable
isImmutable, isMutableMethods inherited from interface CodeMutableItem
setImmutableMethods inherited from interface CodeMutableItemWithComment
setCommentMethods inherited from interface CodeMutableItemWithType
setTypeMethods inherited from interface CodeNodeItemCopyable
copy, getParentMethods inherited from interface CodeNodeItemWithDeclaringOperation
getDeclaringOperationMethods inherited from interface CodeSimpleMergeableItem
merge, mergeMethods inherited from interface CodeVariable
writeReferenceMethods inherited from interface CodeWithContext
getContext, getSource
-
Method Details
-
isVarArgs
boolean isVarArgs()- Returns:
truein case of a var-arg parameter (e.g. {String...),falseotherwise. If a var-arg parameter this has to be the last parameter in the signature and thetypehas to be an array. For invocations this parameter can take any number of actual arguments of thetype'scomponent-typeincluding none. These parameters will technically be converted to an array passed for this parameter.- See Also:
-
setVarArgs
void setVarArgs(boolean varArgs) - Parameters:
varArgs- the new value forisVarArgs().- Throws:
io.github.mmm.base.exception.ReadOnlyException- ifimmutable.
-
getReflectiveObject
Parameter getReflectiveObject()- Specified by:
getReflectiveObjectin interfaceCodeMutableItem- Returns:
- the optional reflective object of this item such as
Class. May benull(e.g. if this object was created from source-code only or has been created dynamically). However, if available it can be helpful for analysis especially in case of type-safeAnnotationprocessing. In most cases the generic type will be derived fromAnnotatedElementbut in specific cases it can also beProtectionDomainor other types that have no common parent-type. Therefore this generic type is unbounded here.
-
copy
CodeParameter copy()- Specified by:
copyin interfaceCodeElement- Specified by:
copyin interfaceCodeElementWithDeclaringType- Specified by:
copyin interfaceCodeElementWithName- Specified by:
copyin interfaceCodeMutableItem- Specified by:
copyin interfaceCodeNodeItem- Specified by:
copyin interfaceCodeNodeItemCopyable<CodeParameters, CodeParameter>- Returns:
- a new
mutablecopy of thisCodeMutableItem. Will be a deep-copy with copies of all childCodeMutableItems.
-