|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectdata.DataSheet
public class DataSheet
A representation of the data imported from a text file.
Everytime the user imports data from a text file the data is stored in
a DataSheet. The data sheet is kind of wrapper class for the collection
of all rows in the text file. Each row represents one Design
.
In addition to storing the Designs and providing the possibility to display
them in a JTable by implementing TableModel, the DataSheet class also
keeps track of the Parameters in the data set. Each column represents one
Parameter
.
The third main function of this class is to actually read the data from a text file. While doing this, the DataSheet also collects some additional information, such as
Finally, the DataSheet also keeps track of all Cluster
s. However, it does not
store the information to which Cluster each Design belongs. This information is stored in
the Designs themselves. It is important to understand this because it means that whenever
updateData(String, boolean)
is called this information is lost.
Field Summary | |
---|---|
private ClusterSet |
clusterSet
The cluster set. |
private java.util.Vector<Design> |
data
The Vector containing all Designs. |
private java.lang.String |
delimiter
The delimiter used for the data import. |
private java.util.Vector<javax.swing.event.TableModelListener> |
listeners
Table Model Listeners to enable updating the GUI. |
private java.util.Vector<Parameter> |
parameters
The parameters. |
(package private) static boolean |
printLog
Flag to enable debug message printing for this class. |
(package private) static long |
serialVersionUID
The version tracking unique identifier for Serialization. |
private UserPreferences |
userPreferences
The user preferences. |
Constructor Summary | |
---|---|
DataSheet(java.lang.String pathToInputFile,
UserPreferences userPreferences,
boolean dataHasHeaders)
Instantiates a new data sheet and fills it with data from a given file. |
Method Summary | |
---|---|
void |
addDesign(Design design)
Adds a Design to the DataSheet. |
void |
addTableModelListener(javax.swing.event.TableModelListener l)
|
private void |
checkParameters()
Scans the whole DataSheet to determine the parameter types (numeric/discrete). |
void |
evaluateBoundsForAllDesigns(Chart chart)
Evaluate each Design to check whether it is within all axis bounds. |
void |
fireTableChanged()
Fire table changed. |
ClusterSet |
getClusterSet()
Gets the cluster set. |
java.lang.Class<?> |
getColumnClass(int arg0)
|
int |
getColumnCount()
|
java.lang.String |
getColumnName(int columnIndex)
|
Design |
getDesign(int i)
Gets the Design with index i. |
int |
getDesignCount()
Gets the design count. |
double |
getMaxValueOf(Parameter param)
Gets the maximum value of a given Parameter in the DataSheet. |
double |
getMinValueOf(Parameter param)
Gets the minimum value of a given Parameter. |
Parameter |
getParameter(int index)
Gets the Parameter with the index index. |
Parameter |
getParameter(java.lang.String parameterName)
Gets the Parameter with the name parameterName. |
int |
getParameterCount()
Gets the Pparameter count. |
java.lang.String |
getParameterName(int index)
Gets the Parameter name of the Parameter with index index. |
int |
getRowCount()
|
private java.lang.String |
getUniqueParameterName(java.lang.String nameSuggestion)
Checks whether a given String is a unique parameter name using isNameUnique(String) . |
UserPreferences |
getUserPreferences()
Gets the user preferences. |
java.lang.Object |
getValueAt(int rowIndex,
int columnIndex)
|
private void |
importData(java.lang.String pathToInputFile,
boolean dataHasHeaders)
Fills the DataSheet with data from a given file and assigns Parameter names. |
boolean |
isCellEditable(int rowIndex,
int columnIndex)
|
private boolean |
isNameUnique(java.lang.String name)
Checks if a give String is a unique Parameter name. |
private void |
log(java.lang.String message)
Prints debug information to stdout when printLog is set to true. |
void |
removeDesign(Design design)
Removes a Design from the DataSheets. |
void |
removeTableModelListener(javax.swing.event.TableModelListener l)
|
void |
setClusterSet(ClusterSet clusterSet)
Sets the cluster set. |
void |
setValueAt(java.lang.Object arg0,
int rowIndex,
int columnIndex)
|
void |
updateData(java.lang.String pathToInputFile,
boolean dataHasHeaders)
Updates the DataSheet with Data from a given file and assigns Parameter names. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
static final long serialVersionUID
static final boolean printLog
private UserPreferences userPreferences
private ClusterSet clusterSet
private java.util.Vector<Design> data
private java.util.Vector<Parameter> parameters
private transient java.util.Vector<javax.swing.event.TableModelListener> listeners
private java.lang.String delimiter
Constructor Detail |
---|
public DataSheet(java.lang.String pathToInputFile, UserPreferences userPreferences, boolean dataHasHeaders) throws java.io.IOException
Uses importData(String, boolean)
for the step of reading the data.
pathToInputFile
- the path to the input fileuserPreferences
- the user preferencesdataHasHeaders
- specifies whether the data has headers to read the Parameter names from.
java.io.IOException
- Signals that an I/O exception has occurred.Method Detail |
---|
private void checkParameters()
Parameter
private void importData(java.lang.String pathToInputFile, boolean dataHasHeaders) throws java.io.IOException
Note that floating point values must be formatted in american format. (#.##) instead of (#,##)
If dataHasHeaders is true, the Parameter names are read from the first line. Otherwise the parameter names are created automatically.
pathToInputFile
- the path to the input filedataHasHeaders
- specifies whether the data has headers to read the Parameter names from.
java.io.IOException
- Signals that an I/O exception has occurred.public void updateData(java.lang.String pathToInputFile, boolean dataHasHeaders) throws java.io.IOException, InconsistentDataException
If dataHasHeaders is true, the Parameter names are read from the first line. Otherwise the parameter names are created automatically.
The difference of updating vs. importing is that all Charts are kept. This requires the new data to have the same number of parameters as the previous one. Otherwise the InconsistentDataException is thrown.
pathToInputFile
- the path to the input filedataHasHeaders
- specifies whether the data has headers to read the Parameter names from.
java.io.IOException
- Signals that an I/O exception has occurred.
InconsistentDataException
- if the user tries to import data that does not have the same number
of columns as the current DataSheet.public java.lang.Class<?> getColumnClass(int arg0)
getColumnClass
in interface javax.swing.table.TableModel
public int getColumnCount()
getColumnCount
in interface javax.swing.table.TableModel
public int getRowCount()
getRowCount
in interface javax.swing.table.TableModel
public java.lang.String getColumnName(int columnIndex)
getColumnName
in interface javax.swing.table.TableModel
public java.lang.Object getValueAt(int rowIndex, int columnIndex)
getValueAt
in interface javax.swing.table.TableModel
public void setValueAt(java.lang.Object arg0, int rowIndex, int columnIndex)
setValueAt
in interface javax.swing.table.TableModel
public boolean isCellEditable(int rowIndex, int columnIndex)
isCellEditable
in interface javax.swing.table.TableModel
public void addTableModelListener(javax.swing.event.TableModelListener l)
addTableModelListener
in interface javax.swing.table.TableModel
public void removeTableModelListener(javax.swing.event.TableModelListener l)
removeTableModelListener
in interface javax.swing.table.TableModel
public void fireTableChanged()
public Design getDesign(int i)
i
- the index
public void addDesign(Design design)
design
- the Designpublic void removeDesign(Design design)
design
- the Designpublic int getParameterCount()
public java.lang.String getParameterName(int index)
index
- the index
public Parameter getParameter(int index)
index
- the Parameter index
public Parameter getParameter(java.lang.String parameterName)
parameterName
- the Parameter name
public double getMaxValueOf(Parameter param)
param
- the Parameter
public double getMinValueOf(Parameter param)
param
- the parameter
public int getDesignCount()
private java.lang.String getUniqueParameterName(java.lang.String nameSuggestion)
isNameUnique(String)
. Returns a unique
name if the provided string is not unique and the unchanged String otherwise.
nameSuggestion
- the name that should be checked
private boolean isNameUnique(java.lang.String name)
name
- the name to check
private void log(java.lang.String message)
message
- the messagepublic UserPreferences getUserPreferences()
public ClusterSet getClusterSet()
public void setClusterSet(ClusterSet clusterSet)
clusterSet
- the new cluster setpublic void evaluateBoundsForAllDesigns(Chart chart)
chart
- the chartDesign
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |