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? (binding.x) (binding.y) | <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àC2R1-->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àC2R1-->C2/S1 (binding.sca) (binding.x) | <reference name="R1"> |
Multiplicity = 1..N | <reference name="R1" promote="C1/R1"> | <reference name="R1" target="C3/S1"> | C1/R1àC2R1-->C2/S1 (binding.sca) | <reference name="R1"> |