| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package commons.exporters.impl;
- import java.math.RoundingMode;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- import java.util.List;
- public abstract class BaseExporter<T> {
- protected List<T> dataSet;
-
- protected abstract List<T> fetchDataToExport();
- protected abstract void setFileName();
- public abstract List<String> getFullFileName();
- protected abstract void exportRecord(T record);
- protected String baseFolder;
- protected String zipFileName;
- protected abstract boolean createFile();
- protected abstract void closeFile();
-
- public void setBaseFolder(String baseFolder) {
- this.baseFolder = baseFolder;
- }
-
- public void setFileName(String zipFileName) {
- this.zipFileName = zipFileName;
- }
-
- public boolean runExport() {
- boolean res=true;
-
- dataSet = fetchDataToExport();
- setFileName();
- if (createFile()) {
-
- for (T currentRecord:dataSet) {
- exportRecord(currentRecord);
- }
-
- } else
- res = false;
- closeFile();
- return res;
- }
-
- protected String formatNum(Float f, int dec) {
- if (f==null)
- return "0";
- NumberFormat format = DecimalFormat.getInstance();
- format.setRoundingMode(RoundingMode.FLOOR);
- format.setGroupingUsed(false);
-
- format.setMinimumFractionDigits(dec);
- format.setMaximumFractionDigits(dec);
- return format.format(f).replace(",","").replace(".", "");
-
-
- }
-
- protected String formatNumber(Float f) {
- if (f==null)
- return "0";
- NumberFormat format = DecimalFormat.getInstance();
- format.setRoundingMode(RoundingMode.FLOOR);
- format.setGroupingUsed(false);
-
- format.setMinimumFractionDigits(0);
- format.setMaximumFractionDigits(0);
- return format.format(f);
- }
-
- }
|