List of usage examples for com.itextpdf.text Paragraph Paragraph
public Paragraph(float leading, String string, Font font)
Paragraph
with a certain leading, String
and Font
. From source file:com.gp.cong.logisoft.reports.DeliveryOrderPdfCreator.java
public PdfPTable tablebodyThree(FclBl bl, FclDoorDelivery fclDoorDelivery, MessageResources messageResources, String realPath) throws Exception { PdfPTable table = new PdfPTable(4); table.setWidths(new float[] { 2f, 1f, 5f, 2f }); table.setWidthPercentage(100);/*from w w w . j a va 2 s . c o m*/ PdfPCell cell = null; Paragraph p = null; cell = new PdfPCell(); p = new Paragraph(8f, "MARKS AND NUMBERS", blackFontForAR); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); p = new Paragraph(8f, "PIECES", blackFontForAR); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); p = new Paragraph(8f, "DESCRIPTION OF PACKAGES AND GOODS", blackFontForAR); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); p = new Paragraph(8f, "GROSS WEIGHT LBS", blackFontForAR); cell.addElement(p); table.addCell(cell); FclBlContainerDAO fclBlContainerDAO = new FclBlContainerDAO(); Set<FclBlContainer> containerSet = bl.getFclcontainer(); for (Iterator iter = containerSet.iterator(); iter.hasNext();) { FclBlContainer fclBlContainer = (FclBlContainer) iter.next(); StringBuilder tempSizeLegened = new StringBuilder(); String sizeLegend = fclBlContainer.getSizeLegend() != null ? (fclBlContainer.getSizeLegend().getCodedesc() != null ? fclBlContainer.getSizeLegend().getCodedesc() : "") : ""; int index = sizeLegend.indexOf("="); if (index != -1) { tempSizeLegened.append("1X"); String tempSize = sizeLegend.substring(index + 1, sizeLegend.length()); if (tempSize.equalsIgnoreCase(messageResources.getMessage("container40HC"))) { tempSize = "40" + "'" + "HC"; } else if (tempSize.equalsIgnoreCase(messageResources.getMessage("container40NOR"))) { tempSize = "40" + "'" + "NOR"; } else { tempSize = tempSize + "'"; } tempSizeLegened.append(tempSize); } else { tempSizeLegened.append(""); } StringBuilder marksNumber = new StringBuilder(); if (null != bl.getPrintContainersOnBL() && bl.getPrintContainersOnBL().equalsIgnoreCase("Yes")) { marksNumber.append(tempSizeLegened); marksNumber.append("\n"); marksNumber.append(fclBlContainer.getTrailerNo() != null ? fclBlContainer.getTrailerNo() : ""); marksNumber.append("\n"); marksNumber.append("SEAL: "); marksNumber.append(" " + fclBlContainer.getSealNo() != null ? fclBlContainer.getSealNo() : ""); } // HelperClass helperClass = new HelperClass(); // // List marksList = helperClass.splitDescrption(helperClass.wrapAddress(fclBlContainer.getMarks()), DESC_SIZE + 1); // if (!marksList.isEmpty()) { // marksNumber.append("\n"); // marksNumber.append(marksList.get(0).toString()); // marksList.remove(0); // } List<FclBlMarks> fclMarksList = fclBlContainerDAO.getPakagesDetails(fclBlContainer.getTrailerNoId()); if (fclMarksList != null && !fclMarksList.isEmpty()) { cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); p = new Paragraph(8f, marksNumber.toString(), blackFont); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); table.addCell(cell); for (FclBlMarks fclBlmarks : fclMarksList) { cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); p = new Paragraph(8f, "" + fclBlmarks.getNoOfPkgs(), blackFont); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); p = new Paragraph(8f, fclBlmarks.getDescPckgs(), blackFont); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthBottom(0f); cell.setBorderWidthTop(0f); p = new Paragraph(8f, "" + fclBlmarks.getNetweightLbs(), blackFont); cell.addElement(p); table.addCell(cell); } } } cell = new PdfPCell(); cell.setBorderWidthTop(0f); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthTop(0f); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthTop(0f); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthTop(0f); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.DeliveryOrderPdfCreator.java
public PdfPTable tablebodyFour(FclBl bl, String billing, String realPath) throws Exception { PdfPTable table = new PdfPTable(5); table.setWidths(new float[] { 3f, 3f, 1f, 2f, 1f }); table.setWidthPercentage(100);/*from w w w. ja va2 s . c o m*/ PdfPCell cell = null; Paragraph p = null; cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthBottom(0f); p = new Paragraph(8f, "PRE-PAID/COLLECT/3rd PARTY", blackFontForAR); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setColspan(2); cell.setBorder(0); p = new Paragraph(8f, "Received in Good Order By:", blackFontForAR); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setFixedHeight(25f); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setBorderWidthTop(0f); p = new Paragraph(8f, billing, blackFont); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setColspan(2); cell.setBorder(0); p = new Paragraph(8f, "", blackFontForAR); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(); cell.setColspan(2); cell.setBorderWidthTop(0f); cell.setBorderWidthLeft(0f); cell.setBorderWidthRight(0f); p = new Paragraph(8f, "Signature:", blackFontForAR); cell.addElement(p); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPTable imageBlock(String realPath, String path) throws IOException, BadElementException, DocumentException { Font fontArialBold = FontFactory.getFont("Courier", 18f, Font.NORMAL); table = new PdfPTable(1); table.setWidths(new float[] { 5.9f }); table.setWidthPercentage(100f);// w ww .j ava2 s. c o m cell = new PdfPCell(); cell.setBorder(0); cell.setPadding(0f); Image img = Image.getInstance(realPath + path); img.scalePercent(90); img.setAlignment(Element.ALIGN_CENTER); cell.addElement(img); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setPadding(0f); p = new Paragraph(12f, " (866) 326-6648", fontArialBold); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setPadding(0f); String companyWebsite = new PropertyDAO().getProperty( companyCode.equalsIgnoreCase("03") ? "application.ECU.website" : "application.OTI.website"); p = new Paragraph(28f, " " + companyWebsite, fontArialBold); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPTable headerPage(String voyageHeading) throws DocumentException { table = new PdfPTable(1); table.setWidths(new float[] { 6.9f }); table.setWidthPercentage(100f);/* w w w .ja v a 2 s.c o m*/ Font fontArialBold = FontFactory.getFont("Courier", 25f, Font.BOLD); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(32f, "" + voyageHeading, fontArialBold); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(1); p = new Paragraph(25f, " ", fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPTable informationBlock(String companyName, String portofDischarge, String finalDestination) throws IOException, BadElementException, DocumentException { table = new PdfPTable(1); table.setWidthPercentage(100f);/*from w w w.j a v a 2s .co m*/ Font fontArialNormal = FontFactory.getFont("Courier", 12f, Font.NORMAL); Font fontArialBold = FontFactory.getFont("Courier", 12f, Font.BOLD); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(5f, "To Name : " + companyName + "- Voyage Notice", fontArialNormal); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(25f, "Company : " + companyName + ", INC", fontArialNormal); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(25f, "Voyage Port of Discharge (POD) : " + portofDischarge, fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(9f, "Shipment Final Destination (FD) : " + finalDestination, fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPCell allocateCell(String values, boolean border) { Font fontArialBold = FontFactory.getFont("Courier", 8f, Font.NORMAL); cell = new PdfPCell(); cell.setBorder(0);/* ww w . j av a2s . c o m*/ p = new Paragraph(9f, values, fontArialBold); p.setAlignment(Element.ALIGN_LEFT); if (border) { cell.setBorderWidthRight(0.6f); } cell.addElement(p); return cell; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPTable changesBlock(LclSsDetail lclSsDetail, LclExportNotiFicationForm lclExportNotiFicationForm) throws IOException, BadElementException, DocumentException, Exception { table = new PdfPTable(2); table.setWidthPercentage(100f);/*from w ww . ja v a 2 s . c o m*/ Font fontArialNormal = FontFactory.getFont("Courier", 12f, Font.NORMAL); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(9f, "Voyage Information Was : ", fontArialNormal); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); Date changedDatetime = lclExportNotiFicationForm.getEnterDateTime() != null ? lclExportNotiFicationForm.getEnterDateTime() : new Date(); p = new Paragraph(9f, "Changes As Of: " + DateUtils.formatDate(changedDatetime, "MM/dd/yyyy"), fontArialNormal); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); cell.setBorderWidthBottom(0.6f); table.addCell(cell); if (lclSsDetail != null) { String stateValue = lclSsDetail.getDeparture().getStateId() != null ? lclSsDetail.getDeparture().getStateId().getCode() : ""; String vessel = "", pier = "", portLrd = "", sail_date = "", eta_date = "", ss_line = "", ss_voyage = ""; if (!"preview".equalsIgnoreCase(lclExportNotiFicationForm.getNoticeStatus())) { vessel = lclExportNotiFicationForm.getVessel() != null ? lclExportNotiFicationForm.getVessel() : ""; portLrd = lclExportNotiFicationForm.getPortLrd() != null && !"0".equalsIgnoreCase(lclExportNotiFicationForm.getPortLrd()) ? lclExportNotiFicationForm.getPortLrd() : ""; sail_date = lclExportNotiFicationForm.getSailDate() != null ? DateUtils.formatDate(lclExportNotiFicationForm.getSailDate(), "MM/dd/yyyy") : ""; eta_date = lclExportNotiFicationForm.getEtaDate() != null ? DateUtils.formatDate(lclExportNotiFicationForm.getEtaDate(), "MM/dd/yyyy") : ""; ss_line = lclExportNotiFicationForm.getSsLine() != null ? lclExportNotiFicationForm.getSsLine() : ""; ss_voyage = lclExportNotiFicationForm.getSsVoyage() != null ? lclExportNotiFicationForm.getSsVoyage() : ""; pier = lclExportNotiFicationForm.getPier() != null ? lclExportNotiFicationForm.getPier() .substring(0, lclExportNotiFicationForm.getPier().indexOf("(")) : ""; pier = pier.replace("/", ", "); } else { vessel = CommonUtils.isNotEmpty(lclSsDetail.getSpReferenceName()) ? lclSsDetail.getSpReferenceName() : ""; portLrd = CommonUtils.isNotEmpty(lclSsDetail.getRelayLrdOverride()) ? lclSsDetail.getRelayLrdOverride().toString() : ""; sail_date = lclSsDetail.getStd() != null ? DateUtils.formatDate(lclSsDetail.getStd(), "MM/dd/yyyy") : ""; eta_date = lclSsDetail.getSta() != null ? DateUtils.formatDate(lclSsDetail.getSta(), "MM/dd/yyyy") : ""; ss_line = lclSsDetail.getSpAcctNo() != null ? lclSsDetail.getSpAcctNo().getAccountName() : ""; ss_voyage = lclSsDetail.getSpReferenceNo() != null ? lclSsDetail.getSpReferenceNo() : ""; pier = CommonUtils.isNotEmpty(lclExportNotiFicationForm.getPier()) ? lclExportNotiFicationForm .getPier().substring(0, lclExportNotiFicationForm.getPier().indexOf("(")) : ""; pier = lclSsDetail.getDeparture().getUnLocationName() + "," + stateValue; } table.addCell(allocateCell("Voy#...:" + lclSsDetail.getLclSsHeader().getScheduleNo(), true)); table.addCell(allocateCell("Voy#...:" + lclSsDetail.getLclSsHeader().getScheduleNo(), false)); table.addCell(allocateCell("Vessel Name..:" + vessel, true)); table.addCell(allocateCell("Vessel Name..:" + lclSsDetail.getSpReferenceName(), false)); table.addCell(allocateCell("Pier.........:" + pier, true)); String changedCity = lclSsDetail.getDeparture().getUnLocationName() + ", " + stateValue; table.addCell(allocateCell("Pier.........:" + changedCity, false)); String lrdOverride = null != lclSsDetail.getRelayLrdOverride() ? lclSsDetail.getRelayLrdOverride().toString() : ""; table.addCell(allocateCell("Port LRD ....:" + portLrd, true)); table.addCell(allocateCell("Port LRD ....:" + lrdOverride, false)); table.addCell(allocateCell("Sail Date....:" + sail_date, true)); table.addCell(allocateCell("Sail Date....:" + DateUtils.formatDate(lclSsDetail.getStd(), "MM/dd/yyyy"), false)); table.addCell(allocateCell("ETA POD Date :" + eta_date, true)); table.addCell(allocateCell("ETA POD Date :" + DateUtils.formatDate(lclSsDetail.getSta(), "MM/dd/yyyy"), false)); ETA_FD = lclSsDetail.getSta(); table.addCell(allocateCell("Line Name....:" + ss_line, true)); table.addCell(allocateCell("Line Name....:" + lclSsDetail.getSpAcctNo().getAccountName(), false)); table.addCell(allocateCell("SS Voyage#...:" + ss_voyage, true)); table.addCell(allocateCell("SS Voyage#...:" + lclSsDetail.getSpReferenceNo(), false)); table.addCell(allocateCell(" ", true)); table.addCell(allocateCell(" ", false)); } cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); cell.setBorderWidthTop(0.6f); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPTable containerBlock(String companyName, String portofDischarge, LclFileNumber fileNumber, LclExportNotiFicationForm lclExportNotiFicationForm) throws IOException, BadElementException, DocumentException, Exception { table = new PdfPTable(2); table.setWidths(new float[] { 5f, 5f }); table.setWidthPercentage(100f);/*from w w w . ja va 2s .co m*/ Font fontArialBold = FontFactory.getFont("Courier", 10f, Font.BOLD); Font bigArialBold = FontFactory.getFont("Courier", 15f, Font.BOLD); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(9f, "Container# ", fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(9f, "ETA-FINAL DESTINATION", bigArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); String containerNo = new LclExportsVoyageNotificationDAO() .getAllContainerNoFormVoyage(lclExportNotiFicationForm.getHeaderId().toString()); p = new Paragraph(9f, "" + containerNo.replace(",", "\n"), fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); boolean isDrPicked = new ExportUnitQueryUtils().isPickedFile(fileNumber.getId()); if (isDrPicked) { p = new Paragraph(9f, DateUtils.formatDate(ETA_FD, "MM/dd/yyyy") + " " + portofDischarge, fontArialBold); } else { String eta_date = DateUtils.formatDate(fileNumber.getLclBooking().getFdEta(), "MM/dd/yyyy"); eta_date = eta_date != null ? eta_date : ""; p = new Paragraph(9f, eta_date + " " + portofDischarge, fontArialBold); } p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(4); p = new Paragraph(90f, " ", fontArialBold); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(2); cell.setColspan(4); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPTable reasonBlock(LclExportNotiFicationForm lclExportNotiFicationForm) throws IOException, BadElementException, DocumentException, Exception { User user = new UserDAO().findById( lclExportNotiFicationForm.getUserId() != null ? lclExportNotiFicationForm.getUserId().intValue() : 0);/* w ww . j ava 2 s. co m*/ String userName = user != null ? user.getFirstName() : ""; table = new PdfPTable(2); table.setWidthPercentage(100f); Font fontArialBold = FontFactory.getFont("Courier", 10f, Font.BOLD); Font fontArialNormal = FontFactory.getFont("Courier", 10f, Font.NORMAL); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); p = new Paragraph(9f, "Reason:", fontArialBold); cell.addElement(p); table.addCell(cell); String voyageChangeReason = CommonUtils.isNotEmpty(lclExportNotiFicationForm.getVoyageReason()) ? lclExportNotiFicationForm.getVoyageReason().toUpperCase() : ""; String voyageComment = CommonUtils.isNotEmpty(lclExportNotiFicationForm.getVoyageComment()) ? lclExportNotiFicationForm.getVoyageComment().toUpperCase() : ""; cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); p = new Paragraph(9f, "" + voyageChangeReason + "\n" + voyageComment, fontArialNormal); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); p = new Paragraph(20f, "Changes Made By:" + userName, fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); p = new Paragraph(20f, "Contact#", fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); p = new Paragraph(7f, null != user ? user.getTelephone() : "", fontArialNormal); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); String notes = ""; if ("preview".equalsIgnoreCase(lclExportNotiFicationForm.getNoticeStatus())) { notes = lclExportNotiFicationForm.getRemarks() != null ? lclExportNotiFicationForm.getRemarks().toUpperCase() : ""; } p = new Paragraph(7f, "Notes:", fontArialBold); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); p = new Paragraph(7f, " " + notes, fontArialNormal); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); p = new Paragraph(10f, " ", fontArialNormal); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(1); cell.setColspan(2); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.reports.LclExportVoyageNotificationPdf.java
public PdfPTable footerBlock() throws IOException, BadElementException, DocumentException, Exception { table = new PdfPTable(3); table.setWidthPercentage(100f);//w ww. jav a 2 s.c o m Font fontArialNormal = FontFactory.getFont("Courier", 10f, Font.NORMAL); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); p = new Paragraph(9f, "Date:" + DateUtils.formatDate(new Date(), "MM/dd/yyyy"), fontArialNormal); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); p = new Paragraph(9f, "End Of Report", fontArialNormal); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); p = new Paragraph(9f, "Time :" + new Date().getHours() + ":" + new Date().getMinutes(), fontArialNormal); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); return table; }