com.sas.graphics.components.linechart
Class LineChartOLAPDataModel

com.sas.graphics.components.linechart.LineChartOLAPDataModel

public class LineChartOLAPDataModel

A LineChartOLAPDataModel assigns an OLAPDataSetInterface to a LineChart. The com.sas.storage.olap.OLAPDataSetInterface encapsulates the OLAP data structure, and the LineChartOLAPDataModel conveys that structure to a graph by automatically mapping the OLAP axis dimensions to appropriate graph elements. The following limitations apply to the mapping:

If the OLAP axis that supplies the category variable has more than one dimension, the LineChartOLAPDataModel's subgroupEnabled property can be used to display a separate plot for each unique value of a classification variable.

Topics:
Basic Requirements
Default Logic Used to Map OLAP Data
Selecting Measures in OLAP Data
LineChart Samples:
Swing-based Samples
Servlet-based Samples

Since:
SAS 9.1
See Also:
LineChart

Constructor Summary
LineChartOLAPDataModel()
          Constructs a LineChartOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a LineChart.
LineChartOLAPDataModel(OLAPDataSetInterface newModel)
          Constructs a LineChartOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a LineChart.
LineChartOLAPDataModel(OLAPDataSetInterface newModel, boolean newSubgroupEnabled)
          Constructs a LineChartOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a LineChart with a flag to indicate whether or not subgrouped lines are desired.
 
Method Summary
 void apply(LineChartOLAPDataModel theOtherModel)
          Utility method to convey properties contained in "theOtherModel" to this object.
 boolean equals(java.lang.Object obj)
          Determines whether another object is equal to this LineChartOLAPDataModel.
 Variable[] getAuxiliaryVariable()
          Returns the array of data columns that was most recently set by the setAuxiliaryVariable() method.
 Variable[] getDataTipVariable()
          Returns the array of data columns that was most recently set by the setDataTipVariable() method.
 OLAPDataSetInterface getModel()
          Set the OLAP data source.
 Variable getResponse2Variable()
          Returns the data measure that was most recently set in the Response2 role by the setResponse2Variable() method.
 Variable getResponseVariable()
          Returns the data measure that was most recently set in the Response role by the setResponseVariable() method.
 javax.swing.ListSelectionModel getSelectionModel()
          Returns the ListSelectionModel that indicates which data values are selected.
 Variable getStyleByVariable()
          Returns the data measure that was most recently set in the StyleBy role by the setStyleByVariable() method.
 int hashCode()
          Computes the hash code for this LineChartOLAPDataModel.
 boolean isSubgroupEnabled()
          Returns whether or not the LineChart should attempt to subgroup its line elements.
 void setAuxiliaryVariable(Variable[] newVariables)
          Specifies an array of Variables that are included among the variables that are passed in the events on the LineChart data elements.
 void setDataTipVariable(Variable[] newVariables)
          Specifies an array of Variables to be displayed in the data tip.
 void setModel(OLAPDataSetInterface newModel)
          Set the OLAP data source.
 void setResponse2Variable(Variable newVariable)
          Sets which measures are to be displayed in the line chart associated with the response2 axis (i.e. the secondary axis; the right axis for a vertical line chart).
 void setResponseVariable(Variable newVariable)
          Sets which measures are to be displayed in the line chart associated with the response axis (i.e. the primary axis; the left axis for a vertical line chart).
 void setSelectionModel(javax.swing.ListSelectionModel newModel)
          Sets the selection model that identifies which cells are selected.
 void setStyleByVariable(Variable newVariable)
          Sets which measure is used to determine the bar's fill color.
 void setSubgroupEnabled(boolean newSubgroupEnabled)
          Sets whether or not the LineChart should attempt to subgroup its line elements.
 
Methods inherited from class com.sas.graphics.components.DataModel
apply, getLocale, getRulesContext, getSortStrategy, setLocale, setRulesContext, setSortStrategy
 
Methods inherited from class com.sas.graphics.components.ModelBase
addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, removePropertyChangeListener, setContainedModel
 

Constructor Detail

LineChartOLAPDataModel

public LineChartOLAPDataModel()
Constructs a LineChartOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a LineChart.


LineChartOLAPDataModel

public LineChartOLAPDataModel(OLAPDataSetInterface newModel)
Constructs a LineChartOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a LineChart.

Parameters:
newModel - the OLAP data

LineChartOLAPDataModel

