Package com.orchestranetworks.schema

# Interface SchemaExtensions

public interface SchemaExtensions
Defines extensions of a data model.

### Definition in the data model

The extensions class must be declared under the element `xs:schema/xs:annotation/xs:appinfo`:

>      <xs:schema ...>
>        ...
>        <xs:annotation>
>          <xs:appinfo>
>            <osd:extensions class="com.foo.ExtensionsForMyDomain"/>
>            ...
>          </xs:appinfo>
>        </xs:annotation>
>        ...
>      </xs:schema>

where `com.foo.ExtensionsForMyDomain` is the fully qualified name of the class implementing this interface. It is also possible to set additional JavaBean properties; for more information, see the JavaBean specification.

### Life cycle:

At the end of data model validation:

1. the specified concrete class (in the example above, `com.foo.ExtensionsForMyDomain`) is instantiated through its default constructor;
2. if additional XML elements are declared, the JavaBean property setters corresponding to the XML elements are called;
3. the method `defineExtensions(SchemaExtensionsContext)` is called, so that the implementation performs specific setup.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `defineExtensions(SchemaExtensionsContext aContext)`
  Do note that during this step, all models may not be properly loaded.

- ## Method Details

  - ### defineExtensions

    void defineExtensions(SchemaExtensionsContext aContext)

    Do note that during this step, all models may not be properly loaded. Thus, the repository should not be accessed during this step.