1 22 23 package de.laures.cewolf.taglib; 24 25 import java.util.Arrays ; 26 import java.util.List ; 27 28 import org.jfree.chart.renderer.AbstractRenderer; 29 import org.jfree.chart.renderer.category.AreaRenderer; 30 import org.jfree.chart.renderer.category.BarRenderer; 31 import org.jfree.chart.renderer.category.LineAndShapeRenderer; 32 import org.jfree.chart.renderer.xy.CandlestickRenderer; 33 import org.jfree.chart.renderer.xy.HighLowRenderer; 34 import org.jfree.chart.renderer.xy.StandardXYItemRenderer; 35 import org.jfree.chart.renderer.xy.XYAreaRenderer; 36 import org.jfree.chart.renderer.xy.XYBarRenderer; 37 import org.jfree.chart.renderer.xy.XYStepRenderer; 38 39 46 public class PlotTypes { 47 48 49 public static final String [] typeNames = 50 { 51 "xyarea", 52 "xyline", 53 "xyshapesandlines", 54 "scatter", 55 "xyverticalbar", 56 "step", 57 "candlestick", 58 "highlow", 59 "signal", 60 "verticalbar", 61 "area", 62 "line", 63 "shapesandlines" }; 64 65 69 private static final List typeList = Arrays.asList(typeNames); 70 71 79 public static AbstractRenderer getRenderer(int idx) { 80 switch (idx) { 81 case 0: return new XYAreaRenderer(); 82 case 1: return new StandardXYItemRenderer(); 83 case 2: return new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES); 84 case 3: return new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES); 85 case 4: return new XYBarRenderer(); 86 case 5: return new XYStepRenderer(); 87 case 6: return new CandlestickRenderer(); 88 case 7: return new HighLowRenderer(); 89 case 9: return new BarRenderer(); 91 case 10: return new AreaRenderer(); 92 case 11: return new LineAndShapeRenderer(true,false); 93 case 12: return new LineAndShapeRenderer(true,true); 94 default: 95 throw new RuntimeException ("Invalid renderer index:" + idx); 96 } 97 } 98 99 private PlotTypes() { 100 } 101 102 108 public static int getRendererIndex(String plotType) throws AttributeValidationException { 109 int rendererIndex = PlotTypes.typeList.indexOf(plotType.toLowerCase()); 110 if (rendererIndex < 0) { 111 throw new AttributeValidationException("plot.type", plotType); 112 } 113 return rendererIndex; 114 } 115 116 } 117 | Popular Tags |