Skip to content

Commit

Permalink
#127 use Collection instead List for saving
Browse files Browse the repository at this point in the history
  • Loading branch information
vaa25 committed Feb 18, 2020
1 parent 3f62094 commit 7d346c0
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 11 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
</issueManagement>

<properties>
<apache.poi.version>4.1.0</apache.poi.version>
<apache.poi.version>4.1.2</apache.poi.version>
<junit.version>4.12</junit.version>
<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down
9 changes: 5 additions & 4 deletions src/main/java/com/poiji/bind/Poiji.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
Expand Down Expand Up @@ -218,24 +219,24 @@ public static synchronized <T> void fromExcel(final InputStream inputStream, fin
unmarshaller.unmarshal(type, consumer);
}

public static <T> void toExcel(final File file, final Class<T> clazz, final List<T> data) {
public static <T> void toExcel(final File file, final Class<T> clazz, final Collection<T> data) {
toExcel(file, clazz, data, PoijiOptionsBuilder.settings().build());
}

public static <T> void toExcel(
final File file, final Class<T> clazz, final List<T> data, final PoijiOptions options
final File file, final Class<T> clazz, final Collection<T> data, final PoijiOptions options
) {
new FileSaverFactory<>(clazz, options).toFile(file).save(data);
}

public static <T> void toExcel(
final OutputStream outputStream, final PoijiExcelType excelType, final Class<T> clazz, final List<T> data
final OutputStream outputStream, final PoijiExcelType excelType, final Class<T> clazz, final Collection<T> data
) {
toExcel(outputStream, excelType, clazz, data, PoijiOptionsBuilder.settings().build());
}

public static <T> void toExcel(
final OutputStream outputStream, final PoijiExcelType excelType, final Class<T> clazz, final List<T> data, final PoijiOptions options
final OutputStream outputStream, final PoijiExcelType excelType, final Class<T> clazz, final Collection<T> data, final PoijiOptions options
) {
new FileSaverFactory<>(clazz, options).toOutputStream(outputStream, excelType).save(data);
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/poiji/save/FileSaver.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.poiji.save;

import java.util.List;
import java.util.Collection;
import java.util.stream.Stream;

public interface FileSaver {

<T> void save(List<T> data);
<T> void save(Collection<T> data);

<T> void save(Stream<T> data);
}
4 changes: 2 additions & 2 deletions src/main/java/com/poiji/save/XlsFileSaver.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.poiji.exception.PoijiException;
import com.poiji.option.PoijiOptions;
import java.io.IOException;
import java.util.List;
import java.util.Collection;
import java.util.stream.Stream;
import org.apache.poi.hpsf.CustomProperties;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
Expand All @@ -25,7 +25,7 @@ public XlsFileSaver(final WorkbookSaver workbookSaver, final PoijiOptions option
}

@Override
public <T> void save(final List<T> data) {
public <T> void save(final Collection<T> data) {
try (final HSSFWorkbook workbook = new HSSFWorkbook()) {
addStyles(workbook);
workbookSaver.save(data, workbook);
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/poiji/save/XlsxFileSaver.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.poiji.option.PoijiOptions;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Collection;
import java.util.stream.Stream;
import org.apache.poi.ooxml.POIXMLProperties;
import org.apache.poi.ss.usermodel.CellStyle;
Expand All @@ -26,7 +26,7 @@ public XlsxFileSaver(final WorkbookSaver workbookSaver, final PoijiOptions optio
}

@Override
public <T> void save(final List<T> data) {
public <T> void save(final Collection<T> data) {
try (final SXSSFWorkbook workbook = new SXSSFWorkbook()) {
workbook.setCompressTempFiles(true);
addStyles(workbook);
Expand Down

0 comments on commit 7d346c0

Please sign in to comment.