|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectinfo.monitorenter.gui.chart.traces.Trace2DDebugger
public class Trace2DDebugger
A decorator for any ITrace2D implementation. Useful if your chart looks unexpected and the problem may be related to the data that is added. It prints every point added to the console.
Use it by decorating the ITrace2D you normally use:
// Create a chart: Chart2D chart = new Chart2D(); // Create an ITrace: <b>ITrace2D trace = new Trace2DDebugger(new Trace2DSimple()); // add data... ... // chart.addTrace(trace);
One can use setXRange(Range)
,setYRange(Range)
to let this
instance throw an Exception if bounds for legal data are exceeded.
Field Summary |
---|
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 | |
---|---|
Trace2DDebugger(ITrace2D debug)
Creates an inistance to debug the given trace for valid points added. |
Method Summary | |
---|---|
void |
addComputingTrace(ITrace2D trace)
Adds a trace that "should" compute values from the points added via . |
boolean |
addErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
Adds the given error bar policy to the internal set of error bar policies. |
boolean |
addPoint(double x,
double y)
Adds a tracepoint to the internal data. |
boolean |
addPoint(TracePoint2D p)
Adds the given TracePoint2D to the internal data. |
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. |
boolean |
equals(Object obj)
|
void |
firePointChanged(TracePoint2D changed,
int state)
Method to trigger by ,
or
. |
Color |
getColor()
Because the color is data common to a trace of a Chart2D it is stored here. |
Number |
getComparableProperty()
Returns a Number this instance wants to be compared by. |
Set |
getErrorBarPolicies()
Returns the Set< that will be used to render
error bars for this trace. |
boolean |
getHasErrorBars()
Returns true if this trace has error bars configured. |
String |
getLabel()
Callback method for the Chart2D that returns a String describing
the label of the ITrace2D that will be displayed below the drawing area of the
Chart2D . |
int |
getMaxSize()
Returns the maximum amount of TracePoint2D instances that may be added. |
double |
getMaxX()
Returns the maximum value to be displayed on the x- axis of the Chart2D . |
double |
getMaxY()
Returns the maximum value to be displayed on the y- axis of the Chart2D. |
double |
getMinX()
Returns the minimum value to be displayed on the x- axis of the Chart2D. |
double |
getMinY()
Returns the minimum value to be displayed on the y- axis of the Chart2D. |
String |
getName()
Returns the name of this trace. |
String |
getPhysicalUnits()
Returns the concatenation [x: " . |
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()
|
int |
getSize()
Returns the amount of TracePoint2D instances currently contained. |
Stroke |
getStroke()
Returns the Stroke that is used to render this instance. |
Set |
getTracePainters()
Returns the Set< that will be used to paint this
trace. |
Range |
getXRange()
Returns the range of valid points of the x axis. |
Range |
getYRange()
Returns the range of valid points of the y axis. |
Integer |
getZIndex()
The z-index defines the order in which this instance will be painted. |
int |
hashCode()
|
boolean |
isEmpty()
Returns false if internal instances are contained or true
if not. |
boolean |
isVisible()
Returns true if this instance should be rendered. |
Iterator |
iterator()
Returns an Iterator over the internal
instances. |
void |
propertyChange(PropertyChangeEvent evt)
|
void |
removeAllPoints()
Removes all internal TracePoint2D . |
boolean |
removeComputingTrace(ITrace2D trace)
Remove a trace that "should" compute values from the points added via . |
boolean |
removeErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
Removes the given error bar policy from the internal set of error bar policies. |
boolean |
removePoint(TracePoint2D point)
Removes the given point from this trace. |
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 it's class is contained and if more painters are remaining. |
void |
setColor(Color color)
Set a java.awt.Color for this trace. |
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)
Assingns a specific name to the ITrace2D which will be displayed by the
Chart2D . |
void |
setPhysicalUnits(String xunit,
String yunit)
Assings a specific String representing the physical unit to the
ITrace2D (e.g. |
void |
setRenderer(Chart2D renderer)
This is a callback from Chart2D.addTrace(ITrace2D) and must not be invoked from
elswhere (needed for synchronization). |
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 visibility. |
void |
setXRange(Range range)
Set the valid range for x values. |
void |
setYRange(Range range)
Set the valid range for y values. |
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()
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Trace2DDebugger(ITrace2D debug)
debug
- the trace to debug.Method Detail |
---|
public void addComputingTrace(ITrace2D trace)
ITrace2D
ITrace2D.addPoint(TracePoint2D)
.
The given trace will be informed in case an add operation on this trace succeeds via
.
ITrace2D.addPoint(TracePoint2D)
addComputingTrace
in interface ITrace2D
trace
- the trace that will calculate it's points from the added points of this trace.ITrace2D.addComputingTrace(info.monitorenter.gui.chart.ITrace2D)
public boolean addErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
ITrace2D
It will be the last error bar policy to render (most forward on screen).
addErrorBarPolicy
in interface ITrace2D
errorBarPolicy
- the error bar policy to add for rendering this trace's error bars.
ITrace2D.addErrorBarPolicy(info.monitorenter.gui.chart.IErrorBarPolicy)
public boolean addPoint(double x, double y)
ITrace2D
addPoint
in interface ITrace2D
x
- the x-value of the point to add.y
- the y-value of the point to add.
ITrace2D.addPoint(double, double)
public boolean addPoint(TracePoint2D p)
ITrace2D
TracePoint2D
to the internal data.
Try to pass instances of TracePoint2D
to this instance instead of invoking
to increase performace. Else the given point
has to be copied into such an instance from the other method and delegated to this method.
ITrace2D.addPoint(double, double)
Implementations decide wether the point will be accepted or not. So they have to update the
internal properties minX
, maxX
,maxY
and
minY
and also care about firing property change events for those properties by
method
.
PropertyChangeSupport.firePropertyChange(java.beans.PropertyChangeEvent)
addPoint
in interface ITrace2D
p
- the point to add.
ITrace2D.addPoint(TracePoint2D)
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
ITrace2D
propertyName
.
addPropertyChangeListener
in interface ITrace2D
propertyName
- the name of the property the listener is interested inlistener
- a listener that will only be informed if the property identified by the argument
propertyName
changesITrace2D.addPropertyChangeListener(String, PropertyChangeListener)
public boolean addTracePainter(ITracePainter painter)
ITrace2D
It will be the last painter to paint (most forward).
addTracePainter
in interface ITrace2D
painter
- the painter to add for rendering this trace.
ITrace2D.addTracePainter(info.monitorenter.gui.chart.ITracePainter)
public boolean containsTracePainter(ITracePainter painter)
ITrace2D
containsTracePainter
in interface ITrace2D
painter
- the painter to check wether it is contained.
ITrace2D.containsTracePainter(info.monitorenter.gui.chart.ITracePainter)
public boolean equals(Object obj)
equals
in class Object
Object.equals(java.lang.Object)
public void firePointChanged(TracePoint2D changed, int state)
ITrace2D
TracePoint2D.setLocation(double, double)
,
ITrace2D.addPoint(TracePoint2D)
or
ITrace2D.removePoint(TracePoint2D)
.
Bound checks are performed and property change events for the properties
, ITrace2D.PROPERTY_MAX_X
,
ITrace2D.PROPERTY_MIN_X
and ITrace2D.PROPERTY_MAX_Y
are fired if the add bounds have changed due to the modification of the point.
ITrace2D.PROPERTY_MIN_Y
firePointChanged
in interface ITrace2D
changed
- the point that has been changed which may be a newly added point (from
ITrace2D.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.ITrace2D.firePointChanged(info.monitorenter.gui.chart.TracePoint2D,
int)
public Color getColor()
ITrace2D
Chart2D
it is stored here.
On the other hand only the corresponding Chart2D
may detect the same color
chosen for different IChart2D
instances to be displayed. Therefore it is allowed
to return null. This is a message to the Chart2D
to leave it the choice of the
color. Then the Chart2D
will chose a color not owned by another
ITrace2D
instance managed and assign it to the null- returning instance.
The Chart2D
will often call this method. So try to cache the value in
implementation and only check on modifications of TracePoint
instances or on
add
- invocations for changes.
getColor
in interface ITrace2D
Chart2D
.ITrace2D.getColor()
public Number getComparableProperty()
IComparableProperty
Number
this instance wants to be compared by.
getComparableProperty
in interface IComparableProperty
Number
this instance wants to be compared by.IComparableProperty.getComparableProperty()
public Set getErrorBarPolicies()
ITrace2D
Set<IErrorBarPolicy
>
that will be used to render
error bars for this trace.
getErrorBarPolicies
in interface ITrace2D
Set<IErrorBarPolicy
>
that will be used to render
error bars for this trace.ITrace2D.getErrorBarPolicies()
public boolean getHasErrorBars()
ITrace2D
If this returns false, no error bars will be painted for this trace.
getHasErrorBars
in interface ITrace2D
ITrace2D.getHasErrorBars()
public String getLabel()
ITrace2D
Chart2D
that returns a String
describing
the label of the ITrace2D
that will be displayed below the drawing area of the
Chart2D
.
This method should be implemented and finalized ASAP in the inheritance tree and rely on the
property name
and physicalUnits
.
getLabel
in interface ITrace2D
ITrace2D.getLabel()
public int getMaxSize()
ITrace2D
Returns the maximum amount of TracePoint2D
instances that may be added. For
implementations that limit the maximum amount this is a reasonable amount. Non-limiting
implementations should return Integer.MAX_VALUE
. This allows to detect the
unlimitedness. Of course no implementation could store that amount of points.
getMaxSize
in interface ITrace2D
TracePoint2D
instances that may be added.ITrace2D.getMaxSize()
public double getMaxX()
ITrace2D
Chart2D
.
Implementations should be synchronized for multithreaded use. No exception is thrown. In case
of empty data (no tracepoints) 0 should be returned, to let the Chart2D know.
The Chart2D
will often call this method. So try to cache the value in
implementation and only check on modifications of TracePoint
instances or on
add
- invocations for changes.
getMaxX
in interface ITrace2D
ITrace2D.getMaxX()
public double getMaxY()
ITrace2D
getMaxY
in interface ITrace2D
ITrace2D.getMaxY()
public double getMinX()
ITrace2D
Implementations should be synchronized for multithreaded use. No exception is thrown. In case of empty data (no tracepoints) 0 should be returned. (watch division with zero).
The Chart2D
will often call this method. So try to cache the value in
implementation and only check on modifications of TracePoint
instances or on
add
- invocations for changes.
getMinX
in interface ITrace2D
ITrace2D.getMinX()
public double getMinY()
ITrace2D
Implementations should be synchronized for multithreaded use. No exception is thrown. In case of empty data (no tracepoints) 0 should be returned. (watch division with zero).
The Chart2D
will often call this method. So try to cache the value in
implementation and only check on modifications of TracePoint
instances or on
add
- invocations for changes.
getMinY
in interface ITrace2D
ITrace2D.getMinY()
public String getName()
ITrace2D
getName
in interface ITrace2D
ITrace2D.getName()
public String getPhysicalUnits()
ITrace2D
[x: "ITrace2D.getPhysicalUnitsX()
", y: "ITrace2D.getPhysicalUnitsY()
"]
.
getPhysicalUnits
in interface ITrace2D
[x: "ITrace2D.getPhysicalUnitsX()
", y: "ITrace2D.getPhysicalUnitsY()
"]
.ITrace2D.getPhysicalUnits()
public String getPhysicalUnitsX()
ITrace2D
getPhysicalUnitsX
in interface ITrace2D
ITrace2D.getPhysicalUnitsX()
public String getPhysicalUnitsY()
ITrace2D
getPhysicalUnitsY
in interface ITrace2D
ITrace2D.getPhysicalUnitsY()
public PropertyChangeListener[] getPropertyChangeListeners(String property)
ITrace2D
getPropertyChangeListeners
in interface ITrace2D
property
- one of the constants with the PROPERTY_
prefix defined in this class
or subclasses.
ITrace2D.getPropertyChangeListeners(java.lang.String)
public Chart2D getRenderer()
getRenderer
in interface ITrace2D
ITrace2D.getRenderer()
public int getSize()
ITrace2D
TracePoint2D
instances currently contained.
getSize
in interface ITrace2D
TracePoint2D
instances currently contained.ITrace2D.getSize()
public Stroke getStroke()
ITrace2D
getStroke
in interface ITrace2D
ITrace2D.getStroke()
public final Set getTracePainters()
ITrace2D
Set<ITracePainter
>
that will be used to paint this
trace.
getTracePainters
in interface ITrace2D
Set<ITracePainter
>
that will be used to paint this
trace.ITrace2D.getTracePainters()
public Range getXRange()
public Range getYRange()
public Integer getZIndex()
ITrace2D
A lower value will bring it more "to the front".
getZIndex
in interface ITrace2D
ITrace2D.getZIndex()
public int hashCode()
hashCode
in class Object
Object.hashCode()
public boolean isEmpty()
ITrace2D
TracePoint2D
instances are contained or true
if not.
isEmpty
in interface ITrace2D
TracePoint2D
instances are
contained or true if not.ITrace2D.isEmpty()
public boolean isVisible()
ITrace2D
isVisible
in interface ITrace2D
ITrace2D.isVisible()
public Iterator iterator()
ITrace2D
Iterator
over the internal TracePoint2D
instances.
Implementations should be synchronized. This method is meant to allow modifications of the
intenal TracePoint2D
instances, so the original points should be returned.
There is no guarantee that changes made to the contained tracepoints will be reflected in the
display immediately. The order the iterator returns the TracePoint2D
instances
decides how the Chart2D
will paint the trace.
iterator
in interface ITrace2D
Iterator
over the internal TracePoint2D
instances.ITrace2D.iterator()
public void propertyChange(PropertyChangeEvent evt)
propertyChange
in interface PropertyChangeListener
PropertyChangeListener.propertyChange(java.beans.PropertyChangeEvent)
public void removeAllPoints()
ITrace2D
TracePoint2D
.ITrace2D.isEmpty()
will return true
afterwards.
removeAllPoints
in interface ITrace2D
ITrace2D.removeAllPoints()
public boolean removeComputingTrace(ITrace2D trace)
ITrace2D
ITrace2D.addPoint(TracePoint2D)
.
removeComputingTrace
in interface ITrace2D
trace
- the trace that will calculate it's points from the added points of this trace.
Object.equals(Object)
).ITrace2D.removeComputingTrace(info.monitorenter.gui.chart.ITrace2D)
public boolean removeErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
ITrace2D
removeErrorBarPolicy
in interface ITrace2D
errorBarPolicy
- the error bar policy to remove.
ITrace2D.removeErrorBarPolicy(info.monitorenter.gui.chart.IErrorBarPolicy)
public boolean removePoint(TracePoint2D point)
ITrace2D
removePoint
in interface ITrace2D
point
- the point to remove.
ITrace2D.removePoint(info.monitorenter.gui.chart.TracePoint2D)
public void removePropertyChangeListener(PropertyChangeListener listener)
ITrace2D
removePropertyChangeListener
in interface ITrace2D
listener
- a listener that will only be informed if the property identified by the argument
propertyName
changesITrace2D.removePropertyChangeListener(java.beans.PropertyChangeListener)
public void removePropertyChangeListener(String property, PropertyChangeListener listener)
ITrace2D
removePropertyChangeListener
in interface ITrace2D
property
- one of the constants with teh PROPERTY_
prefix defined in this class
or subclasses.listener
- the listener for this property change.ITrace2D.removePropertyChangeListener(java.lang.String,
java.beans.PropertyChangeListener)
public boolean removeTracePainter(ITracePainter painter)
ITrace2D
removeTracePainter
in interface ITrace2D
painter
- the trace painter to remove.
ITrace2D.removeTracePainter(info.monitorenter.gui.chart.ITracePainter)
public void setColor(Color color)
ITrace2D
java.awt.Color
for this trace.
setColor
in interface ITrace2D
color
- the Color to set.ITrace2D.setColor(java.awt.Color)
public void setComparableProperty(Number n)
IComparableProperty
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!
setComparableProperty
in interface IComparableProperty
n
- the comparable number.IComparableProperty.setComparableProperty(java.lang.Number)
public Set setErrorBarPolicy(IErrorBarPolicy errorBarPolicy)
ITrace2D
setErrorBarPolicy
in interface ITrace2D
errorBarPolicy
- the new sole painter to use.
Set<IErrorBarPolicy
>
that was used before.ITrace2D.setErrorBarPolicy(info.monitorenter.gui.chart.IErrorBarPolicy)
public void setName(String name)
ITrace2D
ITrace2D
which will be displayed by the
Chart2D
.
setName
in interface ITrace2D
name
- the name for this trace.ITrace2D.setName(java.lang.String)
public void setPhysicalUnits(String xunit, String yunit)
ITrace2D
ITrace2D
(e.g.
Volt, Ohm, lux, ...) which will be displayed by the Chart2D
setPhysicalUnits
in interface ITrace2D
xunit
- the physical unit for the x axis.yunit
- the physical unit for the y axis.ITrace2D.setPhysicalUnits(java.lang.String,
java.lang.String)
public void setRenderer(Chart2D renderer)
ITrace2D
Chart2D.addTrace(ITrace2D)
and must not be invoked from
elswhere (needed for synchronization).
Not the best design to put this to an interface, but Char2D should handle this interface only.
setRenderer
in interface ITrace2D
renderer
- The renderer to set.ITrace2D.setRenderer(info.monitorenter.gui.chart.Chart2D)
public void setStroke(Stroke stroke)
ITrace2D
Graphics2D
by the rendering Chart2D
when painting this instance.
setStroke
in interface ITrace2D
stroke
- the stroke to use for painting this trace.ITrace2D.setStroke(java.awt.Stroke)
public final Set setTracePainter(ITracePainter painter)
ITrace2D
setTracePainter
in interface ITrace2D
painter
- the new sole painter to use.
Set<ITracePainter
>
that was used before.ITrace2D.setTracePainter(info.monitorenter.gui.chart.ITracePainter)
public void setVisible(boolean visible)
ITrace2D
setVisible
in interface ITrace2D
visible
- true if this trace should be painted, false else.ITrace2D.setVisible(boolean)
public void setXRange(Range range)
IllegalArgumentException
will be thrown.
range
- The xRange to set.public void setYRange(Range range)
IllegalArgumentException
will be thrown.
range
- The yRange to set.public void setZIndex(Integer zIndex)
ITrace2D
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.
setZIndex
in interface ITrace2D
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.ITrace2D.setZIndex(java.lang.Integer)
public boolean showsErrorBars()
ITrace2D
Returns true if
IErrorBarPolicy
instances. IErrorBarPainter
instance.
showsErrorBars
in interface ITrace2D
ITrace2D.showsErrorBars()
public boolean showsNegativeXErrorBars()
ITrace2D
Returns true if
IErrorBarPolicy
instance that
IErrorBarPolicy.isShowNegativeXErrors()
. IErrorBarPainter
instance.
showsNegativeXErrorBars
in interface ITrace2D
ITrace2D.showsNegativeXErrorBars()
public boolean showsNegativeYErrorBars()
ITrace2D
Returns true if
IErrorBarPolicy
instance that
IErrorBarPolicy.isShowNegativeYErrors()
. IErrorBarPainter
instance.
showsNegativeYErrorBars
in interface ITrace2D
ITrace2D.showsNegativeYErrorBars()
public boolean showsPositiveXErrorBars()
ITrace2D
Returns true if
IErrorBarPolicy
instance that
IErrorBarPolicy.isShowPositiveXErrors()
. IErrorBarPainter
instance.
showsPositiveXErrorBars
in interface ITrace2D
ITrace2D.showsPositiveXErrorBars()
public boolean showsPositiveYErrorBars()
ITrace2D
Returns true if
IErrorBarPolicy
instance that
IErrorBarPolicy.isShowPositiveYErrors()
. IErrorBarPainter
instance.
showsPositiveYErrorBars
in interface ITrace2D
ITrace2D.showsPositiveYErrorBars()
public String toString()
toString
in class Object
Object.toString()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |