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.