Package io.sundr.model
Class Field
- All Implemented Interfaces:
Annotatable,Attributeable,Commentable,Erasable<Field>,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
ConstructorsConstructorDescriptionField(Modifiers modifiers, Map<AttributeKey, Object> attributes, List<String> comments, List<AnnotationRef> annotations, TypeRef typeRef, String name, Optional<Expression> initialValue, boolean enumConstant, boolean synthetic) Field(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, boolean enumConstant, boolean synthetic, Modifiers modifiers, Map<AttributeKey, Object> attributes) Field(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, Modifiers modifiers, Map<AttributeKey, Object> attributes) -
Method Summary
Modifier and TypeMethodDescriptionReturns the erasure of this type as a canonical string representation.static Fieldstatic Fieldstatic Fieldrender()Render the type into aStringfor the purpose of code generation.Returns an erased version of this object with generic type information removed.withInitialValue(Expression initialValue) withInitialValue(Object initialValue) withInitialValue(Optional<Expression> initialValue) protected FieldMethods inherited from class io.sundr.model.Variable
asArgument, asField, asLocalVariable, equals, getAnnotations, getComments, getInitialValue, getName, getNameCapitalized, getReferences, getTypeRef, hashCode, isEnumConstant, isSynthetic, renderExpression, toStringMethods inherited from class io.sundr.model.ModifierSupport
getModifiers, isAbstract, isFinal, 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
-
Field
public Field(Modifiers modifiers, Map<AttributeKey, Object> attributes, List<String> comments, List<AnnotationRef> annotations, TypeRef typeRef, String name, Optional<Expression> initialValue, boolean enumConstant, boolean synthetic) -
Field
public Field(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, boolean enumConstant, boolean synthetic, Modifiers modifiers, Map<AttributeKey, Object> attributes) -
Field
public Field(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, Modifiers modifiers, Map<AttributeKey, Object> attributes)
-
-
Method Details
-
newField
-
newField
-
newField
-
withoutModifiers
-
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<Field>- 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<Field>- Returns:
- the type erasure string
-
withoutInitialValue
-
withInitialValue
-
withInitialValue
-
withInitialValue
-
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.
-