public LineChartOLAPDataModel(OLAPDataSetInterface newModel,
                              boolean newSubgroupEnabled)
Constructs a LineChartOLAPDataModel that is used to assign OLAP data in the form of a com.sas.storage.olap.OLAPDataSetInterface to a LineChart with a flag to indicate whether or not subgrouped lines are desired.

Parameters:
newModel - the OLAP data
newSubgroupEnabled - a flag, true means try to subgroup the line elements
Method Detail

apply

public void apply(LineChartOLAPDataModel theOtherModel)
Utility method to convey properties contained in "theOtherModel" to this object.

Note: Contained "models" (i.e. properties that are subclasses of ModelBase) will in turn be called on to convey their properties to the like contained models in the other object. In that respect this can be considered a "tree" type copy.

Also Note: This is a deep copy. Thus after the copy, mutable properties will not be shared by the two instances.

Parameters:
theOtherModel - properties applied to this instance

equals

public boolean equals(java.lang.Object obj)
Determines whether another object is equal to this LineChartOLAPDataModel.

The result is true if and only if the argument is not null and is a LineChartOLAPDataModel object that has the same property values as this object.

Overrides:
equals in class DataModel
Parameters:
obj - the object to test for equality with this LineChartOLAPDataModel
Returns:
true if the objects are the same; false otherwise.

hashCode

public int hashCode()
Computes the hash code for this LineChartOLAPDataModel.

Overrides:
hashCode in class DataModel
Returns:
a hash code value for this object.

setModel

public void setModel(OLAPDataSetInterface newModel)
Set the OLAP data source.

Parameters:
newModel - a handle to the data source or null
See Also:
getModel()

getModel

public OLAPDataSetInterface getModel()
Set the OLAP data source.

Returns:
the handle to the data source or null
See Also:
setModel(com.sas.storage.olap.OLAPDataSetInterface)

setSelectionModel

public void setSelectionModel(javax.swing.ListSelectionModel newModel)
Sets the selection model that identifies which cells are selected. The graph will highlight the selected elements as well as enable selection on the graph elements via mouse clicks and brushing. To create a brush, click and drag in the element area. To move the brush (represented as a rectangle) click inside the brush area and drag.

Parameters:
newModel - the selection model identifying selected cells
Throws:
java.lang.IllegalArgumentException - if newModel is null.
See Also:
getSelectionModel()

getSelectionModel

public javax.swing.ListSelectionModel getSelectionModel()
Returns the ListSelectionModel that indicates which data values are selected.

Returns:
the ListSelectionModel containing the indicies of the selected data values.
See Also:
setSelectionModel(javax.swing.ListSelectionModel)

setSubgroupEnabled

public void setSubgroupEnabled(boolean newSubgroupEnabled)
Sets whether or not the LineChart should attempt to subgroup its line elements.

See Also:
isSubgroupEnabled()

isSubgroupEnabled

public boolean isSubgroupEnabled()
Returns whether or not the LineChart should attempt to subgroup its line elements.

See Also:
setSubgroupEnabled(boolean)

setResponseVariable

public void setResponseVariable(Variable newVariable)
Sets which measures are to be displayed in the line chart associated with the response axis (i.e. the primary axis; the left axis for a vertical line chart).
Note: this is an optional property.
If neither the responseVariable nor the response2Variables have been specified (the typical case) then the line chart will display all of the measures defined in the OLAP model associated them with the response axis.

This property should only be used to do one of the following operations: to re-arrange the display order, to prevent some measures from being displayed or to define which measures are to be associated with the response axis when some measures are associated with the response2 axis.

Also Note: the variable's informat property is ignored. Advanced: Use a VariableList to assign multiple measures to this property.
Multiple measures result in multiple bar elements per category.

Parameters:
newVariable - the variable identifying the OLAP measure with associated properties
See Also:
getResponseVariable(), setResponse2Variable(com.sas.graphics.components.Variable)

getResponseVariable

public Variable getResponseVariable()
Returns the data measure that was most recently set in the Response role by the setResponseVariable() method. Returns a null pointer exception if the variable role was automatically assigned by the component.

Returns:
the variable identifying the OLAP measures with associated properties
See Also:
setResponseVariable(com.sas.graphics.components.Variable), getResponse2Variable()

setResponse2Variable

