Package io.sundr.model
Class Property
- java.lang.Object
-
- io.sundr.model.AttributeSupport
-
- io.sundr.model.ModifierSupport
-
- io.sundr.model.Property
-
- All Implemented Interfaces:
Annotatable,Attributeable,Commentable,Node,Renderable
public class Property extends ModifierSupport implements Renderable, Commentable, Annotatable
-
-
Field Summary
-
Fields inherited from class io.sundr.model.ModifierSupport
ABSTRACT, FINAL, modifiers, PRIVATE, PROTECTED, PUBLIC, STATIC, SYNCHRONIZED
-
Fields inherited from interface io.sundr.model.Attributeable
ALSO_IMPORT, DEFAULT_VALUE, INIT, INIT_FUNCTION, LAZY_INIT
-
Fields 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
Constructors Constructor Description Property(Modifiers modifiers, Map<AttributeKey,Object> attributes, List<String> comments, List<AnnotationRef> annotations, TypeRef typeRef, String name, Optional<Expression> initialValue, boolean enumConstant, boolean synthetic)Property(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, boolean enumConstant, boolean synthetic, Modifiers modifiers, Map<AttributeKey,Object> attributes)Deprecated.Property(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, Modifiers modifiers, Map<AttributeKey,Object> attributes)Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanequals(Object obj)List<AnnotationRef>getAnnotations()List<String>getComments()Get the list of comments.protected StringgetDefaultValue()Deprecated.Optional<Expression>getInitialValue()StringgetName()StringgetNameCapitalized()Set<ClassRef>getReferences()TypeRefgetTypeRef()inthashCode()booleanisEnumConstant()booleanisSynthetic()static PropertynewProperty(TypeRef typeRef, String name)static PropertynewProperty(Class type, String name)static PropertynewProperty(String name)Stringrender()Render the type into aStringfor the purpose of code generation.PropertyReftoReference()StringtoString()PropertywithErasure()Get the property after the type erasure is applied.PropertywithInitialValue(Expression initialValue)Get the property with the specified object as iniital value.PropertywithInitialValue(Object initialValue)Get the property with the specified object as iniital value.PropertywithInitialValue(Optional<Expression> initialValue)Get the property with the specified initial valuePropertywithoutInitialValue()Get the property without its initial value.protected PropertywithoutModiers()This is only used for rendering method arguments, where we usually string modifiers.-
Methods inherited from class io.sundr.model.ModifierSupport
getModifiers, isAbstract, isFinal, isNative, isPrivate, isProtected, isPublic, isStatic, isSynchronized, isTransient, renderModifiers, renderModifiers
-
Methods inherited from class io.sundr.model.AttributeSupport
getAttribute, getAttributes, hasAttribute
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.sundr.model.Annotatable
renderAnnotations
-
Methods inherited from interface io.sundr.model.Commentable
renderComments
-
Methods inherited from interface io.sundr.model.Renderable
tab
-
-
-
-
Constructor Detail
-
Property
public Property(Modifiers modifiers, Map<AttributeKey,Object> attributes, List<String> comments, List<AnnotationRef> annotations, TypeRef typeRef, String name, Optional<Expression> initialValue, boolean enumConstant, boolean synthetic)
-
Property
@Deprecated public Property(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, boolean enumConstant, boolean synthetic, Modifiers modifiers, Map<AttributeKey,Object> attributes)
Deprecated.
-
Property
@Deprecated public Property(List<AnnotationRef> annotations, TypeRef typeRef, String name, List<String> comments, Modifiers modifiers, Map<AttributeKey,Object> attributes)
Deprecated.
-
-
Method Detail
-
getAnnotations
public List<AnnotationRef> getAnnotations()
- Specified by:
getAnnotationsin interfaceAnnotatable
-
getTypeRef
public TypeRef getTypeRef()
-
getName
public String getName()
-
getComments
public List<String> getComments()
Description copied from interface:CommentableGet the list of comments.- Specified by:
getCommentsin interfaceCommentable- Returns:
- a
Listof comments.
-
isEnumConstant
public boolean isEnumConstant()
-
isSynthetic
public boolean isSynthetic()
-
getInitialValue
public Optional<Expression> getInitialValue()
-
getNameCapitalized
public String getNameCapitalized()
-
withoutModiers
protected Property withoutModiers()
This is only used for rendering method arguments, where we usually string modifiers.- Returns:
- the property without any modifiers
-
withErasure
public Property withErasure()
Get the property after the type erasure is applied. This in essense means that the type parameters are replaced by Object.- Returns:
- the 'erased` property.
-
withoutInitialValue
public Property withoutInitialValue()
Get the property without its initial value.- Returns:
- the property.
-
withInitialValue
public Property withInitialValue(Object initialValue)
Get the property with the specified object as iniital value.- Parameters:
initialValue- anObject- Returns:
- the property.
-
withInitialValue
public Property withInitialValue(Expression initialValue)
Get the property with the specified object as iniital value.- Parameters:
initialValue- anExpression- Returns:
- the property.
-
withInitialValue
public Property withInitialValue(Optional<Expression> initialValue)
Get the property with the specified initial value- Parameters:
initialValue- anOptionalExpression- Returns:
- the property.
-
getDefaultValue
@Deprecated protected String getDefaultValue()
Deprecated.Get the default value of the property The mehotd is deprecated, usegetInitialValue()instead.- Returns:
- String the default value of the Property
-
toReference
public PropertyRef toReference()
-
render
public 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.
-
-