Skip to content

Commit 9cf34bb

Browse files
authored
refactor: rename and deprecate legacy core classes (#688)
* refactor: rename and deprecate legacy Excel classes * docs: update alias class descriptions * refactor: code style * test(sheet): Rename FesodSheetFactoryTest to FesodSheetTest * test: replace FesodSheetFactory with FesodSheet in tests
1 parent 94a88a8 commit 9cf34bb

File tree

9 files changed

+360
-374
lines changed

9 files changed

+360
-374
lines changed

fesod/src/main/java/org/apache/fesod/sheet/EasyExcel.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@
2020
package org.apache.fesod.sheet;
2121

2222
/**
23-
* This is actually {@link FesodSheetFactory}, and short names look better.
23+
* An alias class for {@link FesodSheet}.
24+
* This class is deprecated; use {@link FesodSheet} instead.
25+
* <p>
26+
* This class will be removed in future versions.
27+
* </p>
2428
*/
2529
@Deprecated
26-
public class EasyExcel extends FesodSheetFactory {}
30+
public class EasyExcel extends FesodSheet {}

fesod/src/main/java/org/apache/fesod/sheet/FastExcel.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@
2020
package org.apache.fesod.sheet;
2121

2222
/**
23-
* This is actually {@link FastExcelFactory}, and short names look better.
24-
*
23+
* An alias class for {@link FesodSheet}.
24+
* This class is deprecated; use {@link FesodSheet} instead.
25+
* <p>
26+
* This class will be removed in future versions.
27+
* </p>
2528
*/
2629
@Deprecated
27-
public class FastExcel extends FesodSheetFactory {}
30+
public class FastExcel extends FesodSheet {}

fesod/src/main/java/org/apache/fesod/sheet/FastExcelFactory.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@
2020
package org.apache.fesod.sheet;
2121

2222
/**
23-
* Reader and writer factory class
23+
* An alias class for {@link FesodSheet}.
24+
* This class is deprecated; use {@link FesodSheet} instead.
25+
* <p>
26+
* This class will be removed in future versions.
27+
* </p>
2428
*/
2529
@Deprecated
26-
public class FastExcelFactory extends FesodSheetFactory {}
30+
public class FastExcelFactory extends FesodSheet {}

fesod/src/main/java/org/apache/fesod/sheet/FesodSheet.java

Lines changed: 310 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,315 @@
1919

2020
package org.apache.fesod.sheet;
2121

22+
import java.io.File;
23+
import java.io.InputStream;
24+
import java.io.OutputStream;
25+
import org.apache.fesod.sheet.read.builder.ExcelReaderBuilder;
26+
import org.apache.fesod.sheet.read.builder.ExcelReaderSheetBuilder;
27+
import org.apache.fesod.sheet.read.listener.ReadListener;
28+
import org.apache.fesod.sheet.write.builder.ExcelWriterBuilder;
29+
import org.apache.fesod.sheet.write.builder.ExcelWriterSheetBuilder;
30+
import org.apache.fesod.sheet.write.builder.ExcelWriterTableBuilder;
31+
2232
/**
23-
* This is actually {@link FesodSheetFactory}, and short names look better.
33+
* Core classes of the Fesod spreadsheet processor
2434
*/
25-
public class FesodSheet extends FesodSheetFactory {}
35+
public class FesodSheet {
36+
37+
/**
38+
* Build excel the write
39+
*
40+
* @return
41+
*/
42+
public static ExcelWriterBuilder write() {
43+
return new ExcelWriterBuilder();
44+
}
45+
46+
/**
47+
* Build excel the write
48+
*
49+
* @param file File to write
50+
* @return Excel writer builder
51+
*/
52+
public static ExcelWriterBuilder write(File file) {
53+
return write(file, null);
54+
}
55+
56+
/**
57+
* Build excel the write
58+
*
59+
* @param file File to write
60+
* @param head Annotate the class for configuration information
61+
* @return Excel writer builder
62+
*/
63+
public static ExcelWriterBuilder write(File file, Class head) {
64+
return new ExcelWriterBuilder().file(file).headIfNotNull(head);
65+
}
66+
67+
/**
68+
* Build excel the write
69+
*
70+
* @param pathName File path to write
71+
* @return Excel writer builder
72+
*/
73+
public static ExcelWriterBuilder write(String pathName) {
74+
return write(pathName, null);
75+
}
76+
77+
/**
78+
* Build excel the write
79+
*
80+
* @param pathName File path to write
81+
* @param head Annotate the class for configuration information
82+
* @return Excel writer builder
83+
*/
84+
public static ExcelWriterBuilder write(String pathName, Class head) {
85+
return new ExcelWriterBuilder().file(pathName).headIfNotNull(head);
86+
}
87+
88+
/**
89+
* Build excel the write
90+
*
91+
* @param outputStream Output stream to write
92+
* @return Excel writer builder
93+
*/
94+
public static ExcelWriterBuilder write(OutputStream outputStream) {
95+
return write(outputStream, null);
96+
}
97+
98+
/**
99+
* Build excel the write
100+
*
101+
* @param outputStream Output stream to write
102+
* @param head Annotate the class for configuration information.
103+
* @return Excel writer builder
104+
*/
105+
public static ExcelWriterBuilder write(OutputStream outputStream, Class head) {
106+
return new ExcelWriterBuilder().file(outputStream).headIfNotNull(head);
107+
}
108+
109+
/**
110+
* Build excel the <code>writerSheet</code>
111+
*
112+
* @return Excel sheet writer builder
113+
*/
114+
public static ExcelWriterSheetBuilder writerSheet() {
115+
return writerSheet(null, null);
116+
}
117+
118+
/**
119+
* Build excel the <code>writerSheet</code>
120+
*
121+
* @param sheetNo Index of sheet,0 base.
122+
* @return Excel sheet writer builder.
123+
*/
124+
public static ExcelWriterSheetBuilder writerSheet(Integer sheetNo) {
125+
return writerSheet(sheetNo, null);
126+
}
127+
128+
/**
129+
* Build excel the 'writerSheet'
130+
*
131+
* @param sheetName The name of sheet.
132+
* @return Excel sheet writer builder.
133+
*/
134+
public static ExcelWriterSheetBuilder writerSheet(String sheetName) {
135+
return writerSheet(null, sheetName);
136+
}
137+
138+
/**
139+
* Build excel the 'writerSheet'
140+
*
141+
* @param sheetNo Index of sheet,0 base.
142+
* @param sheetName The name of sheet.
143+
* @return Excel sheet writer builder.
144+
*/
145+
public static ExcelWriterSheetBuilder writerSheet(Integer sheetNo, String sheetName) {
146+
return new ExcelWriterSheetBuilder().sheetNoIfNotNull(sheetNo).sheetNameIfNotNull(sheetName);
147+
}
148+
149+
/**
150+
* Build excel the <code>writerTable</code>
151+
*
152+
* @return Excel table writer builder.
153+
*/
154+
public static ExcelWriterTableBuilder writerTable() {
155+
return writerTable(null);
156+
}
157+
158+
/**
159+
* Build excel the 'writerTable'
160+
*
161+
* @param tableNo Index of table,0 base.
162+
* @return Excel table writer builder.
163+
*/
164+
public static ExcelWriterTableBuilder writerTable(Integer tableNo) {
165+
return new ExcelWriterTableBuilder().tableNoIfNotNull(tableNo);
166+
}
167+
168+
/**
169+
* Build excel the read
170+
*
171+
* @return Excel reader builder.
172+
*/
173+
public static ExcelReaderBuilder read() {
174+
return new ExcelReaderBuilder();
175+
}
176+
177+
/**
178+
* Build excel the read
179+
*
180+
* @param file File to read.
181+
* @return Excel reader builder.
182+
*/
183+
public static ExcelReaderBuilder read(File file) {
184+
return read(file, null, null);
185+
}
186+
187+
/**
188+
* Build excel the read
189+
*
190+
* @param file File to read.
191+
* @param readListener Read listener.
192+
* @return Excel reader builder.
193+
*/
194+
public static ExcelReaderBuilder read(File file, ReadListener readListener) {
195+
return read(file, null, readListener);
196+
}
197+
198+
/**
199+
* Build excel the read
200+
*
201+
* @param file File to read.
202+
* @param head Annotate the class for configuration information.
203+
* @param readListener Read listener.
204+
* @return Excel reader builder.
205+
*/
206+
public static ExcelReaderBuilder read(File file, Class head, ReadListener readListener) {
207+
return new ExcelReaderBuilder().file(file).headIfNotNull(head).registerReadListenerIfNotNull(readListener);
208+
}
209+
210+
/**
211+
* Build excel the read
212+
*
213+
* @param pathName File path to read.
214+
* @return Excel reader builder.
215+
*/
216+
public static ExcelReaderBuilder read(String pathName) {
217+
return read(pathName, null, null);
218+
}
219+
220+
/**
221+
* Build excel the read
222+
*
223+
* @param pathName File path to read.
224+
* @param readListener Read listener.
225+
* @return Excel reader builder.
226+
*/
227+
public static ExcelReaderBuilder read(String pathName, ReadListener readListener) {
228+
return read(pathName, null, readListener);
229+
}
230+
231+
/**
232+
* Build excel the read
233+
*
234+
* @param pathName File path to read.
235+
* @param head Annotate the class for configuration information.
236+
* @param readListener Read listener.
237+
* @return Excel reader builder.
238+
*/
239+
public static ExcelReaderBuilder read(String pathName, Class head, ReadListener readListener) {
240+
return new ExcelReaderBuilder().file(pathName).headIfNotNull(head).registerReadListenerIfNotNull(readListener);
241+
}
242+
243+
/**
244+
* Build excel the read
245+
*
246+
* @param inputStream Input stream to read.
247+
* @return Excel reader builder.
248+
*/
249+
public static ExcelReaderBuilder read(InputStream inputStream) {
250+
return read(inputStream, null, null);
251+
}
252+
253+
/**
254+
* Build excel the read
255+
*
256+
* @param inputStream Input stream to read.
257+
* @param readListener Read listener.
258+
* @return Excel reader builder.
259+
*/
260+
public static ExcelReaderBuilder read(InputStream inputStream, ReadListener readListener) {
261+
return read(inputStream, null, readListener);
262+
}
263+
264+
/**
265+
* Build excel the read
266+
*
267+
* @param inputStream Input stream to read.
268+
* @param head Annotate the class for configuration information.
269+
* @param readListener Read listener.
270+
* @return Excel reader builder.
271+
*/
272+
public static ExcelReaderBuilder read(InputStream inputStream, Class head, ReadListener readListener) {
273+
return new ExcelReaderBuilder()
274+
.file(inputStream)
275+
.headIfNotNull(head)
276+
.registerReadListenerIfNotNull(readListener);
277+
}
278+
279+
/**
280+
* Build excel the 'readSheet'
281+
*
282+
* @return Excel sheet reader builder.
283+
*/
284+
public static ExcelReaderSheetBuilder readSheet() {
285+
return readSheet(null, null);
286+
}
287+
288+
/**
289+
* Build excel the 'readSheet'
290+
*
291+
* @param sheetNo Index of sheet,0 base.
292+
* @return Excel sheet reader builder.
293+
*/
294+
public static ExcelReaderSheetBuilder readSheet(Integer sheetNo) {
295+
return readSheet(sheetNo, null);
296+
}
297+
298+
/**
299+
* Build excel the 'readSheet'
300+
*
301+
* @param sheetName The name of sheet.
302+
* @return Excel sheet reader builder.
303+
*/
304+
public static ExcelReaderSheetBuilder readSheet(String sheetName) {
305+
return readSheet(null, sheetName);
306+
}
307+
308+
/**
309+
* Build excel the 'readSheet'
310+
*
311+
* @param sheetNo Index of sheet,0 base.
312+
* @param sheetName The name of sheet.
313+
* @return Excel sheet reader builder.
314+
*/
315+
public static ExcelReaderSheetBuilder readSheet(Integer sheetNo, String sheetName) {
316+
return readSheet(sheetNo, sheetName, null);
317+
}
318+
319+
/**
320+
* Build excel the 'readSheet'
321+
*
322+
* @param sheetNo Index of sheet,0 base.
323+
* @param sheetName The name of sheet.
324+
* @param numRows The number of rows to read, the default is all, start with 0.
325+
* @return
326+
*/
327+
public static ExcelReaderSheetBuilder readSheet(Integer sheetNo, String sheetName, Integer numRows) {
328+
return new ExcelReaderSheetBuilder()
329+
.sheetNoIfNotNull(sheetNo)
330+
.sheetNameIfNotNull(sheetName)
331+
.numRowsIfNotNull(numRows);
332+
}
333+
}

0 commit comments

Comments
 (0)