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 manyTimePeriodValue
instances. The time periods can overlap, and are maintained in the order that they are added to the collection.This is similar to the
TimeSeries
class, except that the time periods can have irregular lengths.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List
data
The list of data pairs in the series.protected static java.lang.String
DEFAULT_DOMAIN_DESCRIPTION
Default value for the domain description.protected static java.lang.String
DEFAULT_RANGE_DESCRIPTION
Default value for the range description.private java.lang.String
domain
A description of the domain.private int
maxEndIndex
Index of the time period with the maximum end milliseconds.private int
maxMiddleIndex
Index of the time period with the maximum middle milliseconds.private int
maxStartIndex
Index of the time period with the maximum start milliseconds.private int
minEndIndex
Index of the time period with the minimum end milliseconds.private int
minMiddleIndex
Index of the time period with the minimum middle milliseconds.private int
minStartIndex
Index of the time period with the minimum start milliseconds.private java.lang.String
range
A description of the range.(package private) static long
serialVersionUID
For 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 void
add(TimePeriod period, double value)
Adds a new data item to the series and sends aSeriesChangeEvent
to all registered listeners.void
add(TimePeriod period, java.lang.Number value)
Adds a new data item to the series and sends aSeriesChangeEvent
to all registered listeners.void
add(TimePeriodValue item)
Adds a data item to the series and sends aSeriesChangeEvent
to all registered listeners.java.lang.Object
clone()
Returns a clone of the collection.TimePeriodValues
createCopy(int start, int end)
Creates a new instance by copying a subset of the data in this collection.void
delete(int start, int end)
Deletes data from start until end index (end inclusive) and sends aSeriesChangeEvent
to all registered listeners.boolean
equals(java.lang.Object obj)
Tests the series for equality with another object.TimePeriodValue
getDataItem(int index)
Returns one data item for the series.java.lang.String
getDomainDescription()
Returns the domain description.int
getItemCount()
Returns the number of items in the series.int
getMaxEndIndex()
Returns the index of the time period with the maximum end milliseconds.int
getMaxMiddleIndex()
Returns the index of the time period with the maximum middle milliseconds.int
getMaxStartIndex()
Returns the index of the time period with the maximum start milliseconds.int
getMinEndIndex()
Returns the index of the time period with the minimum end milliseconds.int
getMinMiddleIndex()
Returns the index of the time period with the minimum middle milliseconds.int
getMinStartIndex()
Returns the index of the time period with the minimum start milliseconds.java.lang.String
getRangeDescription()
Returns the range description.TimePeriod
getTimePeriod(int index)
Returns the time period at the specified index.java.lang.Number
getValue(int index)
Returns the value at the specified index.int
hashCode()
Returns a hash code value for the object.private void
recalculateBounds()
Recalculates the bounds for the collection of items.void
setDomainDescription(java.lang.String description)
Sets the domain description and fires a property change event (with the property nameDomain
if the description changes).void
setRangeDescription(java.lang.String description)
Sets the range description and fires a property change event with the nameRange
.void
update(int index, java.lang.Number value)
Updates (changes) the value of a data item and sends aSeriesChangeEvent
to all registered listeners.private void
updateBounds(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 (null
not 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 (null
not 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 nameDomain
if the description changes).- Parameters:
description
- the new description (null
permitted).- 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 (null
permitted).- See Also:
getRangeDescription()
-
getItemCount
public int getItemCount()
Returns the number of items in the series.- Specified by:
getItemCount
in 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 range0
togetItemCount() -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 range0
togetItemCount() -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 range0
togetItemCount() -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 aSeriesChangeEvent
to all registered listeners.- Parameters:
item
- the item (null
not 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 aSeriesChangeEvent
to all registered listeners.- Parameters:
period
- the time period (null
not 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 aSeriesChangeEvent
to all registered listeners.- Parameters:
period
- the time period (null
not permitted).value
- the value (null
permitted).
-
update
public void update(int index, java.lang.Number value)
Updates (changes) the value of a data item and sends aSeriesChangeEvent
to all registered listeners.- Parameters:
index
- the index of the data item to update.value
- the new value (null
not permitted).
-
delete
public void delete(int start, int end)
Deletes data from start until end index (end inclusive) and sends aSeriesChangeEvent
to 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.CloneNotSupportedException
Returns 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.
-
-