Package org.jfree.data.time
Class TimePeriodValues
- java.lang.Object
-
- org.jfree.data.general.Series
-
- org.jfree.data.time.TimePeriodValues
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable
public class TimePeriodValues extends Series implements java.io.Serializable
A structure containing zero, one or manyTimePeriodValueinstances. The time periods can overlap, and are maintained in the order that they are added to the collection.This is similar to the
TimeSeriesclass, except that the time periods can have irregular lengths.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.ListdataThe list of data pairs in the series.protected static java.lang.StringDEFAULT_DOMAIN_DESCRIPTIONDefault value for the domain description.protected static java.lang.StringDEFAULT_RANGE_DESCRIPTIONDefault value for the range description.private java.lang.StringdomainA description of the domain.private intmaxEndIndexIndex of the time period with the maximum end milliseconds.private intmaxMiddleIndexIndex of the time period with the maximum middle milliseconds.private intmaxStartIndexIndex of the time period with the maximum start milliseconds.private intminEndIndexIndex of the time period with the minimum end milliseconds.private intminMiddleIndexIndex of the time period with the minimum middle milliseconds.private intminStartIndexIndex of the time period with the minimum start milliseconds.private java.lang.StringrangeA description of the range.(package private) static longserialVersionUIDFor serialization.
-
Constructor Summary
Constructors Constructor Description TimePeriodValues(java.lang.String name)Creates a new (empty) collection of time period values.TimePeriodValues(java.lang.String name, java.lang.String domain, java.lang.String range)Creates a new time series that contains no data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(TimePeriod period, double value)Adds a new data item to the series and sends aSeriesChangeEventto all registered listeners.voidadd(TimePeriod period, java.lang.Number value)Adds a new data item to the series and sends aSeriesChangeEventto all registered listeners.voidadd(TimePeriodValue item)Adds a data item to the series and sends aSeriesChangeEventto all registered listeners.java.lang.Objectclone()Returns a clone of the collection.TimePeriodValuescreateCopy(int start, int end)Creates a new instance by copying a subset of the data in this collection.voiddelete(int start, int end)Deletes data from start until end index (end inclusive) and sends aSeriesChangeEventto all registered listeners.booleanequals(java.lang.Object obj)Tests the series for equality with another object.TimePeriodValuegetDataItem(int index)Returns one data item for the series.java.lang.StringgetDomainDescription()Returns the domain description.intgetItemCount()Returns the number of items in the series.intgetMaxEndIndex()Returns the index of the time period with the maximum end milliseconds.intgetMaxMiddleIndex()Returns the index of the time period with the maximum middle milliseconds.intgetMaxStartIndex()Returns the index of the time period with the maximum start milliseconds.intgetMinEndIndex()Returns the index of the time period with the minimum end milliseconds.intgetMinMiddleIndex()Returns the index of the time period with the minimum middle milliseconds.intgetMinStartIndex()Returns the index of the time period with the minimum start milliseconds.java.lang.StringgetRangeDescription()Returns the range description.TimePeriodgetTimePeriod(int index)Returns the time period at the specified index.java.lang.NumbergetValue(int index)Returns the value at the specified index.inthashCode()Returns a hash code value for the object.private voidrecalculateBounds()Recalculates the bounds for the collection of items.voidsetDomainDescription(java.lang.String description)Sets the domain description and fires a property change event (with the property nameDomainif the description changes).voidsetRangeDescription(java.lang.String description)Sets the range description and fires a property change event with the nameRange.voidupdate(int index, java.lang.Number value)Updates (changes) the value of a data item and sends aSeriesChangeEventto all registered listeners.private voidupdateBounds(TimePeriod period, int index)Update the index values for the maximum and minimum bounds.-
Methods inherited from class org.jfree.data.general.Series
addChangeListener, addPropertyChangeListener, addVetoableChangeListener, canEqual, firePropertyChange, fireSeriesChanged, fireVetoableChange, getDescription, getKey, getNotify, isEmpty, notifyListeners, removeChangeListener, removePropertyChangeListener, removeVetoableChangeListener, setDescription, setKey, setNotify
-
-
-
-
Field Detail
-
serialVersionUID
static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
DEFAULT_DOMAIN_DESCRIPTION
protected static final java.lang.String DEFAULT_DOMAIN_DESCRIPTION
Default value for the domain description.- See Also:
- Constant Field Values
-
DEFAULT_RANGE_DESCRIPTION
protected static final java.lang.String DEFAULT_RANGE_DESCRIPTION
Default value for the range description.- See Also:
- Constant Field Values
-
domain
private java.lang.String domain
A description of the domain.
-
range
private java.lang.String range
A description of the range.
-
data
private java.util.List data
The list of data pairs in the series.
-
minStartIndex
private int minStartIndex
Index of the time period with the minimum start milliseconds.
-
maxStartIndex
private int maxStartIndex
Index of the time period with the maximum start milliseconds.
-
minMiddleIndex
private int minMiddleIndex
Index of the time period with the minimum middle milliseconds.
-
maxMiddleIndex
private int maxMiddleIndex
Index of the time period with the maximum middle milliseconds.
-
minEndIndex
private int minEndIndex
Index of the time period with the minimum end milliseconds.
-
maxEndIndex
private int maxEndIndex
Index of the time period with the maximum end milliseconds.
-
-
Constructor Detail
-
TimePeriodValues
public TimePeriodValues(java.lang.String name)
Creates a new (empty) collection of time period values.- Parameters:
name- the name of the series (nullnot permitted).
-
TimePeriodValues
public TimePeriodValues(java.lang.String name, java.lang.String domain, java.lang.String range)Creates a new time series that contains no data.Descriptions can be specified for the domain and range. One situation where this is helpful is when generating a chart for the time series - axis labels can be taken from the domain and range description.
- Parameters:
name- the name of the series (nullnot permitted).domain- the domain description.range- the range description.
-
-
Method Detail
-
getDomainDescription
public java.lang.String getDomainDescription()
Returns the domain description.- Returns:
- The domain description (possibly
null). - See Also:
getRangeDescription(),setDomainDescription(String)
-
setDomainDescription
public void setDomainDescription(java.lang.String description)
Sets the domain description and fires a property change event (with the property nameDomainif the description changes).- Parameters:
description- the new description (nullpermitted).- See Also:
getDomainDescription()
-
getRangeDescription
public java.lang.String getRangeDescription()
Returns the range description.- Returns:
- The range description (possibly
null). - See Also:
getDomainDescription(),setRangeDescription(String)
-
setRangeDescription
public void setRangeDescription(java.lang.String description)
Sets the range description and fires a property change event with the nameRange.- Parameters:
description- the new description (nullpermitted).- See Also:
getRangeDescription()
-
getItemCount
public int getItemCount()
Returns the number of items in the series.- Specified by:
getItemCountin classSeries- Returns:
- The item count.
-
getDataItem
public TimePeriodValue getDataItem(int index)
Returns one data item for the series.- Parameters:
index- the item index (in the range0togetItemCount() -1).- Returns:
- One data item for the series.
-
getTimePeriod
public TimePeriod getTimePeriod(int index)
Returns the time period at the specified index.- Parameters:
index- the item index (in the range0togetItemCount() -1).- Returns:
- The time period at the specified index.
- See Also:
getDataItem(int)
-
getValue
public java.lang.Number getValue(int index)
Returns the value at the specified index.- Parameters:
index- the item index (in the range0togetItemCount() -1).- Returns:
- The value at the specified index (possibly
null). - See Also:
getDataItem(int)
-
add
public void add(TimePeriodValue item)
Adds a data item to the series and sends aSeriesChangeEventto all registered listeners.- Parameters:
item- the item (nullnot permitted).
-
updateBounds
private void updateBounds(TimePeriod period, int index)
Update the index values for the maximum and minimum bounds.- Parameters:
period- the time period.index- the index of the time period.
-
recalculateBounds
private void recalculateBounds()
Recalculates the bounds for the collection of items.
-
add
public void add(TimePeriod period, double value)
Adds a new data item to the series and sends aSeriesChangeEventto all registered listeners.- Parameters:
period- the time period (nullnot permitted).value- the value.- See Also:
add(TimePeriod, Number)
-
add
public void add(TimePeriod period, java.lang.Number value)
Adds a new data item to the series and sends aSeriesChangeEventto all registered listeners.- Parameters:
period- the time period (nullnot permitted).value- the value (nullpermitted).
-
update
public void update(int index, java.lang.Number value)Updates (changes) the value of a data item and sends aSeriesChangeEventto all registered listeners.- Parameters:
index- the index of the data item to update.value- the new value (nullnot permitted).
-
delete
public void delete(int start, int end)Deletes data from start until end index (end inclusive) and sends aSeriesChangeEventto all registered listeners.- Parameters:
start- the index of the first period to delete.end- the index of the last period to delete.
-
equals
public boolean equals(java.lang.Object obj)
Tests the series for equality with another object.
-
hashCode
public int hashCode()
Returns a hash code value for the object.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedExceptionReturns a clone of the collection.Notes:
- no need to clone the domain and range descriptions, since String object is immutable;
- we pass over to the more general method createCopy(start, end).
-
createCopy
public TimePeriodValues createCopy(int start, int end) throws java.lang.CloneNotSupportedException
Creates a new instance by copying a subset of the data in this collection.- Parameters:
start- the index of the first item to copy.end- the index of the last item to copy.- Returns:
- A copy of a subset of the items.
- Throws:
java.lang.CloneNotSupportedException- if there is a cloning problem.
-
getMinStartIndex
public int getMinStartIndex()
Returns the index of the time period with the minimum start milliseconds.- Returns:
- The index.
-
getMaxStartIndex
public int getMaxStartIndex()
Returns the index of the time period with the maximum start milliseconds.- Returns:
- The index.
-
getMinMiddleIndex
public int getMinMiddleIndex()
Returns the index of the time period with the minimum middle milliseconds.- Returns:
- The index.
-
getMaxMiddleIndex
public int getMaxMiddleIndex()
Returns the index of the time period with the maximum middle milliseconds.- Returns:
- The index.
-
getMinEndIndex
public int getMinEndIndex()
Returns the index of the time period with the minimum end milliseconds.- Returns:
- The index.
-
getMaxEndIndex
public int getMaxEndIndex()
Returns the index of the time period with the maximum end milliseconds.- Returns:
- The index.
-
-