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

TypeDescription
NetQuarry.Data.MapperExtensionBaseAbstract base class for mapper extensions. This class is abstract (MustInherit in Visual Basic)abstractMustInherit and so cannot be instantiated.
NetQuarry.ExtensionBaseServes as a base class for type specfic extensions. In general, you should use the specfic classes that derive from this class (ApplicationExtensionBase, for example) and not derive from this class directly. This class is abstract (MustInherit in Visual Basic)abstractMustInherit and so cannot be instantiated.

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.

See Also