Package org.jfree.data.flow
Class DefaultFlowDataset<K extends Comparable<K>>
java.lang.Object
org.jfree.data.general.AbstractDataset
org.jfree.data.flow.DefaultFlowDataset<K>
- Type Parameters:
K
- the type for the keys used to identify sources and destinations (instances should be immutable,String
is a good default choice).
- All Implemented Interfaces:
ObjectInputValidation
,Serializable
,Cloneable
,PublicCloneable
,FlowDataset<K>
,Dataset
public class DefaultFlowDataset<K extends Comparable<K>>
extends AbstractDataset
implements FlowDataset<K>, PublicCloneable, Serializable
A dataset representing flows between source and destination nodes.
- Since:
- 1.5.3
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a clone of the dataset.boolean
Tests this dataset for equality with an arbitrary object.Returns a set of keys for all the flows in the dataset.Returns the set of keys for all the nodes in the dataset.getDestinations
(int stage) Returns a list of the destination nodes for the specified stage.Returns the flow between a source node and a destination node at a specified stage.getFlowProperty
(FlowKey<K> flowKey, String propertyKey) Returns the value of a property, if specified, for the specified flow.getInFlows
(NodeKey nodeKey) Returns a list of flow keys for all the flows coming into this node.getNodeProperty
(NodeKey<K> nodeKey, String propertyKey) Returns the value of a property, if specified, for the specified node.getOutFlows
(NodeKey nodeKey) Returns a list of flow keys for all the flows going out of this node.getSources
(int stage) Returns a list of the source nodes for the specified stage.int
Returns the number of flow stages.int
hashCode()
void
Sets the flow between a source node and a destination node at the specified stage.void
setFlowProperty
(FlowKey<K> flowKey, String propertyKey, Object value) Sets a property for the specified flow and notifies registered listeners that the dataset has changed.void
setNodeProperty
(NodeKey<K> nodeKey, String propertyKey, Object value) Sets a property for the specified node and notifies registered listeners that the dataset has changed.Methods inherited from class org.jfree.data.general.AbstractDataset
addChangeListener, canEqual, fireDatasetChanged, getGroup, getNotify, hasListener, notifyListeners, removeChangeListener, setGroup, setNotify, validateObject
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jfree.data.general.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
-
Constructor Details
-
DefaultFlowDataset
public DefaultFlowDataset()Creates a new dataset that is initially empty.
-
-
Method Details
-
getSources
Returns a list of the source nodes for the specified stage.- Specified by:
getSources
in interfaceFlowDataset<K extends Comparable<K>>
- Parameters:
stage
- the stage (0 togetStageCount() - 1
).- Returns:
- A list of source nodes (possibly empty but never
null
).
-
getDestinations
Returns a list of the destination nodes for the specified stage.- Specified by:
getDestinations
in interfaceFlowDataset<K extends Comparable<K>>
- Parameters:
stage
- the stage (0 togetStageCount() - 1
).- Returns:
- A list of destination nodes (possibly empty but never
null
).
-
getAllNodes
Returns the set of keys for all the nodes in the dataset.- Specified by:
getAllNodes
in interfaceFlowDataset<K extends Comparable<K>>
- Returns:
- The set of keys for all the nodes in the dataset (possibly empty
but never
null
).
-
getNodeProperty
Returns the value of a property, if specified, for the specified node.- Specified by:
getNodeProperty
in interfaceFlowDataset<K extends Comparable<K>>
- Parameters:
nodeKey
- the node key (null
not permitted).propertyKey
- the node key (null
not permitted).- Returns:
- The property value, or
null
.
-
setNodeProperty
Sets a property for the specified node and notifies registered listeners that the dataset has changed.- Parameters:
nodeKey
- the node key (null
not permitted).propertyKey
- the property key (null
not permitted).value
- the property value.
-
getFlow
Returns the flow between a source node and a destination node at a specified stage. This must be 0 or greater. The dataset can returnnull
to represent an unknown value.- Specified by:
getFlow
in interfaceFlowDataset<K extends Comparable<K>>
- Parameters:
stage
- the stage index (0 togetStageCount()
- 1).source
- the source (null
not permitted).destination
- the destination (null
not permitted).- Returns:
- The flow (zero or greater, possibly
null
).
-
setFlow
Sets the flow between a source node and a destination node at the specified stage. A new stage will be added ifstage
is equal togetStageCount()
.- Parameters:
stage
- the stage (0 togetStageCount()
.source
- the source (null
not permitted).destination
- the destination (null
not permitted).flow
- the flow (0 or greater).
-
getFlowProperty
Returns the value of a property, if specified, for the specified flow.- Specified by:
getFlowProperty
in interfaceFlowDataset<K extends Comparable<K>>
- Parameters:
flowKey
- flowKey (null
not permitted).propertyKey
- the property key (null
not permitted).- Returns:
- The property value, or
null
.
-
setFlowProperty
Sets a property for the specified flow and notifies registered listeners that the dataset has changed.- Parameters:
flowKey
- the node key (null
not permitted).propertyKey
- the property key (null
not permitted).value
- the property value.
-
getStageCount
Returns the number of flow stages. A flow dataset always has one or more stages, so this method will return1
even for an empty dataset (one with no sources, destinations or flows defined).- Specified by:
getStageCount
in interfaceFlowDataset<K extends Comparable<K>>
- Returns:
- The number of flow stages.
-
getAllFlows
Returns a set of keys for all the flows in the dataset.- Specified by:
getAllFlows
in interfaceFlowDataset<K extends Comparable<K>>
- Returns:
- A set.
-
getInFlows
Returns a list of flow keys for all the flows coming into this node.- Parameters:
nodeKey
- the node key (null
not permitted).- Returns:
- A list of flow keys (possibly empty but never
null
).
-
getOutFlows
Returns a list of flow keys for all the flows going out of this node.- Parameters:
nodeKey
- the node key (null
not permitted).- Returns:
- A list of flow keys (possibly empty but never
null
).
-
clone
Returns a clone of the dataset.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classAbstractDataset
- Returns:
- A clone of the dataset.
- Throws:
CloneNotSupportedException
- if there is a problem with cloning.
-
equals
Tests this dataset for equality with an arbitrary object. This method will returntrue
if the object implements theFlowDataset
and defines the exact same set of nodes and flows as this dataset.- Overrides:
equals
in classAbstractDataset
- Parameters:
obj
- the object to test equality against (null
permitted).- Returns:
- A boolean.
-
hashCode
- Overrides:
hashCode
in classAbstractDataset
-