facets.core.superficial
Interface Notifying

All Superinterfaces:
Notifiable
All Known Subinterfaces:
FacetedTarget, STarget, STargeter
All Known Implementing Classes:
ActionViewerTarget, AppSurface.ContentRoot, AreaTargeter, DialogSurface.ContentRoot, FrameGroup, FrameGroup.Proxy, IndexingFrame, IndexingFrame.FrameTargeter, IndexingTarget, IndexingTargeter, NodeViewable, SAreaTarget, SContentRootTargeter, SelectingFrame, SFrameTarget, SIndexing, SNumeric, StatefulViewable, STextual, SToggling, STrigger, TargetCore, TargeterCore, ViewableFrame, ViewerTarget

public interface Notifying
extends Notifiable

Potential element of the Facets notification tree.

Notifying is the root of the Facets type hierarchy for both targets and targeters.

Whenever a target acts on the element it represents in the application (usually though not necessarily in response to widget input relayed by a surface facet) the application root must be notified that a retargeting is needed to ensure view and control consistency.

Notification is triggered in the Facets implementation of by application code calling notifyMonitor on the target, and relayed to the application root via a tree of Notifyings, all either STargets or STargeters.

A Notifying is attached to the tree using setMonitor to set one of the following as its notification monitor:

In all three cases the monitor is set during retargeting; applications need only ensure that notification is triggered whenever a target acts on the application element it represents.


Nested Class Summary
static class Notifying.Impact
          Allows a Notifying to refine its notification.
 
Method Summary
 Notifying.Impact impact()
          Allows this Notifying to specify a default Notifying.Impact.
 Notifiable monitor()
          As last set by setMonitor.
 void notifyMonitor(Notifying.Impact impact)
          Call notify on the parent monitor in the notification tree, typically with itself as parameter to the Notice passed.
 void setMonitor(Notifiable monitor)
          Attach the Notifying to a Notifiable parent in the notification tree.
 
Methods inherited from interface facets.core.superficial.Notifiable
notify
 

Method Detail

setMonitor

void setMonitor(Notifiable monitor)
Attach the Notifying to a Notifiable parent in the notification tree.


notifyMonitor

void notifyMonitor(Notifying.Impact impact)
Call notify on the parent monitor in the notification tree, typically with itself as parameter to the Notice passed.

Has no effect if no monitor has been set.

This is the usual means to trigger a surface retargeting, being called by an exposing SFacet on its target.

Parameters:
impact - suggests the level of retargeting required

monitor

Notifiable monitor()
As last set by setMonitor.

Complains if none set.


impact

Notifying.Impact impact()
Allows this Notifying to specify a default Notifying.Impact.

Returns:
typically Notifying.Impact.DEFAULT