models.autoRealization.Tests.M2.LinkSpec.LinkSpec_ObjectResource.yaml Maven / Gradle / Ivy
$schema: ../../../../../../com.modelsolv.reprezen.realization/schema/auto-realization-config-schema.json
_type: RealizationModel
_documentation: |
* All objects have key properties and reference properties.
* Root objects will have a self-link.
* References with an autoLink objectResource will have a link to that.
name: LinkSpec_ObjectResource
realizationRules:
RootObjects:
_type: RealizationRule
namingPattern: ${TypeName}_Root
appliesTo:
- _type: ContextPattern
level:
_type: RootObjectContext
realization:
_type: ObjectRealizationSpec
propertySet:
_type: ExclusivePropertySet
includedProperties:
- _type: PropertyRealization
propertyType:
_type: PrimitivePropertyRealization
isKey: true
- _type: PropertyRealization
propertyType:
_type: ReferencePropertyRealization
KeyRefWithLinks:
_type: RealizationRule
namingPattern: ${TypeName}_Ref
appliesTo:
- _type: ContextPattern
level:
_type: ReferencePropertyContext
autoLinkableToObjectResource: true
realization:
_type: ObjectRealizationSpec
propertySet:
_type: ExclusivePropertySet
includedProperties:
- _type: PropertyRealization
propertyType:
_type: PrimitivePropertyRealization
isKey: true
- _type: PropertyRealization
propertyType:
_type: ReferencePropertyRealization
links:
- strategy: specification
linkRelation: detail
targetResourceType: AUTO_LINK_OBJECT_RESOURCE
KeyRefNoLinks:
_type: RealizationRule
namingPattern: ${TypeName}_Ref
appliesTo:
- _type: ContextPattern
level:
_type: ReferencePropertyContext
autoLinkableToObjectResource: false
realization:
_type: ObjectRealizationSpec
propertySet:
_type: ExclusivePropertySet
includedProperties:
- _type: PropertyRealization
propertyType:
_type: PrimitivePropertyRealization
isKey: true
- _type: PropertyRealization
propertyType:
_type: ReferencePropertyRealization