info.monitorenter.gui.chart.traces
Class ATrace2D

java.lang.Object
  extended by info.monitorenter.gui.chart.traces.ATrace2D
All Implemented Interfaces:
ITrace2D, IComparableProperty, PropertyChangeListener, Serializable, EventListener
Direct Known Subclasses:
Trace2DArithmeticMean, Trace2DLtd, Trace2DSimple, Trace2DSorted

public abstract class ATrace2D
extends Object
implements ITrace2D

The abstract basic implementation of ITrace2D that provides the major amount of aspects needed in order to work correctly together with Chart2D.

Caching of minimum and maximum bounds, property change support, the complex z-Index handling (incorporates calls to internals of Chart2D, default naming, bound management and event handling are covered here.

Version:
$Revision: 1.46 $
Author:
Achim Westermann
See Also:
Serialized Form

Field Summary
protected  List m_computingTraces
          The list of traces that compute their values from this trace.
protected  double m_maxX
          Cached maximum x value for performance improvement.
protected  double m_maxXErrorBar
          Cached maximum x value with error bar extension for performance improvement.
protected  double m_maxY
          Cached maximum y value for performance improvement.
protected  double m_maxYErrorBar
          Cached maximum y value with error bar extension for performance improvement.
protected  double m_minX
          Cached minimum x value for performance improvement.
protected  double m_minXErrorBar
          Cached minimum x value with error bar extension for performance improvement.
protected  double m_minY
          Cached minimum y value for performance improvement.
protected  double m_minYErrorBar
          Cached minimum y value with error bar extension for performance improvement.
protected  String m_name
          The name property.
protected  String m_physicalUnitsX
          The physical unit property for x dimension.
protected  String m_physicalUnitsY
          The physical unit property for x dimension.
protected  PropertyChangeSupport m_propertyChangeSupport
          The instance that add support for firing PropertyChangeEvents and maintaining PropertyChangeListeners.
protected  Object m_renderer
          The Chart2D this trace is added to.
 
Fields inherited from interface info.monitorenter.gui.chart.ITrace2D
PROPERTY_COLOR, PROPERTY_ERRORBARPOLICY, PROPERTY_ERRORBARPOLICY_CONFIGURATION, PROPERTY_MAX_X, PROPERTY_MAX_Y, PROPERTY_MIN_X, PROPERTY_MIN_Y, PROPERTY_NAME, PROPERTY_PAINTERS, PROPERTY_PHYSICALUNITS, PROPERTY_POINT_CHANGED, PROPERTY_STROKE, PROPERTY_TRACEPOINT, PROPERTY_VISIBLE, PROPERTY_ZINDEX, Z_INDEX_MIN, ZINDEX_MAX
 
Constructor Summary
ATrace2D()
          Defcon.
 
Method Summary
 void addComputingTrace(ITrace2D trace)
          Adds a trace that "should" compute values from the points added via ITrace2D.addPoint(TracePoint2D).
 boolean addErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
          Adds the given error bar policy to the internal set of error bar policies.
 boolean addPoint(double x, double y)
          Add a point to this trace.
 boolean addPoint(TracePoint2D p)
          Add the given point to this ITrace2D.
protected abstract  boolean addPointInternal(TracePoint2D p)
          Override this template method for the custom add operation that depends on the policies of the implementation.
 void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
          Registers a property change listener that will be informed about changes of the property identified by the given propertyName.
 boolean addTracePainter(ITracePainter painter)
          Adds the given trace painter to the internal set of trace painters.
 boolean containsTracePainter(ITracePainter painter)
          Returns true if the given painter is contained in this compound painter.
protected  void finalize()
          Decreases internal instance count by one.
protected  void firePointAdded(TracePoint2D added)
          Fire property change events related to an added point.
 void firePointChanged(TracePoint2D changed, int state)
          Method triggered by TracePoint2D.setLocation(double, double), addPoint(TracePoint2D) or removePoint(TracePoint2D).
protected  void firePointRemoved(TracePoint2D removed)
          Fire property change events related to a removed point.
protected  void firePropertyChange(String property, Object oldvalue, Object newvalue)
          Fires a property change event to the registered listeners.
 List getChangeListeners()
          Returns the change listeners of this instance.
 Color getColor()
           Get the Color this trace will be painted with.
 Number getComparableProperty()
          Returns a Number this instance wants to be compared by.
 Set getErrorBarPolicies()
          Returns the Set<IErrorBarPolicy> that will be used to render error bars for this trace.
 boolean getHasErrorBars()
          Returns true if this trace has error bars configured.
static int getInstanceCount()
          Returns the instanceCount for all ATrace2D subclasses.
 String getLabel()
          Returns a label for this trace.
 double getMaxX()
          Returns the original maximum x- value ignoring the offsetX.
 double getMaxY()
          Returns the original maximum y- value ignoring the offsetY.
 double getMinX()
          Returns the original minimum x- value ignoring the offsetX.
 double getMinY()
          Returns the original minimum y- value ignoring the offsetY.
 String getName()
          Returns the name of this trace.
 String getPhysicalUnits()
          Returns the concatenation [x: "ITrace2D.getPhysicalUnitsX()", y: "ITrace2D.getPhysicalUnitsY()"].
 String getPhysicalUnitsX()
          Returns the physical unit string value for the x dimension.
 String getPhysicalUnitsY()
          Returns the physical unit string value for the y dimension.
 PropertyChangeListener[] getPropertyChangeListeners(String property)
          Returns all property change listeners for the given property.
 Chart2D getRenderer()
          Returns the chart that renders this instance or null, if this trace is not added to a chart.
 Stroke getStroke()
           Get the Stroke object this instance will be painted with.
 Set getTracePainters()
          Returns the Set<ITracePainter> that will be used to paint this trace.
 Integer getZIndex()
          The z-index defines the order in which this instance will be painted.
 boolean isVisible()
          Returns true if this instance should be rendered.
protected  void maxXSearch()
          Internal search for the maximum x value that is only invoked if no cached value is at hand or bounds have changed by adding new points.
protected  void maxYSearch()
          Internal search for the maximum y value that is only invoked if no cached value is at hand or bounds have changed by adding new points.
protected  void minXSearch()
          Internal search for the minimum x value that is only invoked if no cached value is at hand or bounds have changed by adding new points.
protected  void minYSearch()
          Internal search for the minimum y value that is only invoked if no cached value is at hand or bounds have changed by adding new points.
 void propertyChange(PropertyChangeEvent evt)
           
 void removeAllPoints()
          Changes the internal state to empty to allow that the caching of bounds is cleared and delegates the call to removeAllPointsInternal().
protected abstract  void removeAllPointsInternal()
          Override this template method for the custom remove operation that depends on the Collection used in the implementation.
 boolean removeComputingTrace(ITrace2D trace)
          Remove a trace that "should" compute values from the points added via ITrace2D.addPoint(TracePoint2D).
 boolean removeErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
          Removes the given error bar policy from the internal set of error bar policies.
 boolean removePoint(TracePoint2D point)
          Remove the given point from this ITrace2D.
protected abstract  TracePoint2D removePointInternal(TracePoint2D point)
          Override this template method for the custom remove operation that depends on the internal storage the implementation.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Deregisters a property change listener that has been registerd for listening on all properties.
 void removePropertyChangeListener(String property, PropertyChangeListener listener)
          Removes a property change listener for listening on the given property.
 boolean removeTracePainter(ITracePainter painter)
          Removes the given trace painter if an instance of the same class is contained and more painters are remaining.
 void setColor(Color color)
           Set the Color this trace will be painted with.
 void setComparableProperty(Number n)
          Set the comparable Number.
 Set setErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
          Replaces all internal error bar policies by the new one.
 void setName(String name)
          Sets the descriptive name for this trace.
 void setPhysicalUnits(String xunit, String yunit)
          Assings a specific String representing the physical unit to the ITrace2D (e.g.
 void setRenderer(Chart2D renderer)
          Allows the chart this instance is painted by to register itself.
 void setStroke(Stroke stroke)
          Allows to specify the rendering of the ITrace2D.
 Set setTracePainter(ITracePainter painter)
          Replaces all internal trace painters by the new one.
 void setVisible(boolean visible)
           Set the visible property of this instance.
 void setZIndex(Integer zIndex)
          Sets the internal z-index property.
 boolean showsErrorBars()
          Tests whether error bars are painted by this trace.
 boolean showsNegativeXErrorBars()
          Tests whether error bars in negative x direction are painted by this trace.
 boolean showsNegativeYErrorBars()
          Tests whether error bars in negative y direction are painted by this trace.
 boolean showsPositiveXErrorBars()
          Tests whether error bars in positive x direction are painted by this trace.
 boolean showsPositiveYErrorBars()
          Tests whether error bars in positive y direction are painted by this trace.
 String toString()
           Returns getName().
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface info.monitorenter.gui.chart.ITrace2D
getMaxSize, getSize, isEmpty, iterator
 

Field Detail

m_computingTraces

protected List m_computingTraces
The list of traces that compute their values from this trace.


m_maxX

protected double m_maxX
Cached maximum x value for performance improvement.


m_maxXErrorBar

protected double m_maxXErrorBar
Cached maximum x value with error bar extension for performance improvement.


m_maxY

protected double m_maxY
Cached maximum y value for performance improvement.


m_maxYErrorBar

protected double m_maxYErrorBar
Cached maximum y value with error bar extension for performance improvement.


m_minX

protected double m_minX
Cached minimum x value for performance improvement.


m_minXErrorBar

protected double m_minXErrorBar
Cached minimum x value with error bar extension for performance improvement.


m_minY

protected double m_minY
Cached minimum y value for performance improvement.


m_minYErrorBar

protected double m_minYErrorBar
Cached minimum y value with error bar extension for performance improvement.


m_name

protected String m_name
The name property.


m_physicalUnitsX

protected String m_physicalUnitsX
The physical unit property for x dimension.


m_physicalUnitsY

protected String m_physicalUnitsY
The physical unit property for x dimension.


m_propertyChangeSupport

protected PropertyChangeSupport m_propertyChangeSupport
The instance that add support for firing PropertyChangeEvents and maintaining PropertyChangeListeners.


m_renderer

protected Object m_renderer
The Chart2D this trace is added to. Needed for synchronization.

Constructor Detail

ATrace2D

public ATrace2D()
Defcon.

Method Detail

getInstanceCount

public static int getInstanceCount()
Returns the instanceCount for all ATrace2D subclasses.

Returns:
Returns the instanceCount for all ATrace2D subclasses.

addComputingTrace

public void addComputingTrace(ITrace2D trace)
Description copied from interface: ITrace2D
Adds a trace that "should" compute values from the points added via ITrace2D.addPoint(TracePoint2D).

The given trace will be informed in case an add operation on this trace succeeds via ITrace2D.addPoint(TracePoint2D).

Specified by:
addComputingTrace in interface ITrace2D
Parameters:
trace - the trace that will calculate it's points from the added points of this trace.
See Also:
ITrace2D.addComputingTrace(info.monitorenter.gui.chart.ITrace2D)

addErrorBarPolicy

public final boolean addErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
Description copied from interface: ITrace2D
Adds the given error bar policy to the internal set of error bar policies.

It will be the last error bar policy to render (most forward on screen).

Specified by:
addErrorBarPolicy in interface ITrace2D
Parameters:
errorBarPolicy - the error bar policy to add for rendering this trace's error bars.
Returns:
true if the painter was added (same instance was not contained before).
See Also:
ITrace2D.addErrorBarPolicy(info.monitorenter.gui.chart.IErrorBarPolicy)

addPoint

public final boolean addPoint(double x,
                              double y)
Add a point to this trace.

Prefer calling addPoint(TracePoint2D) for better performance (avoid one invokevirtual for delegation).

Specified by:
addPoint in interface ITrace2D
Parameters:
x - the x coordinate of the new point.
y - the y coordinate of the new point.
Returns:
true if the operation was successful, false else.
See Also:
ITrace2D.addPoint(TracePoint2D p)

addPoint

public final boolean addPoint(TracePoint2D p)
Add the given point to this ITrace2D.

This implementation performs caching of minimum and maximum values for x and y and the delegates to addPointInternal(TracePoint2D) that has to perform the "real" add operation.

Property change events are fired as described in method firePointAdded(TracePoint2D).

Specified by:
addPoint in interface ITrace2D
Parameters:
p - the TracePoint2D to add.
Returns:
true if the operation was successful, false else.
See Also:
firePointChanged(TracePoint2D, int)

addPointInternal

protected abstract boolean addPointInternal(TracePoint2D p)
Override this template method for the custom add operation that depends on the policies of the implementation.

No property change events have to be fired by default. If this method returns true the outer logic of the calling method addPoint(TracePoint2D) will perform bound checks for the new point and fire property changes as described in method firePointChanged(TracePoint2D, int).

In special cases - when additional modifications to the internal set of points take place (e.g. a further point gets removed) this method should return false (regardless wether the new point was accepted or not) and perform bound checks and fire the property changes as mentioned above "manually".

Parameters:
p - the point to add.
Returns:
true if the given point was accepted or false if not.

addPropertyChangeListener

public final void addPropertyChangeListener(String propertyName,
                                            PropertyChangeListener listener)
Description copied from interface: ITrace2D
Registers a property change listener that will be informed about changes of the property identified by the given propertyName.

Specified by:
addPropertyChangeListener in interface ITrace2D
Parameters:
propertyName - the name of the property the listener is interested in
listener - a listener that will only be informed if the property identified by the argument propertyName changes
See Also:
ITrace2D.addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

addTracePainter

public boolean addTracePainter(ITracePainter painter)
Description copied from interface: ITrace2D
Adds the given trace painter to the internal set of trace painters.

It will be the last painter to paint (most forward).

Specified by:
addTracePainter in interface ITrace2D
Parameters:
painter - the painter to add for rendering this trace.
Returns:
true if the painter was added (class of instance not contained before).
See Also:
ITrace2D.addTracePainter(info.monitorenter.gui.chart.ITracePainter)

containsTracePainter

public boolean containsTracePainter(ITracePainter painter)
Description copied from interface: ITrace2D
Returns true if the given painter is contained in this compound painter.

Specified by:
containsTracePainter in interface ITrace2D
Parameters:
painter - the painter to check wether it is contained.
Returns:
true if the given painter is contained in this compound painter.
See Also:
ITrace2D.containsTracePainter(info.monitorenter.gui.chart.ITracePainter)

finalize

protected void finalize()
                 throws Throwable
Decreases internal instance count by one.

Overrides:
finalize in class Object
Throws:
Throwable - if sth. goes wrong.

firePointAdded

protected void firePointAdded(TracePoint2D added)
Fire property change events related to an added point.

A property change event for property ITrace2D.PROPERTY_TRACEPOINT with null as the old value and the new point as the new value is fired. This allows e.g. rescaling of those instances (instead of having to rescale a whole trace).

Additionally before this property change, property change events for bounds are fired as described in method firePointChanged(TracePoint2D, int).

Parameters:
added - the point that was added.

firePointChanged

public void firePointChanged(TracePoint2D changed,
                             int state)
Method triggered by TracePoint2D.setLocation(double, double), addPoint(TracePoint2D) or removePoint(TracePoint2D).

Bound checks are performed and property change events for the properties ITrace2D.PROPERTY_MAX_X, ITrace2D.PROPERTY_MIN_X, ITrace2D.PROPERTY_MAX_Y and ITrace2D.PROPERTY_MIN_Y are fired if the add bounds have changed due to the modification of the point.

If state is TracePoint2D.STATE_CHANGED a property change event with ITrace2D.PROPERTY_POINT_CHANGED will be fired to all listeners.

Specified by:
firePointChanged in interface ITrace2D
Parameters:
changed - the point that has been changed which may be a newly added point (from addPoint(TracePoint2D), a removed one or a modified one.
state - one of {TracePoint2D.STATE_ADDED, TracePoint2D.STATE_CHANGED, TracePoint2D.STATE_REMOVED} to inform about the type of change.

firePointRemoved

protected void firePointRemoved(TracePoint2D removed)
Fire property change events related to a removed point.

A property change event for property ITrace2D.PROPERTY_TRACEPOINT with a point as the old value and null as the new value is fired. This allows e.g. rescaling of those instances (instead of having to rescale a whole trace).

Additionally before this property change, property change events for bounds are fired as described in method firePointChanged(TracePoint2D, int).

Parameters:
removed - the point that was removed.

firePropertyChange

protected final void firePropertyChange(String property,
                                        Object oldvalue,
                                        Object newvalue)
Fires a property change event to the registered listeners.

Parameters:
property - one of the PROPERTY_XXX constants defined in ITrace2D.
oldvalue - the old value of the property.
newvalue - the new value of the property.

getChangeListeners

public List getChangeListeners()
Returns the change listeners of this instance.

Returns:
the change listeners of this instance.

getColor

public final Color getColor()

Get the Color this trace will be painted with.

Specified by:
getColor in interface ITrace2D
Returns:
the Color of this instance

getComparableProperty

public Number getComparableProperty()
Description copied from interface: IComparableProperty
Returns a Number this instance wants to be compared by.

Specified by:
getComparableProperty in interface IComparableProperty
Returns:
a Number this instance wants to be compared by.
See Also:
IComparableProperty.getComparableProperty()

getErrorBarPolicies

public final Set getErrorBarPolicies()
Description copied from interface: ITrace2D
Returns the Set<IErrorBarPolicy> that will be used to render error bars for this trace.

Specified by:
getErrorBarPolicies in interface ITrace2D
Returns:
the Set<IErrorBarPolicy> that will be used to render error bars for this trace.
See Also:
ITrace2D.getErrorBarPolicies()

getHasErrorBars

public final boolean getHasErrorBars()
Description copied from interface: ITrace2D
Returns true if this trace has error bars configured.

If this returns false, no error bars will be painted for this trace.

Specified by:
getHasErrorBars in interface ITrace2D
Returns:
true if this trace has error bars configured.
See Also:
ITrace2D.getHasErrorBars()

getLabel

public final String getLabel()
Returns a label for this trace.

The label is constructed of

Specified by:
getLabel in interface ITrace2D
Returns:
a label for this trace.
See Also:
ITrace2D.getLabel(), getName(), getPhysicalUnits()

getMaxX

public final double getMaxX()
Returns the original maximum x- value ignoring the offsetX.

Specified by:
getMaxX in interface ITrace2D
Returns:
the original maximum x- value ignoring the offsetX.

getMaxY

public final double getMaxY()
Returns the original maximum y- value ignoring the offsetY.

Specified by:
getMaxY in interface ITrace2D
Returns:
the original maximum y- value ignoring the offsetY.

getMinX

public final double getMinX()
Returns the original minimum x- value ignoring the offsetX.

Specified by:
getMinX in interface ITrace2D
Returns:
the original minimum x- value ignoring the offsetX.

getMinY

public final double getMinY()
Returns the original minimum y- value ignoring the offsetY.

Specified by:
getMinY in interface ITrace2D
Returns:
the original minimum y- value ignoring the offsetY.

getName

public final String getName()
Returns the name of this trace.

Specified by:
getName in interface ITrace2D
Returns:
the name of this trace.
See Also:
ITrace2D.getName(), setName(String s)

getPhysicalUnits

public final String getPhysicalUnits()
Description copied from interface: ITrace2D
Returns the concatenation [x: "ITrace2D.getPhysicalUnitsX()", y: "ITrace2D.getPhysicalUnitsY()"].

Specified by:
getPhysicalUnits in interface ITrace2D
Returns:
the concatenation [x: "ITrace2D.getPhysicalUnitsX()", y: "ITrace2D.getPhysicalUnitsY()"].
See Also:
ITrace2D.getPhysicalUnits()

getPhysicalUnitsX

public final String getPhysicalUnitsX()
Description copied from interface: ITrace2D
Returns the physical unit string value for the x dimension.

Specified by:
getPhysicalUnitsX in interface ITrace2D
Returns:
the physical unit string value for the x dimension.
See Also:
ITrace2D.getPhysicalUnitsX()

getPhysicalUnitsY

public final String getPhysicalUnitsY()
Description copied from interface: ITrace2D
Returns the physical unit string value for the y dimension.

Specified by:
getPhysicalUnitsY in interface ITrace2D
Returns:
the physical unit string value for the y dimension.
See Also:
ITrace2D.getPhysicalUnitsY()

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String property)
Description copied from interface: ITrace2D
Returns all property change listeners for the given property.

Specified by:
getPropertyChangeListeners in interface ITrace2D
Parameters:
property - one of the constants with the PROPERTY_ prefix defined in this class or subclasses.
Returns:
the property change listeners for the given property.
See Also:
ITrace2D.getPropertyChangeListeners(String)

getRenderer

public final Chart2D getRenderer()
Returns the chart that renders this instance or null, if this trace is not added to a chart.

The chart that renders this trace registers itself with this trace in Chart2D.addTrace(ITrace2D).

Specified by:
getRenderer in interface ITrace2D
Returns:
Returns the renderer.
See Also:
Chart2D.addTrace(ITrace2D)

getStroke

public final Stroke getStroke()

Get the Stroke object this instance will be painted with.

Specified by:
getStroke in interface ITrace2D
Returns:
the Stroke object this ITrace2D will be painted with.
See Also:
ITrace2D.getStroke()

getTracePainters

public final Set getTracePainters()
Description copied from interface: ITrace2D
Returns the Set<ITracePainter> that will be used to paint this trace.

Specified by:
getTracePainters in interface ITrace2D
Returns:
the Set<ITracePainter> that will be used to paint this trace.
See Also:
ITrace2D.getTracePainters()

getZIndex

public final Integer getZIndex()
Description copied from interface: ITrace2D
The z-index defines the order in which this instance will be painted.

A lower value will bring it more "to the front".

Specified by:
getZIndex in interface ITrace2D
Returns:
the z-index that will define the order in which this instance will be painted.
See Also:
ITrace2D.getZIndex()

isVisible

public final boolean isVisible()
Description copied from interface: ITrace2D
Returns true if this instance should be rendered.

Specified by:
isVisible in interface ITrace2D
Returns:
true if this instance should be rendered.
See Also:
ITrace2D.isVisible()

maxXSearch

protected void maxXSearch()
Internal search for the maximum x value that is only invoked if no cached value is at hand or bounds have changed by adding new points.

The result is assigned to the property maxX.

See Also:
getMaxX()

maxYSearch

protected void maxYSearch()
Internal search for the maximum y value that is only invoked if no cached value is at hand or bounds have changed by adding new points.

The result is assigned to the property maxY.

See Also:
getMaxY()

minXSearch

protected void minXSearch()
Internal search for the minimum x value that is only invoked if no cached value is at hand or bounds have changed by adding new points.

The result is assigned to the property minX.

See Also:
getMinX()

minYSearch

protected void minYSearch()
Internal search for the minimum y value that is only invoked if no cached value is at hand or bounds have changed by adding new points.

The result is assigned to the property minY.

See Also:
getMinY()

propertyChange

public void propertyChange(PropertyChangeEvent evt)
Specified by:
propertyChange in interface PropertyChangeListener
See Also:
PropertyChangeListener.propertyChange(java.beans.PropertyChangeEvent)

removeAllPoints

public final void removeAllPoints()
Changes the internal state to empty to allow that the caching of bounds is cleared and delegates the call to removeAllPointsInternal().

Specified by:
removeAllPoints in interface ITrace2D
See Also:
ITrace2D.removeAllPoints()

removeAllPointsInternal

protected abstract void removeAllPointsInternal()
Override this template method for the custom remove operation that depends on the Collection used in the implementation.

No change events have to be fired, this is done by ATrace2D.


removeComputingTrace

public boolean removeComputingTrace(ITrace2D trace)
Description copied from interface: ITrace2D
Remove a trace that "should" compute values from the points added via ITrace2D.addPoint(TracePoint2D).

Specified by:
removeComputingTrace in interface ITrace2D
Parameters:
trace - the trace that will calculate it's points from the added points of this trace.
Returns:
true if the given trace was removed (recognized by the means of Object.equals(Object)).
See Also:
ITrace2D.removeComputingTrace(info.monitorenter.gui.chart.ITrace2D)

removeErrorBarPolicy

public boolean removeErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
Description copied from interface: ITrace2D
Removes the given error bar policy from the internal set of error bar policies.

Specified by:
removeErrorBarPolicy in interface ITrace2D
Parameters:
errorBarPolicy - the error bar policy to remove.
Returns:
true if the painter was removed (same instance contained before).
See Also:
ITrace2D.removeErrorBarPolicy(info.monitorenter.gui.chart.IErrorBarPolicy)

removePoint

public boolean removePoint(TracePoint2D point)
Remove the given point from this ITrace2D.

This implementation performs caching of minimum and maximum values for x and y and the delegates to removePointInternal(TracePoint2D) that has to perform the "real" add remove operation.

Property change events are fired as described in method firePointRemoved(TracePoint2D).

Specified by:
removePoint in interface ITrace2D
Parameters:
point - the TracePoint2D to remove.
Returns:
true if the removal suceeded, false else: this could be that the given point was not contained.
See Also:
firePointChanged(TracePoint2D, int)

removePointInternal

protected abstract TracePoint2D removePointInternal(TracePoint2D point)
Override this template method for the custom remove operation that depends on the internal storage the implementation.

The returned point may be the same as the given. But some "computing" traces like Trace2DArithmeticMean will internally delete a different point and return that one.

No property change events have to be fired by default. If this method returns null the outer logic of the calling method removePoint(TracePoint2D) will perform bound checks for the returned point and fire property changes for the properties ITrace2D.PROPERTY_MAX_X, ITrace2D.PROPERTY_MIN_X, ITrace2D.PROPERTY_MAX_Y and ITrace2D.PROPERTY_MIN_Y.

In special cases - when additional modifications to the internal set of points take place (e.g. a further point get added) this method should return false (regardless wether the old point was really removed or not) and perform bound checks and fire the property changes as mentioned above "manually".

Parameters:
point - the point to remove.
Returns:
null if unsuccesful (and no events should be fired) or the point that actually was removed (in case different than the given one it should be somehow related to the given one).

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Description copied from interface: ITrace2D
Deregisters a property change listener that has been registerd for listening on all properties.

Specified by:
removePropertyChangeListener in interface ITrace2D
Parameters:
listener - a listener that will only be informed if the property identified by the argument propertyName changes
See Also:
ITrace2D.removePropertyChangeListener(java.beans.PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(String property,
                                         PropertyChangeListener listener)
Description copied from interface: ITrace2D
Removes a property change listener for listening on the given property.

Specified by:
removePropertyChangeListener in interface ITrace2D
Parameters:
property - one of the constants with teh PROPERTY_ prefix defined in this class or subclasses.
listener - the listener for this property change.
See Also:
ITrace2D.removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

removeTracePainter

public boolean removeTracePainter(ITracePainter painter)
Removes the given trace painter if an instance of the same class is contained and more painters are remaining.

Specified by:
removeTracePainter in interface ITrace2D
Parameters:
painter - the painter to remove.
Returns:
true if a painter of the same class as the given painter was removed.

setColor

public final void setColor(Color color)

Set the Color this trace will be painted with.

Specified by:
setColor in interface ITrace2D
Parameters:
color - the Color this trace will be painted with.

setComparableProperty

public void setComparableProperty(Number n)
Description copied from interface: IComparableProperty
Set the comparable Number.

Note that a ComparableProperty has to allow by contract that it's Number property it lays open to be compared by has to be modifiable from outside!

Specified by:
setComparableProperty in interface IComparableProperty
Parameters:
n - the comparable number.
See Also:
IComparableProperty.setComparableProperty(java.lang.Number)

setErrorBarPolicy

public final Set setErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
Description copied from interface: ITrace2D
Replaces all internal error bar policies by the new one.

Specified by:
setErrorBarPolicy in interface ITrace2D
Parameters:
errorBarPolicy - the new sole painter to use.
Returns:
the Set<IErrorBarPolicy> that was used before.
See Also:
ITrace2D.setErrorBarPolicy(info.monitorenter.gui.chart.IErrorBarPolicy)

setName

public final void setName(String name)
Sets the descriptive name for this trace.

If the given argument is null or consists of whitespaces only nothing will be changed.

Specified by:
setName in interface ITrace2D
Parameters:
name - the descriptive name for this trace.
See Also:
ITrace2D.setName(java.lang.String)

setPhysicalUnits

public final void setPhysicalUnits(String xunit,
                                   String yunit)
Description copied from interface: ITrace2D
Assings a specific String representing the physical unit to the ITrace2D (e.g. Volt, Ohm, lux, ...) which will be displayed by the Chart2D

Specified by:
setPhysicalUnits in interface ITrace2D
Parameters:
xunit - the physical unit for the x axis.
yunit - the physical unit for the y axis.
See Also:
ITrace2D.setPhysicalUnits(String, String)

setRenderer

public final void setRenderer(Chart2D renderer)
Allows the chart this instance is painted by to register itself.

This is internally required for synchronization and re-ordering due to z-Index changes.

Specified by:
setRenderer in interface ITrace2D
Parameters:
renderer - the chart that paints this instance.

setStroke

public final void setStroke(Stroke stroke)
Description copied from interface: ITrace2D
Allows to specify the rendering of the ITrace2D. This Stroke will be assigned to the Graphics2D by the rendering Chart2D when painting this instance.

Specified by:
setStroke in interface ITrace2D
Parameters:
stroke - the stroke to use for painting this trace.
See Also:
ITrace2D.setStroke(java.awt.Stroke)

setTracePainter

public final Set setTracePainter(ITracePainter painter)
Replaces all internal trace painters by the new one.

Specified by:
setTracePainter in interface ITrace2D
Parameters:
painter - the new sole painter to use.
Returns:
the Set<ITracePainter> that was used before.

setVisible

public final void setVisible(boolean visible)

Set the visible property of this instance.

Invisible ITrace2D instances (visible == false) will not be painted.

Specified by:
setVisible in interface ITrace2D
Parameters:
visible - the visible property of this instance to set.
See Also:
ITrace2D.setVisible(boolean)

setZIndex

public final void setZIndex(Integer zIndex)
Description copied from interface: ITrace2D
Sets the internal z-index property. This decides the order in which different traces within the same Chart2D are painted.

The lower the given value is the more this trace will be brought to front.

The value must not be lower than ITrace2D.Z_INDEX_MIN(0) and higher than ITrace2D.ZINDEX_MAX(100).

This might not be tested for increased performance but ignoring these bounds may result in wrong ordering of display.

Specified by:
setZIndex in interface ITrace2D
Parameters:
zIndex - the z index of this trace - the lower the value the more in front the trace will appear amongst other traces in the same chart.
See Also:
ITrace2D.setZIndex(java.lang.Integer)

showsErrorBars

public boolean showsErrorBars()
Description copied from interface: ITrace2D
Tests whether error bars are painted by this trace.

Returns true if

Specified by:
showsErrorBars in interface ITrace2D
Returns:
true if this trace renders error bars.
See Also:
ITrace2D.showsErrorBars()

showsNegativeXErrorBars

public boolean showsNegativeXErrorBars()
Description copied from interface: ITrace2D
Tests whether error bars in negative x direction are painted by this trace.

Returns true if

Specified by:
showsNegativeXErrorBars in interface ITrace2D
Returns:
true if this trace renders error bars in negative x direction.
See Also:
ITrace2D.showsNegativeXErrorBars()

showsNegativeYErrorBars

public boolean showsNegativeYErrorBars()
Description copied from interface: ITrace2D
Tests whether error bars in negative y direction are painted by this trace.

Returns true if

Specified by:
showsNegativeYErrorBars in interface ITrace2D
Returns:
true if this trace renders error bars in negative y direction.
See Also:
ITrace2D.showsNegativeYErrorBars()

showsPositiveXErrorBars

public boolean showsPositiveXErrorBars()
Description copied from interface: ITrace2D
Tests whether error bars in positive x direction are painted by this trace.

Returns true if

Specified by:
showsPositiveXErrorBars in interface ITrace2D
Returns:
true if this trace renders error bars in positive x direction.
See Also:
ITrace2D.showsPositiveXErrorBars()

showsPositiveYErrorBars

public boolean showsPositiveYErrorBars()
Description copied from interface: ITrace2D
Tests whether error bars in positive y direction are painted by this trace.

Returns true if

Specified by:
showsPositiveYErrorBars in interface ITrace2D
Returns:
true if this trace renders error bars in positive y direction.
See Also:
ITrace2D.showsPositiveYErrorBars()

toString

public String toString()

Returns getName().

Overrides:
toString in class Object
Returns:
getName().


Copyright © 2001 - 2007 LGPL, All Rights Footloose.