1 32 33 package it.businesslogic.ireport; 34 35 import it.businesslogic.ireport.crosstab.CrosstabCell; 36 37 38 39 43 public class ReportElementFactory { 44 45 46 public ReportElementFactory () { 47 } 48 49 public static ReportElement create ( int newObjectType, int originX, int originY, int width, int height) { 50 55 ReportElement re = null; 56 57 switch (newObjectType) { 58 case ReportElementType.RECTANGLE_ELEMENT : 59 re = new RectangleReportElement ( originX,originY,width,height); 60 break; 61 case ReportElementType.ROUND_RECTANGLE_ELEMENT: 62 re = new RoundRectangleReportElement ( originX,originY,width,height); 63 break; 64 case ReportElementType.ELLIPSE_ELEMENT: 65 re = new EllipseReportElement ( originX,originY,width,height); 66 break; 67 case ReportElementType.SUBREPORT_ELEMENT: 68 re = new SubReportElement ( originX,originY,width,height); 69 break; 70 case ReportElementType.IMAGE_ELEMENT: 71 re = new ImageReportElement ( originX,originY,width,height); 72 break; 73 case ReportElementType.CHART_ELEMENT: 74 re = new ChartReportElement2 ( originX,originY,width,height); 75 break; 76 case ReportElementType.STATICTEXT_ELEMENT: 77 re = new StaticTextReportElement ( originX,originY,width,height); 78 break; 79 case ReportElementType.LINE_ELEMENT: 80 re = new LineReportElement ( originX,originY, width, height); 81 break; 82 case ReportElementType.TEXTFIELD_ELEMENT: 83 re = new TextFieldReportElement ( originX,originY,width,height); 84 break; 85 case ReportElementType.BARCODE_ELEMENT: 86 re = new BarcodeReportElement (originX, originY, width, height); 87 break; 88 case ReportElementType.FRAME_ELEMENT: 89 re = new FrameReportElement (originX, originY, width, height); 90 break; 91 case ReportElementType.CROSSTAB_ELEMENT: 92 re = new CrosstabReportElement (originX, originY, width, height); 93 CrosstabCell cell = new CrosstabCell(); 94 cell.setWidth(30); 95 cell.setHeight(25); 96 cell.setParent((CrosstabReportElement)re); 97 cell.setType( cell.DETAIL_CELL); 98 ((CrosstabReportElement)re).getCells().add(cell); 99 break; 100 case ReportElementType.BREAK_ELEMENT: 101 re = new BreakReportElement (originX, originY, width, height); 102 break; 103 default: 104 re = new ReportElement ( originX,originY,width,height); 105 } 106 return re; 107 } 108 109 } 110 111 112 113 114 | Popular Tags |