如何解决关系以获取指向的引用?
How to resolve a relationship to get a hold of the reference being pointed to?
我一直在创建一个模型,其中我的一项资产具有对特定参与者的引用。
当我使用 composer-client API 检索我的资产时,我想检索被引用的参与者的详细信息。
在CTO language document我看到了这句话:
"Relationships must be resolved to retrieve an instance of the object being referenced. The act of resolution may result in null, if the object no longer exists or the information in the relationship is invalid." 但它没有描述如何去做。
有人可以告诉我什么是解决关系的最佳方法,以便我可以检索我指向的对象(在本例中为参与者)的实例吗?
您可以通过多种方式解决关系
假设我们有一个资产小部件定义为:
namespace SO
participant Person identified by email {
o String email
}
asset Widget identified by assetId {
o String email
--> Person owner
}
- 一旦您拥有
Widget
资产,您可以调用 Widget.owner.getFullyQualifiedType()
returns owner
所在的参与者注册表的名称。然后调用 Widget.owner.getIdentifier()
获取 PersonRegistry
中 owner
的 ID,然后调用 PersonRegistry.get(identifier)
获取 owner
参与者
- 从
WidgetRegistry
获取Widget
时,可以调用WidgetRegistry.resolve(identifier)
解析所有关系
我一直在创建一个模型,其中我的一项资产具有对特定参与者的引用。
当我使用 composer-client API 检索我的资产时,我想检索被引用的参与者的详细信息。
在CTO language document我看到了这句话: "Relationships must be resolved to retrieve an instance of the object being referenced. The act of resolution may result in null, if the object no longer exists or the information in the relationship is invalid." 但它没有描述如何去做。
有人可以告诉我什么是解决关系的最佳方法,以便我可以检索我指向的对象(在本例中为参与者)的实例吗?
您可以通过多种方式解决关系
假设我们有一个资产小部件定义为:
namespace SO
participant Person identified by email {
o String email
}
asset Widget identified by assetId {
o String email
--> Person owner
}
- 一旦您拥有
Widget
资产,您可以调用Widget.owner.getFullyQualifiedType()
returnsowner
所在的参与者注册表的名称。然后调用Widget.owner.getIdentifier()
获取PersonRegistry
中owner
的 ID,然后调用PersonRegistry.get(identifier)
获取owner
参与者 - 从
WidgetRegistry
获取Widget
时,可以调用WidgetRegistry.resolve(identifier)
解析所有关系