Package io.sundr.model
Class Argument
- All Implemented Interfaces:
Annotatable,Attributeable,Commentable,Erasable<Argument>,Expression,Node,Renderable,WithName,WithReferences
-
Field Summary
Fields inherited from class io.sundr.model.ModifierSupport
ABSTRACT, FINAL, modifiers, PRIVATE, PROTECTED, PUBLIC, STATIC, SYNCHRONIZEDFields inherited from interface io.sundr.model.Attributeable
ALSO_IMPORT, DEFAULT_VALUE, INIT, INIT_FUNCTION, LAZY_INITFields inherited from interface io.sundr.model.Expression
NULLFields inherited from interface io.sundr.model.Node
AT, CB, CC, CLP, COLN, COMA, CP, DOT, DQ, EMPTY, EQ, EXTENDS, GT, IMPLEMENTS, INDENT, JAVA_LANG, JAVA_LANG_ENUM, JAVA_LANG_OBJECT, JAVA_LANG_STRING, LT, NEWLINE, NEWLINE_PATTERN, OB, OC, OP, Q, SEMICOLN, SEMICOLN_SUFFIX_PATTERN, SPACE, STAR, THROWS, VARARG -
Constructor Summary
ConstructorsConstructorDescriptionArgument(List<String> comments, List<AnnotationRef> annotations, TypeRef typeRef, String name, boolean isFinal, Map<AttributeKey, Object> attributes) -
Method Summary
Modifier and TypeMethodDescriptionReturns the erasure of this type as a canonical string representation.booleanisFinal()static ArgumentnewArgument(TypeRef typeRef, String name) static ArgumentnewArgument(Class<?> type, String name) static ArgumentnewArgument(String name) static ArgumentnewFinalArgument(TypeRef typeRef, String name) render()Render the type into aStringfor the purpose of code generation.toString()Returns an erased version of this object with generic type information removed.withFinal(boolean isFinal) Methods inherited from class io.sundr.model.Variable
asArgument, asField, asLocalVariable, equals, getAnnotations, getComments, getInitialValue, getName, getNameCapitalized, getReferences, getTypeRef, hashCode, isEnumConstant, isSynthetic, renderExpressionMethods inherited from class io.sundr.model.ModifierSupport
getModifiers, isAbstract, isNative, isPrivate, isProtected, isPublic, isStatic, isSynchronized, isTransient, renderModifiers, renderModifiersMethods inherited from class io.sundr.model.AttributeSupport
getAttribute, getAttributes, hasAttributeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.sundr.model.Annotatable
renderAnnotationsMethods inherited from interface io.sundr.model.Commentable
renderCommentsMethods inherited from interface io.sundr.model.Expression
and, and, assign, assign, assignNew, assignNew, assignNull, call, call, cast, cast, divide, enclosed, eq, index, index, instanceOf, instanceOf, isNull, minus, minus, modulo, multiply, ne, negative, not, notNull, or, or, plus, plus, positive, postDecrement, postIncrement, preIncrement, pretDecrement, property, property, property, retMethods inherited from interface io.sundr.model.Renderable
tab
-
Constructor Details
-
Argument
public Argument(List<String> comments, List<AnnotationRef> annotations, TypeRef typeRef, String name, boolean isFinal, Map<AttributeKey, Object> attributes)
-
-
Method Details
-
newArgument
-
newArgument
-
newArgument
-
newFinalArgument
-
isFinal
public boolean isFinal()- Overrides:
isFinalin classModifierSupport
-
withFinal
-
withErasure
Description copied from interface:ErasableReturns an erased version of this object with generic type information removed. This creates a canonical instance that can be used for comparison and resolution.- Specified by:
withErasurein interfaceErasable<Argument>- Returns:
- the erased version of this object
-
getErasure
Description copied from interface:ErasableReturns the erasure of this type as a canonical string representation. The erasure removes generic type parameters and provides a stable way to compare types regardless of generic instantiation.- Specified by:
getErasurein interfaceErasable<Argument>- Returns:
- the type erasure string
-
render
Description copied from interface:RenderableRender the type into aStringfor the purpose of code generation. This is slightly different from the `toString()` method as `toString()` is mostly needed for logging / debugging and should be idempotent. Regarding idempotency this method may yield different result based on the context it is used even if the internal state of the object does not change. An example of such case, is a reference to class that may change based on the package from which it's refenced.- Specified by:
renderin interfaceRenderable- Returns:
- the
Stringrepresentation of the object as it's meant to appear in the generated code.
-
toString
-