facets.core.superficial
Class SFrameTarget

java.lang.Object
  extended by facets.util.Tracer
      extended by facets.core.superficial.TargetCore
          extended by facets.core.superficial.SFrameTarget
All Implemented Interfaces:
Notifiable, Notifying, STarget, TargeterCore.TargetType, Identified, Titled
Direct Known Subclasses:
FrameGroup, SelectingFrame

public class SFrameTarget
extends TargetCore

Extends TargetCore by framing application content to be exposed directly to facets.


Nested Class Summary
 
Nested classes/interfaces inherited from interface facets.core.superficial.STarget
STarget.Targeted
 
Nested classes/interfaces inherited from interface facets.core.superficial.Notifying
Notifying.Impact
 
Field Summary
 java.lang.Object framed
          Immutable framed framed by the SFrameTarget.
 
Fields inherited from class facets.core.superficial.TargetCore
targets
 
Fields inherited from interface facets.core.superficial.STarget
NONE
 
Constructor Summary
SFrameTarget(java.lang.Object framed)
          Convenience constructor creating a suitable title.
SFrameTarget(java.lang.String title, java.lang.Object toFrame)
          Core constructor.
 
Method Summary
protected  boolean blockNotification()
          Enables notification to be restricted to this member of the 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.
protected  boolean notifiesTargeter()
          Used to construct the notification tree.
 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 setFramedState(java.lang.Object stateSpec, boolean interim)
          Set the state of the framed.
 void setMonitor(Notifiable monitor)
          Attach the Notifying to a Notifiable parent in the notification tree.
 java.lang.String title()
          Return human-readable identifying text.
 
Methods inherited from class facets.core.superficial.TargetCore
elements, findMonitorOfType, isLive, join, lazyElements, newTargeter, setElements, setLive, toString, wantsFocus
 
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
 

Field Detail

framed

public final java.lang.Object framed
Immutable framed framed by the SFrameTarget.

Constructor Detail

SFrameTarget

public SFrameTarget(java.lang.Object framed)
Convenience constructor creating a suitable title.

If framed is a Titled its title is used, therwise a dummy title is created.


SFrameTarget

public SFrameTarget(java.lang.String title,
                    java.lang.Object toFrame)
Core constructor.

Note that this passes no child target elements to the superclass; elements can only be set by subclassing and

This limitation ensures that the effective type of a SFrameTarget with child elements can be distinguished by reference to the compiled type. Care must therefore be taken in applications not vary the effective type of the elements created by a subclass.

Parameters:
title - passed to the superclass
toFrame - must not be null
Method Detail

setFramedState

public void setFramedState(java.lang.Object stateSpec,
                           boolean interim)
Set the state of the framed.

Default implementation is an invalid stub.

Parameters:
stateSpec - must define the new state of framed
interim - if true the edit forms part of a sequence

newDebugChildren

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

Overrides:
newDebugChildren in class TargetCore

notifiesTargeter

protected final boolean notifiesTargeter()
Description copied from class: TargetCore
Used to construct the notification tree.

NOTE This method must NOT be overridden in application code.

Overrides:
notifiesTargeter in class TargetCore

title

public java.lang.String title()
Description copied from interface: Titled
Return human-readable identifying text.

Specified by:
title in interface Titled
Overrides:
title in class TargetCore
Returns:
non-null, non-empty string with no structural whitespace

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