Name: CommonParent

Properties:
  rootProperty:
    Contract: $.string()

  templateProperty:
    Contract: $.template('io.murano.Object')

Methods:
  testRootMethod:
    Body:
      - trace('CommonParent::testRootMethod')
      - trace($.rootProperty)

  setPrivatePropertyChain:
    Body:
      - $.privateName: 'CommonParent'
      - trace($.privateName)

  virtualMethod:
    Body:
      - trace('CommonParent::virtualMethod')

---

Name: TemplateTestParent

Properties:
  foo:
    Contract: $.int().notNull()