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
    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.