1 39 40 package org.krysalis.jcharts.chartData; 41 42 43 import org.krysalis.jcharts.chartData.interfaces.IDataSeries; 44 import org.krysalis.jcharts.properties.PropertyException; 45 import org.krysalis.jcharts.test.HTMLGenerator; 46 import org.krysalis.jcharts.test.HTMLTestable; 47 48 import java.util.Iterator ; 49 50 51 55 public class DataSeries extends AxisDataSeries implements IDataSeries, HTMLTestable 56 { 57 private String [] axisLabels; 58 59 60 68 public DataSeries( String [] axisLabels, String xAxisTitle, String yAxisTitle, String chartTitle ) 69 { 70 super( xAxisTitle, yAxisTitle, chartTitle ); 71 72 this.axisLabels = axisLabels; 73 } 74 75 76 82 public String getAxisLabel( int index ) 83 { 84 return this.axisLabels[ index ]; 85 } 86 87 88 93 public int getNumberOfAxisLabels() 94 { 95 if( this.axisLabels != null ) 96 { 97 return this.axisLabels.length; 98 } 99 else 100 { 101 return 0; 102 } 103 } 104 105 106 111 public void validate() throws ChartDataException, PropertyException 112 { 113 super.validate(); 114 115 if( this.axisLabels != null && this.axisLabels.length != super.getSizeOfEachDataSet() ) 116 { 117 throw new ChartDataException( "The size of the Axis Labels Array does not match the number of data elements to be plotted." ); 118 } 119 } 120 121 122 127 public void toHTML( HTMLGenerator htmlGenerator ) 128 { 129 htmlGenerator.propertiesTableRowStart(); 130 { 131 htmlGenerator.propertiesTableStart( this.getClass().getName() ); 132 htmlGenerator.addTableRow( "xAxisLabels", HTMLGenerator.arrayToString( this.axisLabels ) ); 133 htmlGenerator.addTableRow( "totalNumberOfDataSets", Integer.toString( totalNumberOfDataSets ) ); 134 htmlGenerator.propertiesTableEnd(); 135 } 136 htmlGenerator.propertiesTableRowEnd(); 137 138 139 htmlGenerator.propertiesTableRowStart(); 140 { 141 Iterator iterator = this.getIAxisPlotDataSetIterator(); 143 Object object; 144 while( iterator.hasNext() ) 145 { 146 object = iterator.next(); 147 if( object instanceof HTMLTestable ) 148 { 149 ((HTMLTestable) object).toHTML( htmlGenerator ); 150 } 151 } 152 } 153 htmlGenerator.propertiesTableRowEnd(); 154 } 155 } 156 | Popular Tags |