Extension Interfaces

Introduction

An Extension Interface provides the primary mechanism for extensions to expose shared functionality. An extension declares that it implements a service feature by implementing the corresponding interface, allowing other extensions to discover and use the service through a well-defined contract.

For example, the Watermark Extension Interface allows extensions to contribute watermark templates. The watermarking extension discovers all implementations of this service feature and makes the contributed templates available at runtime.

Implementation

For example an interface may be used as a feature that is declared in another extension.

image-20220916231240927

This is a function declaring the feature in this case that the extension will implement a watermark template.

This example contains code to demonstrate how to define and use a feature.