Extensions allow extended standard and custom functionality to be configured on a object within the application, generally on mappers. Extension objects implement this interface and respond to interesting events by manipulating the object firing the event or otherwise acting based on the object. IMapper extensions should be derived from the MapperExtensionKernel base class.
Namespace: NetQuarry
Assembly: EAP.Core (in EAP.Core.dll)
Syntax
| Visual Basic (Declaration) |
|---|
| Public Interface IExtension |
| C# |
|---|
| public interface IExtension |
| C++ |
|---|
| interface class IExtension |
| J# |
|---|
| public interface IExtension |
| JScript |
|---|
| public interface IExtension |
Types that implement IExtension
| Type | Description |
|---|---|
| NetQuarry.Data.MapperExtensionBase | Abstract base class for mapper extensions. This class is abstract (MustInherit in Visual Basic)abstractMustInherit and so cannot be instantiated. |
| NetQuarry.ExtensionBase | Serves as a base class for type specfic extensions. In general, you should use the specfic classes that derive from this class ( |
Remarks
Extensions are a key concept of the NetQuarry platform. Extensions are libraries (assemblies) that receive events from the running application objects. For example, when a record in a page is changed, the Mapper representing that data fires update events (notifications) through all of the extensions configured (via metadata) on that object.
This is a powerful programming pattern that is extremely simple for application developers, even those unfamiliar with Microsoft .NET to quickly grasp and master.
To create an extension, the developer runs a wizard from the Studio that allows them to specify the name, location, language (C#, VB.NET), and which objects they want to attach the extension. Some objects support the idea of “global” extensions (e.g. Mappers). A global extension is automatically attached to all objects of a particular class. This is particularly useful for functionality such as auditing and summary information handling. Extensions must implement a known interface (NetQuarry.IExtension) or derive from a provided base class.