public void setResponse2Variable(Variable newVariable)
Sets which measures are to be displayed in the line chart associated with the response2 axis (i.e. the secondary axis; the right axis for a vertical line chart).
Note: this is an optional property.
If neither the responseVariable nor the response2Variables have been specified (the typical case) then the line chart will display all of the measures defined in the OLAP model associated them with the response axis.

This property should only be used to do one of the following operations: to re-arrange the display order, to prevent some measures from being displayed or to define which measures are to be associated with the response2 axis when some measures are associated with the response axis.

Also Note: the variable's informat property is ignored. Advanced: Use a VariableList to assign multiple measures to this property.
Multiple measures result in multiple bar elements per category.

Parameters:
newVariable - the variable identifying the OLAP measure with associated properties
See Also:
getResponse2Variable(), setResponseVariable(com.sas.graphics.components.Variable)

getResponse2Variable

public Variable getResponse2Variable()
Returns the data measure that was most recently set in the Response2 role by the setResponse2Variable() method. Returns a null pointer exception if the variable role has not been set.

Returns:
the variable identifying the OLAP measures with associated properties
See Also:
setResponseVariable(com.sas.graphics.components.Variable), getResponseVariable()

setStyleByVariable

public void setStyleByVariable(Variable newVariable)
Sets which measure is used to determine the bar's fill color. Note: the bar's fill cannot be based upon a style by variable and a subgroup variable so these properties are mutually exclusive. A Subgroup takes priority over stylebyVariable so to use this property, the subgroupEnabled property should be false.

Parameters:
newVariable - the variable identifying the TableModel data column and associated properties
See Also:
getStyleByVariable()

getStyleByVariable

public Variable getStyleByVariable()
Returns the data measure that was most recently set in the StyleBy role by the setStyleByVariable() method. Returns a null pointer exception if the variable role has not been set. Note: the bar's fill cannot be based upon a style by variable and a subgroup variable so these properties are mutually exclusive.

Returns:
the variable identifying the TableModel data column and associated properties
See Also:
setStyleByVariable(com.sas.graphics.components.Variable)

setAuxiliaryVariable

public void setAuxiliaryVariable(Variable[] newVariables)
Specifies an array of Variables that are included among the variables that are passed in the events on the LineChart data elements. Auxiliary variables are not represented in the chart. By default, they are not displayed in the datatip, although they can be included in the array of variables set by setDataTipVariable().

Parameters:
newVariables - contains Variables for GraphActionEvent return.
Throws:
java.lang.IllegalArgumentException - if a non-null array of zero length is passed in.
See Also:
getAuxiliaryVariable(), setDataTipVariable(com.sas.graphics.components.Variable[])

getAuxiliaryVariable

public Variable[] getAuxiliaryVariable()
Returns the array of data columns that was most recently set by the setAuxiliaryVariable() method. Returns null if the auxiliary variables were not set.

Returns:
variables for Auxiliary values
See Also:
setAuxiliaryVariable(com.sas.graphics.components.Variable[]), setDataTipVariable(com.sas.graphics.components.Variable[])

setDataTipVariable

public void setDataTipVariable(Variable[] newVariables)
Specifies an array of Variables to be displayed in the data tip. By default, the variables specified on setDataTipVariable() are appended to the end of the default data tip display. To replace the default display with the list of variables in the Variable[] array, use the GraphModel to get the DataTipModel , and the call the DataTipModel's setContent() method with the value GraphConstants.DATA_TIP_REPLACE.

The following code fragment specifies two variables for the data tip display and uses them to replace the default data tip display:


 // Create an array of variables to set in the data tip display
 Variable dataTipVars[]=new Variable[2];
 dataTipVars[0]=new Variable("Task");
 dataTipVars[1]=new Variable("Duration");
 lineChart.getGraphModel().getDataTipModel().setContent(
                GraphConstants.DATA_TIP_REPLACE);
 

Parameters:
newVariables - array of Variables to display in data tip
Throws:
java.lang.IllegalArgumentException - if a non-null array of zero length is passed in.
See Also:
getDataTipVariable(), setAuxiliaryVariable(com.sas.graphics.components.Variable[])

getDataTipVariable

public Variable[] getDataTipVariable()
Returns the array of data columns that was most recently set by the setDataTipVariable() method. Returns null if the data tip variables were not set.

Returns:
variables for data tip values
See Also:
setDataTipVariable(com.sas.graphics.components.Variable[])



Copyright © 2009 SAS Institute Inc. All Rights Reserved.