# EGF Contract

###### Identifier:

org.eclipse.egf.core.contract

###### Since:

[Enter the first release in which this extension point appears.]

###### Description:

Extension point to define a contract.

###### Configuration Markup:

<!ELEMENT extension (contract)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT contract (contractElement)*>

<!ATTLIST contract

id CDATA #REQUIRED

>

Defines a contract element list.

- id -

<!ELEMENT contractElement (description? , (contractElementRef)*)*>

<!ATTLIST contractElement

id CDATA #REQUIRED

name CDATA #REQUIRED

type CDATA #REQUIRED

mandatory (true | false)

>

Defines a couple (name, type). Type has to be a java class. A contract element can reference another one through contractReferenceId attribute.

- id -
- name - Contract unique key.
- type -
- mandatory - Whether or not a context element must match this contract element. If the contract element is mandatory, it should be valued by a context element. If not set, the contract element is mandatory.

<!ELEMENT contractElementRef EMPTY>

<!ATTLIST contractElementRef

contractElementReferenceId CDATA #REQUIRED

>

- contractElementReferenceId -

<!ELEMENT description EMPTY>

<!ATTLIST description

id CDATA #REQUIRED

>

Define a description node.

- id -

###### Examples:

[Enter extension point usage example here.]

###### Supplied Implementation:

[Enter information about supplied implementation of this extension point.]