15.5.3 语义

LinkEndData是一个根据所使用的输入来匹配一个link的某一端值的元素。每个Association端都由一个独立的LinkEndData元素来决定。

每个LinkEndData有三个部分:

  1. 对所匹配的link end的鉴别(identification)。这个Property必须是Association的一个memberEnd(参见11.4)。
  2. 提供link给定end值得value InputPin。该InputPin与给定的end具有相同的type,并且multiplicity为1..1。value InputPin是可选的,从而可以为ReadLinkAction(参见16.6)的“open end”设置规约。
  3. 可选的QualifierValues用于鉴别为link给定端提供所期望的限定符值的InputPins。qualifier Properties必须是end Property(参见9.5)的qualifiers。该InputPin具有与给定qualifer相同的type,且multiplicity为1..1。

LinkEndCreationData是LinkEndData的一个特定类型,用于在CreateLinkAction(参见16.6)中指明所要创建的link的一个端。除了标准LinkEndData所具有的外,LinkEndCreationData还包括: . isReplaceAll选项,如果为真,指明新link取代所有之前在这个end匹配的所有links。 . 如果给定的end是有序的,那么一个类型为UnlimitedNatual,并且multiplicity为1..1的一个insertAt InputPin必须被提供,以指明新link在这个end的有序值中的插入点。(更多请参见16.6。)

LinkEndDestructionData是LinkEndData的一个特定类型,用于指明在DestroyLinkAction(参见16.6)中要销毁的link的某个端。除了具备标准的LinkEndData的属性外,LinkEndDestructionData还包括: *. isDestroyDuplicates选项,如果为真,该end上所有匹配的links都要被销毁。

  • 如果给定的end是有序且non—unique(列表),并且isDestroyDuplicates=false,那么一个类型为UnlimitedNatual,并且multiplicity为1..1的一个destroyAt InputPin必须被提供,以指明要销毁的link在这个end的有序值中的位置。(更多关于destroyAt请参见16.6。)

results matching ""

    No results matching ""