Ancestor and descendent relationships among components

Components in a trigger system can be said to have ancestor and descendent relationships with each other. Ancestor and descendent relationships affect many aspects of component behavior.

Data dependencies, deletion of components, and component references are all affected by these relationships.

The following diagram shows an example trigger system.



In the diagram above, Event component 1 requires the Select or Container data, Simple, and Expression data components to perform its operations, which makes them the ancestors of Event component 1. Event component 1 is the descendent of the Select or Container data, Simple, and Expression data components.

Another way to state this is to say that components that are upstream of a component are the ancestors, while downstream components are the descendents.

The following table describes the relationships among the components in the diagram above.

Table 1. Ancestor and descendent component relationships
Component Ancestors Descendents
Simple
  • Expression data
  • Event 1
  • Select or Container data
  • Event 2
  • Action
Event 1
  • Select or Container data
  • Simple
  • Expression data
  • Event 2
  • Action
Event 2
  • Event 1
  • Select or Container data
  • Simple
  • Expression data
  • Action
Expression data None
  • Simple
  • Event 1
  • Select or Container data
  • Event 2
  • Action
Select or Container None
  • Event 1
  • Event 2
  • Action
Action
  • Event 2
  • Event 1
  • Select or Container data
  • Simple
  • Expression data
None