facets.core.superficial.app
Class SContentRootTargeter

java.lang.Object
  extended by facets.util.Tracer
      extended by facets.core.superficial.TargeterCore
          extended by facets.core.superficial.app.IndexingTargeter
              extended by facets.core.superficial.app.AreaTargeter
                  extended by facets.core.superficial.app.SContentRootTargeter
All Implemented Interfaces:
Facetable, Notifiable, Notifying, SRetargetable, STargeter, Identified, Titled

public class SContentRootTargeter
extends AreaTargeter

Heads the targeter tree for a content area.

The SAreaTarget root of each content area tree in a surface must return from SAreaTarget.newTargeter() an appropriate SContentRootTargeter to create and manage the targeter tree for all content areas of that type.

Content areas for applications will generally, and those for dialogs frequently, include one or more viewers exposing a ViewableFrame.

In addition to creating and retargeting its own elements on those of its SAreaTarget target, SContentRootTargeter applies specialised children on target trees representing (where present)

These child targeter trees provide attachment points for simple facets forming panels, menus etc exposing their targets; viewer and area facets for the surface should already be attached to the area target tree.


Nested Class Summary
 
Nested classes/interfaces inherited from class facets.core.superficial.TargeterCore
TargeterCore.TargetType
 
Nested classes/interfaces inherited from interface facets.core.superficial.Notifying
Notifying.Impact
 
Field Summary
 
Fields inherited from class facets.core.superficial.TargeterCore
targetType
 
Constructor Summary
SContentRootTargeter(TargeterCore.TargetType type)
           
 
Method Summary
protected  boolean blockNotification()
          Enables notification to be restricted to this member of the tree.
 STargeter content()
          STargeter for the content exposed by the target's tree.
 java.lang.Object identity()
          Return an object that is as far as possible unique for the implementation.
 Notifying.Impact impact()
          Allows this Notifying to specify a default Notifying.Impact.
 Notifiable monitor()
          The current Notifiable in the notification tree, as set with setMonitor.
protected  TypedNode[] newDebugChildren()
          Create a TypedNode[] representation of this Notifying for debug purposes.
protected static TypedNode newDebugContentNode(java.lang.String title, java.lang.Object source)
           
protected static TypedNode newDebugContentNode(java.lang.String title, java.lang.Object[] source)
           
protected static TypedNode newDebugMonitorNode(Notifiable monitor)
           
 TypedNode newGraphNode()
          Returns a descriptive node for use in debug object graph.
 void notify(Notice notice)
          Respond to the Notice passed.
 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 retarget(STarget target, Notifying.Impact impact)
          Overrides superclass method.
 void retargetFacets(Notifying.Impact impact)
          Extends superclass behaviour by calling retargetFacets(Notifying.Impact) in its specialised targeter members.
 STargeter selection()
          STargeter for the current selection.
 void setMonitor(Notifiable monitor)
          Attach the Notifying to a Notifiable parent in the notification tree.
 STargeter view()
          STargeter for the currently active view.
 STargeter viewer()
          STargeter for the currently active viewer.
 STargeter views()
          STargeter for the currently active views target.
 
Methods inherited from class facets.core.superficial.app.AreaTargeter
area
 
Methods inherited from class facets.core.superficial.app.IndexingTargeter
indexedTargeter, indexing, retargetedTargeter
 
Methods inherited from class facets.core.superficial.TargeterCore
attachFacet, elements, newRetargeted, target, title, toString, treeItems
 
Methods inherited from class facets.util.Tracer
trace, trace, trace, trace, trace, traceDebug, traceDebug, traceObjectText, traceOutput, traceOutputWithClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface facets.core.superficial.Notifying
impact, monitor, notifyMonitor, setMonitor
 
Methods inherited from interface facets.core.superficial.Notifiable
notify
 

Constructor Detail

SContentRootTargeter

public SContentRootTargeter(TargeterCore.TargetType type)
Method Detail

retarget

public void retarget(STarget target,
                     Notifying.Impact impact)
Description copied from class: IndexingTargeter
Overrides superclass method.

Creates and applies a targeter tree on the target tree headed by its IndexingTarget target.

Specified by:
retarget in interface SRetargetable
Specified by:
retarget in interface STargeter
Overrides:
retarget in class IndexingTargeter
See Also:
Notifying

retargetFacets

public void retargetFacets(Notifying.Impact impact)
Extends superclass behaviour by calling retargetFacets(Notifying.Impact) in its specialised targeter members.

Specified by:
retargetFacets in interface Facetable
Specified by:
retargetFacets in interface STargeter
Overrides:
retargetFacets in class AreaTargeter

content

public final STargeter content()
STargeter for the content exposed by the target's tree.

The target of content is the SFrameTarget returned as SAreaTarget.activeContent() by the target of this SContentRootTargeter.


view

public final STargeter view()
STargeter for the currently active view.

The target of view is the SFrameTarget returned as activeView by the target of viewer.


viewer

public final STargeter viewer()
STargeter for the currently active viewer.

The target of viewer is the ViewerTarget returned as activeViewer by the target of the SContentRootTargeter.


views

public final STargeter views()
STargeter for the currently active views target.

The target of views is the STarget returned as views by the target of viewer.


selection

public final STargeter selection()
STargeter for the current selection.

The target of selection is the SFrameTarget returned as SelectingFrame.selectionFrame() by the target of content().


newDebugChildren

protected TypedNode[] newDebugChildren()
Create a TypedNode[] representation of this Notifying for debug purposes.

Overrides:
newDebugChildren in class IndexingTargeter

newDebugContentNode

protected static final TypedNode newDebugContentNode(java.lang.String title,
                                                     java.lang.Object source)

newDebugContentNode

protected static final TypedNode newDebugContentNode(java.lang.String title,
                                                     java.lang.Object[] source)

newDebugMonitorNode

protected static final TypedNode newDebugMonitorNode(Notifiable monitor)

newGraphNode

public final TypedNode newGraphNode()
Returns a descriptive node for use in debug object graph.


impact

public Notifying.Impact impact()
Description copied from interface: Notifying
Allows this Notifying to specify a default Notifying.Impact.

Specified by:
impact in interface Notifying
Returns:
typically Notifying.Impact.DEFAULT

identity

public java.lang.Object identity()
Description copied from interface: Identified
Return an object that is as far as possible unique for the implementation.

This will usually be a class instance counter.

Specified by:
identity in interface Identified

monitor

public final Notifiable monitor()
The current Notifiable in the notification tree, as set with setMonitor.

Complains if no parent has been set.

Specified by:
monitor in interface Notifying

notify

public void notify(Notice notice)
Description copied from interface: Notifiable
Respond to the Notice passed.

When this method is called, the Notifiable should respond based on

Specified by:
notify in interface Notifiable

notifyMonitor

public final void notifyMonitor(Notifying.Impact impact)
Description copied from interface: Notifying
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.

Specified by:
notifyMonitor in interface Notifying
Parameters:
impact - suggests the level of retargeting required

blockNotification

protected boolean blockNotification()
Enables notification to be restricted to this member of the tree.

Checked by notify(Notice); default returns false.


setMonitor

public final void setMonitor(Notifiable monitor)
Description copied from interface: Notifying
Attach the Notifying to a Notifiable parent in the notification tree.

Specified by:
setMonitor in interface Notifying