|
|||||||||
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.ATrace2D
info.monitorenter.gui.chart.traces.Trace2DLtd
public class Trace2DLtd
Additional to the Trace2DSimple the Trace2DLimited adds the following functionality:
Field Summary | |
---|---|
protected IRingBuffer |
m_buffer
Internal fast fifo buffer implentation based upon indexed access to an array. |
Fields inherited from class info.monitorenter.gui.chart.traces.ATrace2D |
---|
m_computingTraces, m_maxX, m_maxXErrorBar, m_maxY, m_maxYErrorBar, m_minX, m_minXErrorBar, m_minY, m_minYErrorBar, m_name, m_physicalUnitsX, m_physicalUnitsY, m_propertyChangeSupport, m_renderer |
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 | |
---|---|
Trace2DLtd()
Constructs an instance with a default buffersize of 100. |
|
Trace2DLtd(int maxsize)
Constructs an instance with a buffersize of maxsize and a default name. |
|
Trace2DLtd(int maxsize,
String name)
Constructs an instance with a buffersize of maxsize and a default name. |
|
Trace2DLtd(String name)
Creates an instance with a default buffersize of 100 and the given name. |
Method Summary | |
---|---|
boolean |
addPointInternal(TracePoint2D p)
Override this template method for the custom add operation that depends on the policies of the implementation. |
int |
getMaxSize()
Returns the maximum amount of TracePoint2D instances that may be added. |
int |
getSize()
Returns the acutal amount of points in this trace. |
boolean |
isEmpty()
Returns false if internal instances are contained or true
if not. |
Iterator |
iterator()
Returns an Iterator over the internal
instances. |
static void |
main(String[] args)
Prooves that synchronizing from outside is necessary for multithreaded use. |
void |
removeAllPointsInternal()
Override this template method for the custom remove operation that depends on the Collection used in the implementation. |
protected TracePoint2D |
removePointInternal(TracePoint2D point)
Returns null always because internally a ringbuffer is used which does not allow removing of values because that would break the contract of a ringbuffer. |
void |
setMaxSize(int amount)
Sets the maximum amount of points that may be displayed. |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface info.monitorenter.util.collections.IComparableProperty |
---|
getComparableProperty, setComparableProperty |
Methods inherited from interface java.beans.PropertyChangeListener |
---|
propertyChange |
Field Detail |
---|
protected IRingBuffer m_buffer
Constructor Detail |
---|
public Trace2DLtd()
public Trace2DLtd(int maxsize)
maxsize
- the buffer size for the maximum amount of points that will be
shown.public Trace2DLtd(int maxsize, String name)
maxsize
- the buffer size for the maximum amount of points that will be
shown.name
- the name that will be displayed for this trace.public Trace2DLtd(String name)
name
- the name that will be displayed for the trace.Method Detail |
---|
public static void main(String[] args)
args
- ignoredpublic boolean addPointInternal(TracePoint2D p)
ATrace2D
No property change events have to be fired by default. If this method returns true
the outer logic of the calling method
will
perform bound checks for the new point and fire property changes as described in method
ATrace2D.addPoint(TracePoint2D)
.
ATrace2D.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".
addPointInternal
in class ATrace2D
p
- the point to add.
ATrace2D.addPointInternal(info.monitorenter.gui.chart.TracePoint2D)
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 int getSize()
getSize
in interface ITrace2D
ITrace2D.getSize()
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 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 removeAllPointsInternal()
ATrace2D
Collection
used in the implementation.
No change events have to be fired, this is done by ATrace2D
.
removeAllPointsInternal
in class ATrace2D
ITrace2D.removeAllPoints()
protected TracePoint2D removePointInternal(TracePoint2D point)
removePointInternal
in class ATrace2D
point
- the point to remove.
public final void setMaxSize(int amount)
Don't use this too often as decreases in size may cause expensive array copy operations and new searches on all points for bound changes.
TODO: Only search for bounds if size is smaller than before, debug and test.
amount
- the new maximum amount of points to show.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |