facets.core.superficial
Interface TargetCoupler

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
FacetFactory.ComboCoupler, SIndexing.Coupler, SNumeric.Coupler, STextual.Coupler, SToggling.Coupler, STrigger.Coupler

public interface TargetCoupler
extends java.io.Serializable

Connects a facade STarget to the application.

While TargetCoupler itself defines no specific functionality, the appropriate subtypes for each facade STarget

A TargetCoupler subtype instance can either be subclassed as required (usually trivially) to meet application-specific requirements, or simply provide default presentation policy and event handling. This approach (rather than subclassing the facade STargets themselves) minimises coupling between application and framework classes, with the further advantage that application code can often be simplified by sharing a single coupler between logically linked targets.

The most fully worked out examples of this approach in Facets are the extensive built-in policy options provided by SIndexing.Coupler, and the use of SNumeric.Coupler to supply appropriate NumberPolicy instances to SNumerics.