Reference/Service Wiring Cases:
Component Reference |
Component Service |
Effective Wire |
Normalized/Resolved Component Reference |
<component name="C1"> |
<component name="C2"> |
C1/R1 -- binding.sca --> C2/S1 |
<reference name="R1"> |
|
<component name="C2"> |
C1/R1 -- binding.y --> C2/S1 |
<reference name="R1"> |
|
<component name="C2"> |
Invalid (no matching binding) |
Invalid |
<component name="C1"> |
<component name="C2"> |
Two wires: |
<reference name="R1"> |
<reference name="R1" multiplicity="1..1"> |
|
Is this valid to have more than bindings with explicit URIs |
Invalid |
<reference name="R1" multiplicity="1..N"> |
|
Are there two wires? |
<reference name="R1"> |
Reference Promotion Cases: (The inner component reference is promoted by a composite which is in turn configured by the outer component reference)
Inner Component Reference |
Composite Reference |
Outer Component Reference |
Effective Wire |
Normalized/Resolved Component Reference |
Multiplicity = 1..1 |
<reference name="R1" promote="C1/R1"> |
<reference name="R1"> |
C1/R1-->C2/S1 (binding.x) |
<reference name="R1"> |
Multiplicity = 1..1 |
<reference name="R1" promote="C1/R1"> |
<reference name="R1" target="C3/S1"> |
Is it valid to override the target? |
Invalid (violates the multiplicity) |
Multiplicity = 1..N |
<reference name="R1" promote="C1/R1"> |
<reference name="R1"> |
C1/R1-->C2/S1 (binding.sca) |
<reference name="R1"> |
Multiplicity = 1..N |
<reference name="R1" promote="C1/R1"> |
<reference name="R1" target="C3/S1"> |
C1/R1-->C2/S1 (binding.sca) |
<reference name="R1"> |