Package spoon.metamodel
Class MetamodelProperty
java.lang.Object
spoon.metamodel.MetamodelProperty
Represents a property of the Spoon metamodel.
 A property:
   - is an abstraction of a concrete field in an implementation class
   - the 
MetamodelConcept is the owner of this role, it models the implementation class that contains the field.
   - encapsulates a pair (CtRole, MetamodelConcept).
   - captures both the type of the field (eg list) and the type of items (eg String).- 
Method SummaryModifier and TypeMethodDescriptionreturns the kind of property (list, value, etc)getMethod(MMMethodKind kind)getMethodBySignature(String signature)getMethods(MMMethodKind kind)getName()getOwner()returns the concept that holds this propertygetRole()Return the type of the field for List<String> field the ValueType is List for String field the ValueType is StringReturns the type of the property for List<String> field the ValueType is String for String field the ValueType is String (when getContainerKind ==ContainerKind.SINGLE,getTypeofItems()==getTypeOfField().<T, U> UgetValue(T element)booleanboolean<T, U> voidsetValue(T element, U value)toString()
- 
Method Details- 
getName
- 
getRole
- 
getOwnerreturns the concept that holds this property
- 
getContainerKindreturns the kind of property (list, value, etc)
- 
getTypeOfFieldReturn the type of the field for List<String> field the ValueType is List for String field the ValueType is String
- 
getTypeofItemsReturns the type of the property for List<String> field the ValueType is String for String field the ValueType is String (when getContainerKind ==ContainerKind.SINGLE,getTypeofItems()==getTypeOfField().
- 
getMethod
- 
getMethodBySignature- Returns:
- MMMethodaccessing this property, which has signature `signature`
 
- 
getMethods- Parameters:
- kind-- MMMethodKind
- Returns:
- methods of required `kind`
 
- 
getMethods- Returns:
- all methods which are accessing this property
 
- 
isDerivedpublic boolean isDerived()- Returns:
- true if this MetamodelPropertyis derived in owner concept, ig has the annotation @DerivedProperty.
 
- 
isUnsettablepublic boolean isUnsettable()- Returns:
- true if this MetamodelPropertyis unsettable in owner concept ie. if the property has the annotation @UnsettableProperty
 
- 
toString
- 
getSuperProperty- Returns:
- the super MetamodelPropertywhich has same valueType and which is upper in the metamodel hierarchy For example: The super property ofCtField#NAME isCtNamedElement#NAME This method can be used to optimize generated code.
 
- 
getRoleHandler- Returns:
- RoleHandlerwhich can access runtime data of this Property
 
- 
getValuepublic <T, U> U getValue(T element)- Parameters:
- element- an instance whose attribute value is read
- Returns:
- a value of attribute defined by this MetamodelPropertyfrom the provided `element`
 
- 
setValuepublic <T, U> void setValue(T element, U value)- Parameters:
- element- an instance whose attribute value is set
- value- to be set value of attribute defined by this- MetamodelPropertyon the provided `element`
 
 
-