1 39 40 package org.krysalis.jcharts.properties; 41 42 43 import org.krysalis.jcharts.test.HTMLTestable; 44 import org.krysalis.jcharts.chartData.interfaces.IAxisPlotDataSet; 45 import org.krysalis.jcharts.axisChart.customRenderers.axisValue.*; 46 47 48 import java.util.ArrayList ; 49 50 51 56 public abstract class AxisChartTypeProperties extends ChartTypeProperties implements HTMLTestable { 57 private ArrayList preRenderEventListeners; 58 private ArrayList postRenderEventListeners; 59 60 61 public abstract void validate( IAxisPlotDataSet iAxisPlotDataSet ) throws PropertyException; 62 63 64 70 public void addPreRenderEventListener( PreAxisValueRenderListener preRenderListener ) { 71 if( this.preRenderEventListeners == null ) { 72 this.preRenderEventListeners = new ArrayList (); 73 } 74 75 this.preRenderEventListeners.add( preRenderListener ); 76 } 77 78 79 83 public void firePreRender( AxisValueRenderEvent axisValueRenderEvent ) { 84 if( this.preRenderEventListeners != null ) { 85 PreAxisValueRenderListener preRenderListener; 86 for( int i = 0; i < this.preRenderEventListeners.size(); i++ ) { 87 preRenderListener = (PreAxisValueRenderListener) this.preRenderEventListeners.get( i ); 88 preRenderListener.preRender( axisValueRenderEvent ); 89 } 90 } 91 } 92 93 94 100 public void addPostRenderEventListener( PostAxisValueRenderListener postRenderListener ) { 101 if( this.postRenderEventListeners == null ) { 102 this.postRenderEventListeners = new ArrayList (); 103 } 104 105 this.postRenderEventListeners.add( postRenderListener ); 106 } 107 108 109 113 public void firePostRender( AxisValueRenderEvent axisValueRenderEvent ) { 114 if( this.postRenderEventListeners != null ) { 115 PostAxisValueRenderListener postRenderListener; 116 for( int i = 0; i < this.postRenderEventListeners.size(); i++ ) { 117 postRenderListener = (PostAxisValueRenderListener) this.postRenderEventListeners.get( i ); 118 postRenderListener.postRender( axisValueRenderEvent ); 119 } 120 } 121 } 122 123 } 124 | Popular Tags |