---
- entityDefinitions:
  - IDR_Build_Attribute_Method__returns__Attribute: "{dadbf0f3-7af0-4387-a6b7-a1724a216d88}"
  - IDR_Attribute__returned_by__Build_Attribute_Method: "{d5a6062b-2e84-46a1-8f54-da630ef6a48c}"

  - IDR_Build_Attribute_Method__builds_with__Executable_returning_Attribute: '{bb64cd83-85c2-4c20-82eb-2a5a5ead31f1}'
  - IDR_Executable_returning_Attribute__builds_for__Build_Attribute_Method: '{a43525da-c9fb-4d4d-96df-850f3911c31b}'

  - IDC_BuildAttributeMethodComponent: '{96460c4a-f719-4933-91d4-480f89d088ec}'

  - IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component: '{b4fad1b8-711c-4e84-82d0-e9a9e41e8aa7}'
  - IDR_Build_Attribute_Method_Component__builds_for__Build_Attribute_Method: '{f168e31f-c516-443a-b82b-223c969bcf08}'

  - IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute: '{9d2acd01-5c6d-4a95-b77e-5261ba109540}'
  - IDR_Executable_returning_Attribute__used_by__Build_Attribute_Method_Component: '{d043a52a-1571-486f-b8de-000e92b663c6}'

- library: '&IDL_MochaBaseSystem;'
  instances:
  - class:      '&IDC_BuildAttributeMethod;'
    inherits:  '&IDC_Method;'
    name:      BA - Build Attribute Method
    index:     30
    customTagName: buildAttributeMethod
    defaultTask: '&IDI_Task_ViewBuildAttributeMethod;'
    instancesLabeledByRAMB: '&IDMB_Method__get__Fully_Qualified_Name_BA;'
    superclasses:
    - instance: '&IDC_Method;'
    - instance: '&IDC_ExecutableReturningAttribute;'
    relatedTasks:
    - instance: '&IDI_Task_ViewBuildAttributeMethod;'
    - instance: '&IDI_Task_EditBuildAttributeMethod;'
    attributes:
    - instance: '&IDA_Verb;'
      customTagName: 'verb'
    - instance: '&IDA_Name;'
      customTagName: 'name'
    - instance: '&IDA_Static;'
      customTagName: 'static'
    - instance: '&IDA_Final;'
      customTagName: 'final'
    - instance: '&IDA_Value;'
      customTagName: 'initialValue'
    relationships:
    - instance: '&IDR_Method__for__Class;'
      customTagName: 'forClassId'
    - instance: '&IDR_Metadata_With_Access_Modifier__has__Access_Modifier;'
      customTagName: 'accessModifierId'
    - instance: '&IDR_Build_Attribute_Method__returns__Attribute;'
      customTagName: 'returnsAttributeId'
    - instance: '&IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component;'
      customTagName: 'buildsWithAttributes'
      customTagNameCreatesInstanceOf: '&IDC_BuildAttributeMethodComponent;'
    - instance: '&IDR_Instance__for__Module;'
      customTagName: 'moduleId'

  - class: '&IDC_BuildAttributeMethodComponent;'
    name: 'Build Attribute Method Component'
    index: 32 # was : Class Marker
    registerForTemplate: yes
    attributes:
    - instance: '&IDA_Order;'
      customTagName: 'order'
    relationships:
    - instance: '&IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute;'
      customTagName: 'executes'

  - relationship: '&IDR_Build_Attribute_Method__returns__Attribute;'
    index: 60
    sourceClassId: '&IDC_BuildAttributeMethod;'
    type: 'returns'
    destinationClassId: '&IDC_Attribute;'
    siblingRelationshipId: '&IDR_Attribute__returned_by__Build_Attribute_Method;'
    singular: no

  - relationship: '&IDR_Attribute__returned_by__Build_Attribute_Method;'
    index: 61
    sourceClassId: '&IDC_Attribute;'
    type: 'returned by'
    destinationClassId: '&IDC_BuildAttributeMethod;'
    siblingRelationshipId: '&IDR_Build_Attribute_Method__returns__Attribute;'
    singular: no

  - relationship: '&IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component;'
    index: 219
    sourceClassId: '&IDC_BuildAttributeMethod;'
    type: 'builds with'
    destinationClassId: '&IDC_BuildAttributeMethodComponent;'
    siblingRelationshipId: '&IDR_Build_Attribute_Method_Component__builds_for__Build_Attribute_Method;'
    singular: no

  - relationship: '&IDR_Build_Attribute_Method_Component__builds_for__Build_Attribute_Method;'
    index: 220
    sourceClassId: '&IDC_BuildAttributeMethodComponent;'
    type: 'builds for'
    destinationClassId: '&IDC_BuildAttributeMethod;'
    siblingRelationshipId: '&IDR_Build_Attribute_Method__builds_with__Build_Attribute_Method_Component;'
    singular: no

  - relationship: '&IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute;'
    index: 227
    sourceClassId: '&IDC_BuildAttributeMethodComponent;'
    type: 'uses'
    destinationClassId: '&IDC_ExecutableReturningAttribute;'
    siblingRelationshipId: '&IDR_Executable_returning_Attribute__used_by__Build_Attribute_Method_Component;'
    singular: yes

  - relationship: '&IDR_Executable_returning_Attribute__used_by__Build_Attribute_Method_Component;'
    index: 228
    sourceClassId: '&IDC_ExecutableReturningAttribute;'
    type: 'used by'
    destinationClassId: '&IDC_BuildAttributeMethodComponent;'
    siblingRelationshipId: '&IDR_Build_Attribute_Method_Component__uses__Executable_returning_Attribute;'
    singular: no
