This is an automated email from the ASF dual-hosted git repository.
delei pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fesod.git
The following commit(s) were added to refs/heads/main by this push:
new 90fb1af2 refactor: update import statements to use util classes from
sheet package (#819)
90fb1af2 is described below
commit 90fb1af2203fb592f8362885a6d8f9fb23c9fa78
Author: gongzhongqiang <[email protected]>
AuthorDate: Mon Jan 19 23:31:04 2026 +0800
refactor: update import statements to use util classes from sheet package
(#819)
---
.../fesod/sheet/analysis/ExcelAnalyserImpl.java | 2 +-
.../sheet/analysis/csv/CsvExcelReadExecutor.java | 2 +-
.../analysis/v03/handlers/EofRecordHandler.java | 2 +-
.../analysis/v03/handlers/LabelRecordHandler.java | 2 +-
.../v03/handlers/LabelSstRecordHandler.java | 2 +-
.../fesod/sheet/analysis/v07/XlsxSaxAnalyser.java | 4 +-
.../analysis/v07/handlers/CellTagHandler.java | 6 +-
.../analysis/v07/handlers/CountTagHandler.java | 2 +-
.../analysis/v07/handlers/HyperlinkTagHandler.java | 2 +-
.../analysis/v07/handlers/MergeCellTagHandler.java | 2 +-
.../sheet/analysis/v07/handlers/RowTagHandler.java | 4 +-
.../java/org/apache/fesod/sheet/cache/Ehcache.java | 2 +-
.../fesod/sheet/constant/BuiltinFormats.java | 4 +-
.../fesod/sheet/context/WriteContextImpl.java | 4 +-
.../fesod/sheet/converters/ConverterKeyBuild.java | 2 +-
.../sheet/converters/DefaultConverterLoader.java | 2 +-
.../inputstream/InputStreamImageConverter.java | 2 +-
.../converters/string/StringNumberConverter.java | 2 +-
.../sheet/converters/url/UrlImageConverter.java | 2 +-
.../fesod/sheet/enums/ByteOrderMarkEnum.java | 2 +-
.../apache/fesod/sheet/enums/CellDataTypeEnum.java | 2 +-
.../sheet/metadata/AbstractParameterBuilder.java | 2 +-
.../fesod/sheet/metadata/csv/CsvDataFormat.java | 4 +-
.../apache/fesod/sheet/metadata/csv/CsvSheet.java | 4 +-
.../apache/fesod/sheet/metadata/data/CellData.java | 2 +-
.../fesod/sheet/metadata/data/DataFormatData.java | 2 +-
.../sheet/metadata/data/RichTextStringData.java | 2 +-
.../fesod/sheet/metadata/data/WriteCellData.java | 2 +-
.../metadata/property/DateTimeFormatProperty.java | 2 +-
.../sheet/metadata/property/ExcelHeadProperty.java | 2 +-
.../sheet/metadata/property/FontProperty.java | 2 +-
.../AbstractExcelReaderParameterBuilder.java | 2 +-
.../read/listener/ModelBuildEventListener.java | 2 +-
.../sheet/read/listener/PageReadListener.java | 2 +-
.../read/metadata/holder/AbstractReadHolder.java | 2 +-
.../holder/xlsx/XlsxReadWorkbookHolder.java | 2 +-
.../processor/DefaultAnalysisEventProcessor.java | 4 +-
.../apache/fesod/sheet/support/ExcelTypeEnum.java | 2 +-
.../org/apache/fesod/sheet/util/BooleanUtils.java | 112 --------
.../org/apache/fesod/sheet/util/ClassUtils.java | 2 +
.../apache/fesod/sheet/util/ConverterUtils.java | 1 +
.../org/apache/fesod/sheet/util/DateUtils.java | 3 +
.../org/apache/fesod/sheet/util/FieldUtils.java | 2 +
.../org/apache/fesod/sheet/util/FileUtils.java | 1 +
.../java/org/apache/fesod/sheet/util/IntUtils.java | 52 ----
.../java/org/apache/fesod/sheet/util/IoUtils.java | 106 -------
.../org/apache/fesod/sheet/util/ListUtils.java | 148 ----------
.../java/org/apache/fesod/sheet/util/MapUtils.java | 124 ---------
.../org/apache/fesod/sheet/util/MemberUtils.java | 69 -----
.../org/apache/fesod/sheet/util/NumberUtils.java | 1 +
.../org/apache/fesod/sheet/util/PositionUtils.java | 82 ------
.../org/apache/fesod/sheet/util/SheetUtils.java | 1 +
.../org/apache/fesod/sheet/util/StringUtils.java | 306 ---------------------
.../org/apache/fesod/sheet/util/StyleUtil.java | 1 +
.../org/apache/fesod/sheet/util/WorkBookUtil.java | 1 +
.../write/executor/AbstractExcelWriteExecutor.java | 2 +-
.../write/executor/ExcelWriteFillExecutor.java | 6 +-
.../handler/impl/FillStyleCellWriteHandler.java | 2 +-
.../impl/WriteSheetWorkbookWriteHandler.java | 2 +-
.../write/metadata/holder/WriteSheetHolder.java | 2 +-
.../write/metadata/holder/WriteWorkbookHolder.java | 4 +-
.../sheet/write/metadata/style/WriteCellStyle.java | 2 +-
.../sheet/write/metadata/style/WriteFont.java | 2 +-
.../write/style/HorizontalCellStyleStrategy.java | 2 +-
.../LongestMatchColumnWidthStyleStrategy.java | 2 +-
.../sheet/annotation/ExcelPropertyFormatTest.java | 2 +-
.../org/apache/fesod/sheet/bom/BomDataTest.java | 2 +-
.../org/apache/fesod/sheet/csv/CsvFormatTest.java | 2 +-
...xcelAnalysisStopSheetExceptionDataListener.java | 4 +-
.../sheet/fill/style/FillStyleAnnotatedTest.java | 2 +-
.../fesod/sheet/fill/style/FillStyleDataTest.java | 2 +-
.../sheet/parameter/AutoStripParameterTest.java | 2 +-
.../apache/fesod/sheet/util/StringUtilsTest.java | 53 ----
73 files changed, 81 insertions(+), 1120 deletions(-)
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java
index 464efdec..cfc49040 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java
@@ -23,6 +23,7 @@ import java.io.InputStream;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.analysis.csv.CsvExcelReadExecutor;
import org.apache.fesod.sheet.analysis.v03.XlsSaxAnalyser;
import org.apache.fesod.sheet.analysis.v07.XlsxSaxAnalyser;
@@ -46,7 +47,6 @@ import org.apache.fesod.sheet.util.ClassUtils;
import org.apache.fesod.sheet.util.DateUtils;
import org.apache.fesod.sheet.util.FileUtils;
import org.apache.fesod.sheet.util.NumberDataFormatterUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.hssf.OldExcelFormatException;
import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
import org.apache.poi.poifs.crypt.Decryptor;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java
index 65a6924d..9d11f1a9 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/csv/CsvExcelReadExecutor.java
@@ -35,6 +35,7 @@ import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;
import org.apache.commons.io.input.BOMInputStream;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.analysis.ExcelReadExecutor;
import org.apache.fesod.sheet.context.csv.CsvReadContext;
import org.apache.fesod.sheet.enums.ByteOrderMarkEnum;
@@ -48,7 +49,6 @@ import org.apache.fesod.sheet.read.metadata.ReadSheet;
import org.apache.fesod.sheet.read.metadata.holder.ReadRowHolder;
import org.apache.fesod.sheet.read.metadata.holder.csv.CsvReadWorkbookHolder;
import org.apache.fesod.sheet.util.SheetUtils;
-import org.apache.fesod.sheet.util.StringUtils;
/**
* CSV Excel Read Executor, responsible for reading and processing CSV files.
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java
index a9363ece..4e579355 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/EofRecordHandler.java
@@ -20,12 +20,12 @@
package org.apache.fesod.sheet.analysis.v03.handlers;
import java.util.LinkedHashMap;
+import org.apache.fesod.common.util.BooleanUtils;
import org.apache.fesod.sheet.context.xls.XlsReadContext;
import org.apache.fesod.sheet.enums.RowTypeEnum;
import org.apache.fesod.sheet.metadata.Cell;
import org.apache.fesod.sheet.read.metadata.holder.ReadRowHolder;
import org.apache.fesod.sheet.read.metadata.holder.xls.XlsReadSheetHolder;
-import org.apache.fesod.sheet.util.BooleanUtils;
import org.apache.poi.hssf.record.Record;
/**
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java
index c5bd5fe1..8b205f13 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelRecordHandler.java
@@ -19,12 +19,12 @@
package org.apache.fesod.sheet.analysis.v03.handlers;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.analysis.v03.IgnorableXlsRecordHandler;
import org.apache.fesod.sheet.context.xls.XlsReadContext;
import org.apache.fesod.sheet.enums.RowTypeEnum;
import org.apache.fesod.sheet.metadata.GlobalConfiguration;
import org.apache.fesod.sheet.metadata.data.ReadCellData;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.hssf.record.LabelRecord;
import org.apache.poi.hssf.record.Record;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java
index aa3bb513..362890e5 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v03/handlers/LabelSstRecordHandler.java
@@ -20,6 +20,7 @@
package org.apache.fesod.sheet.analysis.v03.handlers;
import java.util.Map;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.analysis.v03.IgnorableXlsRecordHandler;
import org.apache.fesod.sheet.cache.ReadCache;
import org.apache.fesod.sheet.context.xls.XlsReadContext;
@@ -27,7 +28,6 @@ import org.apache.fesod.sheet.enums.RowTypeEnum;
import org.apache.fesod.sheet.metadata.Cell;
import org.apache.fesod.sheet.metadata.GlobalConfiguration;
import org.apache.fesod.sheet.metadata.data.ReadCellData;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.hssf.record.LabelSSTRecord;
import org.apache.poi.hssf.record.Record;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java
index 44b13bcb..7f62f173 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/XlsxSaxAnalyser.java
@@ -33,6 +33,8 @@ import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.MapUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.analysis.ExcelReadExecutor;
import
org.apache.fesod.sheet.analysis.v07.handlers.sax.SharedStringsTableHandler;
import org.apache.fesod.sheet.analysis.v07.handlers.sax.XlsxRowHandler;
@@ -46,9 +48,7 @@ import org.apache.fesod.sheet.metadata.CellExtra;
import org.apache.fesod.sheet.read.metadata.ReadSheet;
import org.apache.fesod.sheet.read.metadata.holder.xlsx.XlsxReadWorkbookHolder;
import org.apache.fesod.sheet.util.FileUtils;
-import org.apache.fesod.sheet.util.MapUtils;
import org.apache.fesod.sheet.util.SheetUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException;
import org.apache.poi.openxml4j.opc.OPCPackage;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java
index 8069ae76..372d2040 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CellTagHandler.java
@@ -20,6 +20,9 @@
package org.apache.fesod.sheet.analysis.v07.handlers;
import java.math.BigDecimal;
+import org.apache.fesod.common.util.BooleanUtils;
+import org.apache.fesod.common.util.PositionUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.constant.ExcelXmlConstants;
import org.apache.fesod.sheet.constant.FesodSheetConstants;
import org.apache.fesod.sheet.context.xlsx.XlsxReadContext;
@@ -27,9 +30,6 @@ import org.apache.fesod.sheet.enums.CellDataTypeEnum;
import org.apache.fesod.sheet.metadata.GlobalConfiguration;
import org.apache.fesod.sheet.metadata.data.ReadCellData;
import org.apache.fesod.sheet.read.metadata.holder.xlsx.XlsxReadSheetHolder;
-import org.apache.fesod.sheet.util.BooleanUtils;
-import org.apache.fesod.sheet.util.PositionUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.xml.sax.Attributes;
/**
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java
index 964ebea4..fe66941e 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/CountTagHandler.java
@@ -19,9 +19,9 @@
package org.apache.fesod.sheet.analysis.v07.handlers;
+import org.apache.fesod.common.util.PositionUtils;
import org.apache.fesod.sheet.constant.ExcelXmlConstants;
import org.apache.fesod.sheet.context.xlsx.XlsxReadContext;
-import org.apache.fesod.sheet.util.PositionUtils;
import org.xml.sax.Attributes;
/**
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java
index 57767f99..20888f6b 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/HyperlinkTagHandler.java
@@ -20,11 +20,11 @@
package org.apache.fesod.sheet.analysis.v07.handlers;
import java.util.Optional;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.constant.ExcelXmlConstants;
import org.apache.fesod.sheet.context.xlsx.XlsxReadContext;
import org.apache.fesod.sheet.enums.CellExtraTypeEnum;
import org.apache.fesod.sheet.metadata.CellExtra;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.xml.sax.Attributes;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java
index 133d0cfe..1b53c328 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/MergeCellTagHandler.java
@@ -19,11 +19,11 @@
package org.apache.fesod.sheet.analysis.v07.handlers;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.constant.ExcelXmlConstants;
import org.apache.fesod.sheet.context.xlsx.XlsxReadContext;
import org.apache.fesod.sheet.enums.CellExtraTypeEnum;
import org.apache.fesod.sheet.metadata.CellExtra;
-import org.apache.fesod.sheet.util.StringUtils;
import org.xml.sax.Attributes;
/**
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java
index 4208f83a..84fb21cf 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/v07/handlers/RowTagHandler.java
@@ -21,6 +21,7 @@ package org.apache.fesod.sheet.analysis.v07.handlers;
import java.util.LinkedHashMap;
import org.apache.commons.collections4.MapUtils;
+import org.apache.fesod.common.util.PositionUtils;
import org.apache.fesod.sheet.constant.ExcelXmlConstants;
import org.apache.fesod.sheet.context.xlsx.XlsxReadContext;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
@@ -29,7 +30,6 @@ import org.apache.fesod.sheet.metadata.Cell;
import org.apache.fesod.sheet.metadata.data.ReadCellData;
import org.apache.fesod.sheet.read.metadata.holder.ReadRowHolder;
import org.apache.fesod.sheet.read.metadata.holder.xlsx.XlsxReadSheetHolder;
-import org.apache.fesod.sheet.util.PositionUtils;
import org.xml.sax.Attributes;
/**
@@ -41,7 +41,7 @@ public class RowTagHandler extends AbstractXlsxTagHandler {
@Override
public void startElement(XlsxReadContext xlsxReadContext, String name,
Attributes attributes) {
XlsxReadSheetHolder xlsxReadSheetHolder =
xlsxReadContext.xlsxReadSheetHolder();
- int rowIndex = PositionUtils.getRowByRowTagt(
+ int rowIndex = PositionUtils.getRowByRowTag(
attributes.getValue(ExcelXmlConstants.ATTRIBUTE_R),
xlsxReadSheetHolder.getRowIndex());
Integer lastRowIndex = xlsxReadContext.readSheetHolder().getRowIndex();
while (lastRowIndex + 1 < rowIndex) {
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java
index 87b03884..5c030ea6 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/cache/Ehcache.java
@@ -24,9 +24,9 @@ import java.util.ArrayList;
import java.util.UUID;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.util.FileUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.ehcache.CacheManager;
import org.ehcache.config.CacheConfiguration;
import org.ehcache.config.builders.CacheConfigurationBuilder;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java
index 59b98c2a..68ac094a 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/constant/BuiltinFormats.java
@@ -21,8 +21,8 @@ package org.apache.fesod.sheet.constant;
import java.util.Locale;
import java.util.Map;
-import org.apache.fesod.sheet.util.MapUtils;
-import org.apache.fesod.sheet.util.StringUtils;
+import org.apache.fesod.common.util.MapUtils;
+import org.apache.fesod.common.util.StringUtils;
/**
* Excel's built-in format conversion.Currently only supports Chinese.
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
index aae38a62..27cd18e1 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/context/WriteContextImpl.java
@@ -25,6 +25,8 @@ import java.io.OutputStream;
import java.util.Map;
import java.util.UUID;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.enums.HeaderMergeStrategy;
import org.apache.fesod.sheet.enums.WriteTypeEnum;
import org.apache.fesod.sheet.exception.ExcelGenerateException;
@@ -36,9 +38,7 @@ import org.apache.fesod.sheet.support.ExcelTypeEnum;
import org.apache.fesod.sheet.util.ClassUtils;
import org.apache.fesod.sheet.util.DateUtils;
import org.apache.fesod.sheet.util.FileUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.NumberDataFormatterUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.fesod.sheet.util.WorkBookUtil;
import org.apache.fesod.sheet.util.WriteHandlerUtils;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java
index 7f793be3..9e08b3bc 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/ConverterKeyBuild.java
@@ -24,8 +24,8 @@ import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
-import org.apache.fesod.sheet.util.MapUtils;
/**
* Converter unique key.Consider that you can just use class as the key.
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java
index 3b8a144d..6bde5014 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/DefaultConverterLoader.java
@@ -20,6 +20,7 @@
package org.apache.fesod.sheet.converters;
import java.util.Map;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.converters.ConverterKeyBuild.ConverterKey;
import org.apache.fesod.sheet.converters.bigdecimal.BigDecimalBooleanConverter;
import org.apache.fesod.sheet.converters.bigdecimal.BigDecimalNumberConverter;
@@ -66,7 +67,6 @@ import
org.apache.fesod.sheet.converters.string.StringErrorConverter;
import org.apache.fesod.sheet.converters.string.StringNumberConverter;
import org.apache.fesod.sheet.converters.string.StringStringConverter;
import org.apache.fesod.sheet.converters.url.UrlImageConverter;
-import org.apache.fesod.sheet.util.MapUtils;
/**
* Load default handler
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java
index 3e9d02e3..2e0300fe 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/inputstream/InputStreamImageConverter.java
@@ -21,11 +21,11 @@ package org.apache.fesod.sheet.converters.inputstream;
import java.io.IOException;
import java.io.InputStream;
+import org.apache.fesod.common.util.IoUtils;
import org.apache.fesod.sheet.converters.Converter;
import org.apache.fesod.sheet.metadata.GlobalConfiguration;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
import org.apache.fesod.sheet.metadata.property.ExcelContentProperty;
-import org.apache.fesod.sheet.util.IoUtils;
/**
* File and image converter
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java
index 89e6cb57..fc7ec969 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/string/StringNumberConverter.java
@@ -20,6 +20,7 @@
package org.apache.fesod.sheet.converters.string;
import java.math.BigDecimal;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.converters.Converter;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
import org.apache.fesod.sheet.metadata.GlobalConfiguration;
@@ -29,7 +30,6 @@ import
org.apache.fesod.sheet.metadata.property.ExcelContentProperty;
import org.apache.fesod.sheet.util.DateUtils;
import org.apache.fesod.sheet.util.NumberDataFormatterUtils;
import org.apache.fesod.sheet.util.NumberUtils;
-import org.apache.fesod.sheet.util.StringUtils;
/**
* String and number converter
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java
index 78413b43..798ffa34 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/converters/url/UrlImageConverter.java
@@ -23,11 +23,11 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
+import org.apache.fesod.common.util.IoUtils;
import org.apache.fesod.sheet.converters.Converter;
import org.apache.fesod.sheet.metadata.GlobalConfiguration;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
import org.apache.fesod.sheet.metadata.property.ExcelContentProperty;
-import org.apache.fesod.sheet.util.IoUtils;
/**
* Url and image converter
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java
index 8964ad9d..76c4d659 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/ByteOrderMarkEnum.java
@@ -23,7 +23,7 @@ import java.nio.charset.Charset;
import java.util.Map;
import lombok.Getter;
import org.apache.commons.io.ByteOrderMark;
-import org.apache.fesod.sheet.util.MapUtils;
+import org.apache.fesod.common.util.MapUtils;
/**
* byte order mark
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java
index f389e0c1..14e80fe7 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/CellDataTypeEnum.java
@@ -21,7 +21,7 @@ package org.apache.fesod.sheet.enums;
import java.util.HashMap;
import java.util.Map;
-import org.apache.fesod.sheet.util.StringUtils;
+import org.apache.fesod.common.util.StringUtils;
/**
* excel internal data type
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java
index 32a24551..7e613674 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/AbstractParameterBuilder.java
@@ -22,9 +22,9 @@ package org.apache.fesod.sheet.metadata;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.converters.Converter;
import org.apache.fesod.sheet.enums.CacheLocationEnum;
-import org.apache.fesod.sheet.util.ListUtils;
/**
* ExcelBuilder
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java
index c78a4ea0..f8dbfdf3 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvDataFormat.java
@@ -22,9 +22,9 @@ package org.apache.fesod.sheet.metadata.csv;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.constant.BuiltinFormats;
-import org.apache.fesod.sheet.util.ListUtils;
-import org.apache.fesod.sheet.util.MapUtils;
import org.apache.poi.ss.usermodel.DataFormat;
/**
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java
index c94a2ccb..75c4c541 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/csv/CsvSheet.java
@@ -31,14 +31,14 @@ import lombok.Getter;
import lombok.Setter;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.constant.BuiltinFormats;
import org.apache.fesod.sheet.enums.ByteOrderMarkEnum;
import org.apache.fesod.sheet.enums.NumericCellTypeEnum;
import org.apache.fesod.sheet.exception.ExcelGenerateException;
import org.apache.fesod.sheet.util.DateUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.NumberDataFormatterUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.ss.usermodel.AutoFilter;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellRange;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java
index b99881c1..6123021f 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/CellData.java
@@ -23,9 +23,9 @@ import java.math.BigDecimal;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
import org.apache.fesod.sheet.metadata.AbstractCell;
-import org.apache.fesod.sheet.util.StringUtils;
/**
* Excel internal cell data.
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java
index 6b89516c..238bb451 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/DataFormatData.java
@@ -22,7 +22,7 @@ package org.apache.fesod.sheet.metadata.data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
-import org.apache.fesod.sheet.util.StringUtils;
+import org.apache.fesod.common.util.StringUtils;
/**
* data format
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java
index caadfa12..dd85a6be 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/RichTextStringData.java
@@ -25,7 +25,7 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
-import org.apache.fesod.sheet.util.ListUtils;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.write.metadata.style.WriteFont;
/**
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java
index 49112a1a..14b81536 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/data/WriteCellData.java
@@ -28,8 +28,8 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.write.metadata.style.WriteCellStyle;
import org.apache.poi.ss.usermodel.CellStyle;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java
index e042caf8..cab089b8 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/DateTimeFormatProperty.java
@@ -22,8 +22,8 @@ package org.apache.fesod.sheet.metadata.property;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
+import org.apache.fesod.common.util.BooleanUtils;
import org.apache.fesod.sheet.annotation.format.DateTimeFormat;
-import org.apache.fesod.sheet.util.BooleanUtils;
/**
* Configuration from annotations
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java
index fcdba5f4..080a361a 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/ExcelHeadProperty.java
@@ -28,13 +28,13 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.enums.HeadKindEnum;
import org.apache.fesod.sheet.metadata.ConfigurationHolder;
import org.apache.fesod.sheet.metadata.FieldCache;
import org.apache.fesod.sheet.metadata.FieldWrapper;
import org.apache.fesod.sheet.metadata.Head;
import org.apache.fesod.sheet.util.ClassUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.fesod.sheet.write.metadata.holder.AbstractWriteHolder;
/**
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java
index 22033571..adec3de9 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/metadata/property/FontProperty.java
@@ -22,9 +22,9 @@ package org.apache.fesod.sheet.metadata.property;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.annotation.write.style.ContentFontStyle;
import org.apache.fesod.sheet.annotation.write.style.HeadFontStyle;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.common.usermodel.fonts.FontCharset;
import org.apache.poi.hssf.usermodel.HSSFPalette;
import org.apache.poi.ss.usermodel.Font;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java
index be21f6eb..43f399cc 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/builder/AbstractExcelReaderParameterBuilder.java
@@ -20,10 +20,10 @@
package org.apache.fesod.sheet.read.builder;
import java.util.Objects;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.metadata.AbstractParameterBuilder;
import org.apache.fesod.sheet.read.listener.ReadListener;
import org.apache.fesod.sheet.read.metadata.ReadBasicParameter;
-import org.apache.fesod.sheet.util.ListUtils;
/**
* Build ExcelBuilder
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java
index 5d60b913..e4804d36 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/ModelBuildEventListener.java
@@ -23,6 +23,7 @@ import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Map;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.shaded.cglib.beans.BeanMap;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
@@ -38,7 +39,6 @@ import org.apache.fesod.sheet.util.BeanMapUtils;
import org.apache.fesod.sheet.util.ClassUtils;
import org.apache.fesod.sheet.util.ConverterUtils;
import org.apache.fesod.sheet.util.DateUtils;
-import org.apache.fesod.sheet.util.MapUtils;
/**
* Convert to the object the user needs
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java
index b1cf6fc6..bdbce76b 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/listener/PageReadListener.java
@@ -22,8 +22,8 @@ package org.apache.fesod.sheet.read.listener;
import java.util.List;
import java.util.function.Consumer;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.context.AnalysisContext;
-import org.apache.fesod.sheet.util.ListUtils;
/**
* page read listener
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java
index 779ec0c0..3ee967d2 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/AbstractReadHolder.java
@@ -25,6 +25,7 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.converters.Converter;
import org.apache.fesod.sheet.converters.ConverterKeyBuild;
import org.apache.fesod.sheet.converters.DefaultConverterLoader;
@@ -35,7 +36,6 @@ import org.apache.fesod.sheet.read.listener.ReadListener;
import org.apache.fesod.sheet.read.metadata.ReadBasicParameter;
import org.apache.fesod.sheet.read.metadata.ReadWorkbook;
import org.apache.fesod.sheet.read.metadata.property.ExcelReadHeadProperty;
-import org.apache.fesod.sheet.util.ListUtils;
/**
* Read Holder
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java
index 5a576760..3ea76c72 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java
@@ -24,12 +24,12 @@ import javax.xml.parsers.SAXParserFactory;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.constant.BuiltinFormats;
import org.apache.fesod.sheet.metadata.data.DataFormatData;
import org.apache.fesod.sheet.read.metadata.ReadWorkbook;
import org.apache.fesod.sheet.read.metadata.holder.ReadWorkbookHolder;
import org.apache.fesod.sheet.support.ExcelTypeEnum;
-import org.apache.fesod.sheet.util.MapUtils;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.apache.poi.xssf.model.StylesTable;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java
index 6996a08b..d6f6abf7 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/read/processor/DefaultAnalysisEventProcessor.java
@@ -24,6 +24,8 @@ import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
+import org.apache.fesod.common.util.BooleanUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
import org.apache.fesod.sheet.enums.HeadKindEnum;
@@ -36,9 +38,7 @@ import org.apache.fesod.sheet.read.listener.ReadListener;
import org.apache.fesod.sheet.read.metadata.holder.ReadRowHolder;
import org.apache.fesod.sheet.read.metadata.holder.ReadSheetHolder;
import org.apache.fesod.sheet.read.metadata.property.ExcelReadHeadProperty;
-import org.apache.fesod.sheet.util.BooleanUtils;
import org.apache.fesod.sheet.util.ConverterUtils;
-import org.apache.fesod.sheet.util.StringUtils;
/**
* Analysis event
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java
index c795d2c1..4a1f76f1 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/support/ExcelTypeEnum.java
@@ -24,10 +24,10 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import lombok.Getter;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.exception.ExcelAnalysisException;
import org.apache.fesod.sheet.exception.ExcelCommonException;
import org.apache.fesod.sheet.read.metadata.ReadWorkbook;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.EmptyFileException;
import org.apache.poi.util.IOUtils;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
deleted file mode 100644
index 0fa18d5e..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/BooleanUtils.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-public class BooleanUtils {
-
- private static final String TRUE_NUMBER = "1";
-
- private BooleanUtils() {}
-
- /**
- * String to boolean
- *
- * @param str
- * @return
- */
- public static Boolean valueOf(String str) {
- if (TRUE_NUMBER.equals(str)) {
- return Boolean.TRUE;
- } else {
- return Boolean.FALSE;
- }
- }
-
- // boolean Boolean methods
- // -----------------------------------------------------------------------
-
- /**
- * <p>Checks if a {@code Boolean} value is {@code true},
- * handling {@code null} by returning {@code false}.</p>
- *
- * <pre>
- * BooleanUtils.isTrue(Boolean.TRUE) = true
- * BooleanUtils.isTrue(Boolean.FALSE) = false
- * BooleanUtils.isTrue(null) = false
- * </pre>
- *
- * @param bool the boolean to check, null returns {@code false}
- * @return {@code true} only if the input is non-null and true
- */
- public static boolean isTrue(final Boolean bool) {
- return Boolean.TRUE.equals(bool);
- }
-
- /**
- * <p>Checks if a {@code Boolean} value is <i>not</i> {@code true},
- * handling {@code null} by returning {@code true}.</p>
- *
- * <pre>
- * BooleanUtils.isNotTrue(Boolean.TRUE) = false
- * BooleanUtils.isNotTrue(Boolean.FALSE) = true
- * BooleanUtils.isNotTrue(null) = true
- * </pre>
- *
- * @param bool the boolean to check, null returns {@code true}
- * @return {@code true} if the input is null or false
- */
- public static boolean isNotTrue(final Boolean bool) {
- return !isTrue(bool);
- }
-
- /**
- * <p>Checks if a {@code Boolean} value is {@code false},
- * handling {@code null} by returning {@code false}.</p>
- *
- * <pre>
- * BooleanUtils.isFalse(Boolean.TRUE) = false
- * BooleanUtils.isFalse(Boolean.FALSE) = true
- * BooleanUtils.isFalse(null) = false
- * </pre>
- *
- * @param bool the boolean to check, null returns {@code false}
- * @return {@code true} only if the input is non-null and false
- */
- public static boolean isFalse(final Boolean bool) {
- return Boolean.FALSE.equals(bool);
- }
-
- /**
- * <p>Checks if a {@code Boolean} value is <i>not</i> {@code false},
- * handling {@code null} by returning {@code true}.</p>
- *
- * <pre>
- * BooleanUtils.isNotFalse(Boolean.TRUE) = true
- * BooleanUtils.isNotFalse(Boolean.FALSE) = false
- * BooleanUtils.isNotFalse(null) = true
- * </pre>
- *
- * @param bool the boolean to check, null returns {@code true}
- * @return {@code true} if the input is null or true
- */
- public static boolean isNotFalse(final Boolean bool) {
- return !isFalse(bool);
- }
-}
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java
index 0ce6247f..9ba01307 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ClassUtils.java
@@ -39,6 +39,8 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.shaded.cglib.beans.BeanMap;
import org.apache.fesod.sheet.annotation.ExcelIgnore;
import org.apache.fesod.sheet.annotation.ExcelIgnoreUnannotated;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java
index e1edbf66..72846ebe 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ConverterUtils.java
@@ -23,6 +23,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Map;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.converters.Converter;
import org.apache.fesod.sheet.converters.ConverterKeyBuild;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/DateUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/DateUtils.java
index 4086bc2b..ecd91596 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/DateUtils.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/DateUtils.java
@@ -33,6 +33,9 @@ import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import java.util.regex.Pattern;
+import org.apache.fesod.common.util.BooleanUtils;
+import org.apache.fesod.common.util.MapUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.util.LocaleUtil;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java
index 24281f6f..d2e4b05d 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FieldUtils.java
@@ -22,6 +22,8 @@ package org.apache.fesod.sheet.util;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Map;
+import org.apache.fesod.common.util.MemberUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.shaded.cglib.beans.BeanMap;
import org.apache.fesod.sheet.metadata.NullObject;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileUtils.java
index b8931b45..465509db 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileUtils.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/FileUtils.java
@@ -27,6 +27,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;
+import org.apache.fesod.common.util.IoUtils;
import org.apache.fesod.sheet.exception.ExcelAnalysisException;
import org.apache.fesod.sheet.exception.ExcelCommonException;
import org.apache.poi.util.TempFile;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
deleted file mode 100644
index ea799132..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IntUtils.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-/**
- * Int utils
- *
- *
- **/
-public class IntUtils {
- private IntUtils() {}
-
- /**
- * The largest power of two that can be represented as an {@code int}.
- */
- public static final int MAX_POWER_OF_TWO = 1 << (Integer.SIZE - 2);
-
- /**
- * Returns the {@code int} nearest in value to {@code value}.
- *
- * @param value any {@code long} value
- * @return the same value cast to {@code int} if it is in the range of the
{@code int} type,
- * {@link Integer#MAX_VALUE} if it is too large, or {@link
Integer#MIN_VALUE} if it is too
- * small
- */
- public static int saturatedCast(long value) {
- if (value > Integer.MAX_VALUE) {
- return Integer.MAX_VALUE;
- }
- if (value < Integer.MIN_VALUE) {
- return Integer.MIN_VALUE;
- }
- return (int) value;
- }
-}
diff --git a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
deleted file mode 100644
index b2dbdcba..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/IoUtils.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-/**
- * IO Utils
- *
- *
- */
-public class IoUtils {
- public static final int EOF = -1;
- /**
- * The default buffer size ({@value}) to use for
- */
- private static final int DEFAULT_BUFFER_SIZE = 1024 * 4;
-
- private IoUtils() {}
-
- /**
- * Gets the contents of an InputStream as a byte[].
- *
- * @param input
- * @return
- * @throws IOException
- */
- public static byte[] toByteArray(final InputStream input) throws
IOException {
- final ByteArrayOutputStream output = new ByteArrayOutputStream();
- try {
- copy(input, output);
- return output.toByteArray();
- } finally {
- output.toByteArray();
- }
- }
-
- /**
- * Gets the contents of an InputStream as a byte[].
- *
- * @param input
- * @param size
- * @return
- * @throws IOException
- */
- public static byte[] toByteArray(final InputStream input, final int size)
throws IOException {
- if (size < 0) {
- throw new IllegalArgumentException("Size must be equal or greater
than zero: " + size);
- }
- if (size == 0) {
- return new byte[0];
- }
- final byte[] data = new byte[size];
- int offset = 0;
- int read;
- while (offset < size && (read = input.read(data, offset, size -
offset)) != EOF) {
- offset += read;
- }
- if (offset != size) {
- throw new IOException("Unexpected read size. current: " + offset +
", expected: " + size);
- }
- return data;
- }
-
- /**
- * Copies bytes
- *
- * @param input
- * @param output
- * @return
- * @throws IOException
- */
- public static int copy(final InputStream input, final OutputStream output)
throws IOException {
- long count = 0;
- int n;
- byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
- while (EOF != (n = input.read(buffer))) {
- output.write(buffer, 0, n);
- count += n;
- }
- if (count > Integer.MAX_VALUE) {
- return -1;
- }
- return (int) count;
- }
-}
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
deleted file mode 100644
index ce2fe8c6..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/ListUtils.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import lombok.NonNull;
-import org.apache.commons.compress.utils.Iterators;
-
-public class ListUtils {
- private ListUtils() {}
-
- /**
- * Creates a <i>mutable</i>, empty {@code ArrayList} instance (for Java 6
and earlier).
- *
- * <p><b>Note for Java 7 and later:</b> this method is now unnecessary and
should be treated as
- * deprecated. Instead, use the {@code ArrayList} {@linkplain
ArrayList#ArrayList() constructor}
- * directly, taking advantage of the new <a
href="http://goo.gl/iz2Wi">"diamond" syntax</a>.
- */
- public static <E> ArrayList<E> newArrayList() {
- return new ArrayList<>();
- }
-
- /**
- * Creates a <i>mutable</i> {@code ArrayList} instance containing the
given elements.
- *
- */
- public static <E> ArrayList<E> newArrayList(E... elements) {
- checkNotNull(elements);
- // Avoid integer overflow when a large array is passed in
- int capacity = computeArrayListCapacity(elements.length);
- ArrayList<E> list = new ArrayList<>(capacity);
- Collections.addAll(list, elements);
- return list;
- }
-
- /**
- * Creates a <i>mutable</i> {@code ArrayList} instance containing the
given elements; a very thin
- * shortcut for creating an empty list and then calling {@link
Iterators#addAll}.
- *
- */
- public static <E> ArrayList<E> newArrayList(Iterator<? extends E>
elements) {
- ArrayList<E> list = newArrayList();
- Iterators.addAll(list, elements);
- return list;
- }
-
- /**
- * Creates a <i>mutable</i> {@code ArrayList} instance containing the
given elements;
- *
- *
- * <p><b>Note for Java 7 and later:</b> if {@code elements} is a {@link
Collection}, you don't
- * need this method. Use the {@code ArrayList} {@linkplain
ArrayList#ArrayList(Collection)
- * constructor} directly, taking advantage of the new <a
href="http://goo.gl/iz2Wi">"diamond"
- * syntax</a>.
- */
- public static <E> ArrayList<E> newArrayList(Iterable<? extends E>
elements) {
- checkNotNull(elements); // for GWT
- // Let ArrayList's sizing logic work, if possible
- return (elements instanceof Collection)
- ? new ArrayList<>((Collection<? extends E>) elements)
- : newArrayList(elements.iterator());
- }
-
- /**
- * Creates an {@code ArrayList} instance backed by an array with the
specified initial size;
- * simply delegates to {@link ArrayList#ArrayList(int)}.
- *
- * <p><b>Note for Java 7 and later:</b> this method is now unnecessary and
should be treated as
- * deprecated. Instead, use {@code new }{@link ArrayList#ArrayList(int)
ArrayList}{@code <>(int)}
- * directly, taking advantage of the new <a
href="http://goo.gl/iz2Wi">"diamond" syntax</a>.
- * (Unlike here, there is no risk of overload ambiguity, since the {@code
ArrayList} constructors
- * very wisely did not accept varargs.)
- *
- * @param initialArraySize the exact size of the initial backing array for
the returned array list
- * ({@code ArrayList} documentation calls this
value the "capacity")
- * @return a new, empty {@code ArrayList} which is guaranteed not to
resize itself unless its size
- * reaches {@code initialArraySize + 1}
- * @throws IllegalArgumentException if {@code initialArraySize} is negative
- */
- public static <E> ArrayList<E> newArrayListWithCapacity(int
initialArraySize) {
- checkNonnegative(initialArraySize, "initialArraySize");
- return new ArrayList<>(initialArraySize);
- }
-
- /**
- * Creates an {@code ArrayList} instance to hold {@code estimatedSize}
elements, <i>plus</i> an
- * unspecified amount of padding; you almost certainly mean to call {@link
- * #newArrayListWithCapacity} (see that method for further advice on
usage).
- *
- * <p><b>Note:</b> This method will soon be deprecated. Even in the rare
case that you do want
- * some amount of padding, it's best if you choose your desired amount
explicitly.
- *
- * @param estimatedSize an estimate of the eventual {@link List#size()} of
the new list
- * @return a new, empty {@code ArrayList}, sized appropriately to hold the
estimated number of
- * elements
- * @throws IllegalArgumentException if {@code estimatedSize} is negative
- */
- public static <E> ArrayList<E> newArrayListWithExpectedSize(int
estimatedSize) {
- return new ArrayList<>(computeArrayListCapacity(estimatedSize));
- }
-
- static int computeArrayListCapacity(int arraySize) {
- checkNonnegative(arraySize, "arraySize");
- return IntUtils.saturatedCast(5L + arraySize + (arraySize / 10));
- }
-
- static int checkNonnegative(int value, String name) {
- if (value < 0) {
- throw new IllegalArgumentException(name + " cannot be negative but
was: " + value);
- }
- return value;
- }
-
- /**
- * Ensures that an object reference passed as a parameter to the calling
method is not null.
- *
- * @param reference an object reference
- * @return the non-null reference that was validated
- * @throws NullPointerException if {@code reference} is null
- */
- public static <T extends @NonNull Object> T checkNotNull(T reference) {
- if (reference == null) {
- throw new NullPointerException();
- }
- return reference;
- }
-}
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
deleted file mode 100644
index 779472a4..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MapUtils.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.TreeMap;
-
-public class MapUtils {
-
- private MapUtils() {}
-
- /**
- * Creates a <i>mutable</i>, empty {@code HashMap} instance.
- *
- * <p><b>Note:</b> if mutability is not required, use ImmutableMap.of()
instead.
- *
- * <p><b>Note:</b> if {@code K} is an {@code enum} type, use newEnumMap
instead.
- *
- * <p><b>Note for Java 7 and later:</b> this method is now unnecessary and
should be treated as
- * deprecated. Instead, use the {@code HashMap} constructor directly,
taking advantage of the new
- * <a href="http://goo.gl/iz2Wi">"diamond" syntax</a>.
- *
- * @return a new, empty {@code HashMap}
- */
- public static <K, V> HashMap<K, V> newHashMap() {
- return new HashMap<>(16);
- }
-
- /**
- * Creates a <i>mutable</i>, empty {@code TreeMap} instance using the
natural ordering of its
- * elements.
- *
- * <p><b>Note:</b> if mutability is not required, use
ImmutableSortedMap.of() instead.
- *
- * <p><b>Note for Java 7 and later:</b> this method is now unnecessary and
should be treated as
- * deprecated. Instead, use the {@code TreeMap} constructor directly,
taking advantage of the new
- * <a href="http://goo.gl/iz2Wi">"diamond" syntax</a>.
- *
- * @return a new, empty {@code TreeMap}
- */
- public static <K extends Comparable, V> TreeMap<K, V> newTreeMap() {
- return new TreeMap<>();
- }
-
- /**
- * Creates a {@code HashMap} instance, with a high enough "initial
capacity" that it <i>should</i>
- * hold {@code expectedSize} elements without growth. This behavior cannot
be broadly guaranteed,
- * but it is observed to be true for OpenJDK 1.7. It also can't be
guaranteed that the method
- * isn't inadvertently <i>oversizing</i> the returned map.
- *
- * @param expectedSize the number of entries you expect to add to the
returned map
- * @return a new, empty {@code HashMap} with enough capacity to hold
{@code expectedSize} entries
- * without resizing
- * @throws IllegalArgumentException if {@code expectedSize} is negative
- */
- public static <K, V> HashMap<K, V> newHashMapWithExpectedSize(int
expectedSize) {
- return new HashMap<>(capacity(expectedSize));
- }
-
- /**
- * Creates a <i>mutable</i>, empty, insertion-ordered {@code
LinkedHashMap} instance.
- *
- * <p><b>Note:</b> if mutability is not required, use ImmutableMap.of()
instead.
- *
- * <p><b>Note for Java 7 and later:</b> this method is now unnecessary and
should be treated as
- * deprecated. Instead, use the {@code LinkedHashMap} constructor
directly, taking advantage of
- * the new <a href="http://goo.gl/iz2Wi">"diamond" syntax</a>.
- *
- * @return a new, empty {@code LinkedHashMap}
- */
- public static <K, V> LinkedHashMap<K, V> newLinkedHashMap() {
- return new LinkedHashMap<>();
- }
-
- /**
- * Creates a {@code LinkedHashMap} instance, with a high enough "initial
capacity" that it
- * <i>should</i> hold {@code expectedSize} elements without growth. This
behavior cannot be
- * broadly guaranteed, but it is observed to be true for OpenJDK 1.7. It
also can't be guaranteed
- * that the method isn't inadvertently <i>oversizing</i> the returned map.
- *
- * @param expectedSize the number of entries you expect to add to the
returned map
- * @return a new, empty {@code LinkedHashMap} with enough capacity to hold
{@code expectedSize}
- * entries without resizing
- * @throws IllegalArgumentException if {@code expectedSize} is negative
- */
- public static <K, V> LinkedHashMap<K, V>
newLinkedHashMapWithExpectedSize(int expectedSize) {
- return new LinkedHashMap<>(capacity(expectedSize));
- }
-
- /**
- * Returns a capacity that is sufficient to keep the map from being
resized as long as it grows no
- * larger than expectedSize and the load factor is ≥ its default (0.75).
- */
- static int capacity(int expectedSize) {
- if (expectedSize < 3) {
- return expectedSize + 1;
- }
- if (expectedSize < IntUtils.MAX_POWER_OF_TWO) {
- // This is the calculation used in JDK8 to resize when a putAll
- // happens; it seems to be the most conservative calculation we
- // can make. 0.75 is the default load factor.
- return (int) ((float) expectedSize / 0.75F + 1.0F);
- }
- return Integer.MAX_VALUE;
- }
-}
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
deleted file mode 100644
index 85af6920..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/MemberUtils.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.Member;
-import java.lang.reflect.Modifier;
-
-public class MemberUtils {
-
- private static final int ACCESS_TEST = Modifier.PUBLIC |
Modifier.PROTECTED | Modifier.PRIVATE;
-
- /**
- * XXX Default access superclass workaround.
- *
- * When a {@code public} class has a default access superclass with {@code
public} members,
- * these members are accessible. Calling them from compiled code works
fine.
- * Unfortunately, on some JVMs, using reflection to invoke these members
- * seems to (wrongly) prevent access even when the modifier is {@code
public}.
- * Calling {@code setAccessible(true)} solves the problem but will only
work from
- * sufficiently privileged code. Better workarounds would be gratefully
- * accepted.
- * @param o the AccessibleObject to set as accessible
- * @return a boolean indicating whether the accessibility of the object
was set to true.
- */
- static boolean setAccessibleWorkaround(final AccessibleObject o) {
- if (o == null || o.isAccessible()) {
- return false;
- }
- final Member m = (Member) o;
- if (!o.isAccessible()
- && Modifier.isPublic(m.getModifiers())
- && isPackageAccess(m.getDeclaringClass().getModifiers())) {
- try {
- o.setAccessible(true);
- return true;
- } catch (final SecurityException e) { // NOPMD
- // ignore in favor of subsequent IllegalAccessException
- }
- }
- return false;
- }
-
- /**
- * Returns whether a given set of modifiers implies package access.
- * @param modifiers to test
- * @return {@code true} unless {@code package}/{@code protected}/{@code
private} modifier detected
- */
- static boolean isPackageAccess(final int modifiers) {
- return (modifiers & ACCESS_TEST) == 0;
- }
-}
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java
index 19a1984f..6cf48224 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/NumberUtils.java
@@ -23,6 +23,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.ParseException;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
import org.apache.fesod.sheet.metadata.property.ExcelContentProperty;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
deleted file mode 100644
index a69ed9dd..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/PositionUtils.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-import java.util.regex.Pattern;
-
-/**
- *
- */
-public class PositionUtils {
-
- private static final Pattern CELL_REF_PATTERN =
- Pattern.compile("(\\$?[A-Z]+)?" + "(\\$?[0-9]+)?",
Pattern.CASE_INSENSITIVE);
- private static final char SHEET_NAME_DELIMITER = '!';
- private static final char REDUNDANT_CHARACTERS = '$';
-
- private PositionUtils() {}
-
- public static int getRowByRowTagt(String rowTagt, Integer before) {
- int row;
- if (rowTagt != null) {
- row = Integer.parseInt(rowTagt) - 1;
- return row;
- } else {
- if (before == null) {
- before = -1;
- }
- return before + 1;
- }
- }
-
- public static int getRow(String currentCellIndex) {
- if (currentCellIndex == null) {
- return -1;
- }
- int firstNumber = currentCellIndex.length() - 1;
- for (; firstNumber >= 0; firstNumber--) {
- char c = currentCellIndex.charAt(firstNumber);
- if (c < '0' || c > '9') {
- break;
- }
- }
- return Integer.parseUnsignedInt(currentCellIndex.substring(firstNumber
+ 1)) - 1;
- }
-
- public static int getCol(String currentCellIndex, Integer before) {
- if (currentCellIndex == null) {
- if (before == null) {
- before = -1;
- }
- return before + 1;
- }
- int firstNumber = currentCellIndex.charAt(0) == REDUNDANT_CHARACTERS ?
1 : 0;
- int col = 0;
- for (; firstNumber < currentCellIndex.length(); firstNumber++) {
- char c = currentCellIndex.charAt(firstNumber);
- boolean isNotLetter = c == REDUNDANT_CHARACTERS || (c >= '0' && c
<= '9');
- if (isNotLetter) {
- break;
- }
- col = col * 26 + Character.toUpperCase(c) - 'A' + 1;
- }
- return col - 1;
- }
-}
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java
index d7d75a75..1bd7cbdd 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/SheetUtils.java
@@ -20,6 +20,7 @@
package org.apache.fesod.sheet.util;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.read.metadata.ReadSheet;
import org.apache.fesod.sheet.read.metadata.holder.ReadWorkbookHolder;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
deleted file mode 100644
index 42ed9d99..00000000
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StringUtils.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-public class StringUtils {
- private StringUtils() {}
-
- /**
- * A String for a space character.
- */
- public static final String SPACE = " ";
-
- /**
- * The empty String {@code ""}.
- */
- public static final String EMPTY = "";
-
- /**
- * <p>Checks if a CharSequence is empty ("") or null.</p>
- *
- * <pre>
- * StringUtils.isEmpty(null) = true
- * StringUtils.isEmpty("") = true
- * StringUtils.isEmpty(" ") = false
- * StringUtils.isEmpty("bob") = false
- * StringUtils.isEmpty(" bob ") = false
- * </pre>
- *
- * <p>NOTE: This method changed in Lang version 2.0.
- * It no longer trims the CharSequence.
- * That functionality is available in isBlank().</p>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if the CharSequence is empty or null
- */
- public static boolean isEmpty(final CharSequence cs) {
- return cs == null || cs.length() == 0;
- }
-
- /**
- * <p>Checks if a CharSequence is empty (""), null or whitespace only.</p>
- *
- * <p>Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
- *
- * <pre>
- * StringUtils.isBlank(null) = true
- * StringUtils.isBlank("") = true
- * StringUtils.isBlank(" ") = true
- * StringUtils.isBlank("bob") = false
- * StringUtils.isBlank(" bob ") = false
- * </pre>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if the CharSequence is null, empty or whitespace
only
- */
- public static boolean isBlank(final CharSequence cs) {
- int strLen;
- if (cs == null || (strLen = cs.length()) == 0) {
- return true;
- }
- for (int i = 0; i < strLen; i++) {
- if (!Character.isWhitespace(cs.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * <p>Checks if a CharSequence is not empty (""), not null and not
whitespace only.</p>
- *
- * <p>Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
- *
- * <pre>
- * StringUtils.isNotBlank(null) = false
- * StringUtils.isNotBlank("") = false
- * StringUtils.isNotBlank(" ") = false
- * StringUtils.isNotBlank("bob") = true
- * StringUtils.isNotBlank(" bob ") = true
- * </pre>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if the CharSequence is
- * not empty and not null and not whitespace only
- */
- public static boolean isNotBlank(final CharSequence cs) {
- return !isBlank(cs);
- }
-
- /**
- * <p>Compares two CharSequences, returning {@code true} if they represent
- * equal sequences of characters.</p>
- *
- * <p>{@code null}s are handled without exceptions. Two {@code null}
- * references are considered to be equal. The comparison is case
sensitive.</p>
- *
- * <pre>
- * StringUtils.equals(null, null) = true
- * StringUtils.equals(null, "abc") = false
- * StringUtils.equals("abc", null) = false
- * StringUtils.equals("abc", "abc") = true
- * StringUtils.equals("abc", "ABC") = false
- * </pre>
- *
- * @param cs1 the first CharSequence, may be {@code null}
- * @param cs2 the second CharSequence, may be {@code null}
- * @return {@code true} if the CharSequences are equal (case-sensitive),
or both {@code null}
- * @see Object#equals(Object)
- */
- public static boolean equals(final CharSequence cs1, final CharSequence
cs2) {
- if (cs1 == cs2) {
- return true;
- }
- if (cs1 == null || cs2 == null) {
- return false;
- }
- if (cs1.length() != cs2.length()) {
- return false;
- }
- if (cs1 instanceof String && cs2 instanceof String) {
- return cs1.equals(cs2);
- }
- return regionMatches(cs1, false, 0, cs2, 0, cs1.length());
- }
-
- /**
- * Green implementation of regionMatches.
- *
- * @param cs the {@code CharSequence} to be processed
- * @param ignoreCase whether or not to be case insensitive
- * @param thisStart the index to start on the {@code cs} CharSequence
- * @param substring the {@code CharSequence} to be looked for
- * @param start the index to start on the {@code substring}
CharSequence
- * @param length character length of the region
- * @return whether the region matched
- */
- public static boolean regionMatches(
- final CharSequence cs,
- final boolean ignoreCase,
- final int thisStart,
- final CharSequence substring,
- final int start,
- final int length) {
- if (cs instanceof String && substring instanceof String) {
- return ((String) cs).regionMatches(ignoreCase, thisStart, (String)
substring, start, length);
- }
- int index1 = thisStart;
- int index2 = start;
- int tmpLen = length;
-
- // Extract these first so we detect NPEs the same as the
java.lang.String version
- final int srcLen = cs.length() - thisStart;
- final int otherLen = substring.length() - start;
-
- // Check for invalid parameters
- if (thisStart < 0 || start < 0 || length < 0) {
- return false;
- }
-
- // Check that the regions are long enough
- if (srcLen < length || otherLen < length) {
- return false;
- }
-
- while (tmpLen-- > 0) {
- final char c1 = cs.charAt(index1++);
- final char c2 = substring.charAt(index2++);
-
- if (c1 == c2) {
- continue;
- }
-
- if (!ignoreCase) {
- return false;
- }
-
- // The same check as in String.regionMatches():
- if (Character.toUpperCase(c1) != Character.toUpperCase(c2)
- && Character.toLowerCase(c1) != Character.toLowerCase(c2))
{
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * <p>Checks if the CharSequence contains only Unicode digits.
- * A decimal point is not a Unicode digit and returns false.</p>
- *
- * <p>{@code null} will return {@code false}.
- * An empty CharSequence (length()=0) will return {@code false}.</p>
- *
- * <p>Note that the method does not allow for a leading sign, either
positive or negative.
- * Also, if a String passes the numeric test, it may still generate a
NumberFormatException
- * when parsed by Integer.parseInt or Long.parseLong, e.g. if the value is
outside the range
- * for int or long respectively.</p>
- *
- * <pre>
- * StringUtils.isNumeric(null) = false
- * StringUtils.isNumeric("") = false
- * StringUtils.isNumeric(" ") = false
- * StringUtils.isNumeric("123") = true
- * StringUtils.isNumeric("\u0967\u0968\u0969") = true
- * StringUtils.isNumeric("12 3") = false
- * StringUtils.isNumeric("ab2c") = false
- * StringUtils.isNumeric("12-3") = false
- * StringUtils.isNumeric("12.3") = false
- * StringUtils.isNumeric("-123") = false
- * StringUtils.isNumeric("+123") = false
- * </pre>
- *
- * @param cs the CharSequence to check, may be null
- * @return {@code true} if only contains digits, and is non-null
- */
- public static boolean isNumeric(final CharSequence cs) {
- if (isEmpty(cs)) {
- return false;
- }
- final int sz = cs.length();
- for (int i = 0; i < sz; i++) {
- if (!Character.isDigit(cs.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Strips whitespace from the start and end of a String.
- *
- * <p>This is similar to {@link String#trim()} but removes whitespace.
- * Whitespace is defined by {@link #isBlankChar(char)}.</p>
- *
- * <p>A {@code null} input String returns {@code null}.</p>
- *
- * <pre>
- * StringUtils.strip(null) = null
- * StringUtils.strip("") = ""
- * StringUtils.strip(" ") = ""
- * StringUtils.strip("abc") = "abc"
- * StringUtils.strip(" abc") = "abc"
- * StringUtils.strip("abc ") = "abc"
- * StringUtils.strip(" abc ") = "abc"
- * StringUtils.strip(" ab c ") = "ab c"
- * </pre>
- *
- * @param str the String to remove whitespace from, may be null
- * @return the stripped String, {@code null} if null String input
- */
- public static String strip(final String str) {
- if (str == null || str.isEmpty()) {
- return str;
- }
-
- int beginIndex = 0;
- int endIndex = str.length() - 1;
-
- while (beginIndex <= endIndex && isBlankChar(str.charAt(beginIndex))) {
- beginIndex++;
- }
-
- while (endIndex > beginIndex && isBlankChar(str.charAt(endIndex))) {
- endIndex--;
- }
-
- return str.substring(beginIndex, endIndex + 1);
- }
-
- /**
- * Checks if the character is whitespace
- *
- * @param ch the character to check
- * @return {@code true} if the character is a Java whitespace
- * character; {@code false} otherwise.
- * @see java.lang.Character#isWhitespace(char)
- * @see java.lang.Character#isSpaceChar(char)
- */
- public static boolean isBlankChar(final char ch) {
- return Character.isSpaceChar(ch)
- || Character.isWhitespace(ch)
- || ch == '\u202a'
- || ch == '\ufeff'
- || ch == '\u3164'
- || ch == '\u2800'
- || ch == '\u200c'
- || ch == '\u180e';
- }
-}
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java
index cec83fef..39be6627 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/StyleUtil.java
@@ -23,6 +23,7 @@ import java.util.Optional;
import java.util.function.Consumer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.constant.BuiltinFormats;
import org.apache.fesod.sheet.metadata.data.DataFormatData;
import org.apache.fesod.sheet.metadata.data.HyperlinkData;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java
index 7c17a30a..70a9ce93 100644
--- a/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java
+++ b/fesod-sheet/src/main/java/org/apache/fesod/sheet/util/WorkBookUtil.java
@@ -22,6 +22,7 @@ package org.apache.fesod.sheet.util;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.metadata.csv.CsvWorkbook;
import org.apache.fesod.sheet.metadata.data.DataFormatData;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java
index 7002751f..1db12319 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/AbstractExcelWriteExecutor.java
@@ -21,6 +21,7 @@ package org.apache.fesod.sheet.write.executor;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.context.WriteContext;
import org.apache.fesod.sheet.converters.Converter;
import org.apache.fesod.sheet.converters.ConverterKeyBuild;
@@ -37,7 +38,6 @@ import
org.apache.fesod.sheet.metadata.property.ExcelContentProperty;
import org.apache.fesod.sheet.support.ExcelTypeEnum;
import org.apache.fesod.sheet.util.DateUtils;
import org.apache.fesod.sheet.util.FileTypeUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.StyleUtil;
import org.apache.fesod.sheet.util.WorkBookUtil;
import org.apache.fesod.sheet.util.WriteHandlerUtils;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java
index 597f6fa2..cd36b9f5 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/executor/ExcelWriteFillExecutor.java
@@ -34,6 +34,9 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.MapUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.context.WriteContext;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
import org.apache.fesod.sheet.enums.WriteDirectionEnum;
@@ -44,10 +47,7 @@ import
org.apache.fesod.sheet.metadata.property.ExcelContentProperty;
import org.apache.fesod.sheet.util.BeanMapUtils;
import org.apache.fesod.sheet.util.ClassUtils;
import org.apache.fesod.sheet.util.FieldUtils;
-import org.apache.fesod.sheet.util.ListUtils;
-import org.apache.fesod.sheet.util.MapUtils;
import org.apache.fesod.sheet.util.PoiUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.fesod.sheet.util.WriteHandlerUtils;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
import org.apache.fesod.sheet.write.handler.context.RowWriteHandlerContext;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java
index 14bfd594..71e29d7f 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/FillStyleCellWriteHandler.java
@@ -20,9 +20,9 @@
package org.apache.fesod.sheet.write.handler.impl;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.BooleanUtils;
import org.apache.fesod.sheet.constant.OrderConstant;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
-import org.apache.fesod.sheet.util.BooleanUtils;
import org.apache.fesod.sheet.write.handler.CellWriteHandler;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
import org.apache.fesod.sheet.write.metadata.holder.WriteWorkbookHolder;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java
index 164ac5ef..82d7d467 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/handler/impl/WriteSheetWorkbookWriteHandler.java
@@ -24,8 +24,8 @@ import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import org.apache.commons.collections4.MapUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.constant.OrderConstant;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.fesod.sheet.write.handler.WorkbookWriteHandler;
import org.apache.fesod.sheet.write.metadata.holder.WriteSheetHolder;
import org.apache.fesod.sheet.write.metadata.holder.WriteWorkbookHolder;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java
index 2391b68c..faf578db 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteSheetHolder.java
@@ -25,9 +25,9 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.enums.HolderEnum;
import org.apache.fesod.sheet.enums.WriteLastRowTypeEnum;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.fesod.sheet.write.metadata.WriteSheet;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.usermodel.Sheet;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java
index f196fc66..d11865c1 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/holder/WriteWorkbookHolder.java
@@ -34,6 +34,8 @@ import lombok.Getter;
import lombok.Setter;
import lombok.ToString.Exclude;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.IoUtils;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
import org.apache.fesod.sheet.enums.HolderEnum;
import org.apache.fesod.sheet.exception.ExcelGenerateException;
@@ -41,8 +43,6 @@ import org.apache.fesod.sheet.metadata.data.DataFormatData;
import org.apache.fesod.sheet.support.ExcelTypeEnum;
import org.apache.fesod.sheet.util.DateUtils;
import org.apache.fesod.sheet.util.FileUtils;
-import org.apache.fesod.sheet.util.IoUtils;
-import org.apache.fesod.sheet.util.MapUtils;
import org.apache.fesod.sheet.util.StyleUtil;
import
org.apache.fesod.sheet.write.handler.context.WorkbookWriteHandlerContext;
import org.apache.fesod.sheet.write.metadata.WriteWorkbook;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java
index 63557a37..24153cf2 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteCellStyle.java
@@ -22,11 +22,11 @@ package org.apache.fesod.sheet.write.metadata.style;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.constant.BuiltinFormats;
import org.apache.fesod.sheet.metadata.data.DataFormatData;
import org.apache.fesod.sheet.metadata.property.FontProperty;
import org.apache.fesod.sheet.metadata.property.StyleProperty;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java
index a763464f..c24c917e 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/metadata/style/WriteFont.java
@@ -22,7 +22,7 @@ package org.apache.fesod.sheet.write.metadata.style;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
-import org.apache.fesod.sheet.util.StringUtils;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.poi.common.usermodel.fonts.FontCharset;
import org.apache.poi.hssf.usermodel.HSSFPalette;
import org.apache.poi.ss.usermodel.Font;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java
index 7a740221..446ffb26 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/HorizontalCellStyleStrategy.java
@@ -24,8 +24,8 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
import org.apache.fesod.sheet.write.metadata.style.WriteCellStyle;
diff --git
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java
index 1f3596d7..8888e656 100644
---
a/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java
+++
b/fesod-sheet/src/main/java/org/apache/fesod/sheet/write/style/column/LongestMatchColumnWidthStyleStrategy.java
@@ -23,10 +23,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.enums.CellDataTypeEnum;
import org.apache.fesod.sheet.metadata.Head;
import org.apache.fesod.sheet.metadata.data.WriteCellData;
-import org.apache.fesod.sheet.util.MapUtils;
import org.apache.fesod.sheet.write.metadata.holder.WriteSheetHolder;
import org.apache.poi.ss.usermodel.Cell;
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java
index edb6be0b..95a80b31 100644
---
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java
+++
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/annotation/ExcelPropertyFormatTest.java
@@ -33,11 +33,11 @@ import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import lombok.Data;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.annotation.format.DateTimeFormat;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.read.listener.ReadListener;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.jupiter.api.Test;
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java
index 86155338..89e0ae0d 100644
--- a/fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java
+++ b/fesod-sheet/src/test/java/org/apache/fesod/sheet/bom/BomDataTest.java
@@ -26,12 +26,12 @@ import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.metadata.data.ReadCellData;
import org.apache.fesod.sheet.read.listener.ReadListener;
import org.apache.fesod.sheet.support.ExcelTypeEnum;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.MethodOrderer;
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
index 4803c4a6..3baefab6 100644
--- a/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
+++ b/fesod-sheet/src/test/java/org/apache/fesod/sheet/csv/CsvFormatTest.java
@@ -31,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
import org.apache.commons.csv.QuoteMode;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.ExcelReader;
import org.apache.fesod.sheet.ExcelWriter;
import org.apache.fesod.sheet.FesodSheet;
@@ -41,7 +42,6 @@ import
org.apache.fesod.sheet.read.metadata.holder.ReadWorkbookHolder;
import org.apache.fesod.sheet.read.metadata.holder.csv.CsvReadWorkbookHolder;
import org.apache.fesod.sheet.support.ExcelTypeEnum;
import org.apache.fesod.sheet.util.DateUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.metadata.WriteSheet;
import org.apache.fesod.sheet.write.metadata.holder.WriteWorkbookHolder;
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java
index 1ccbee5a..7792a2ce 100644
---
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java
+++
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/exception/ExcelAnalysisStopSheetExceptionDataListener.java
@@ -23,10 +23,10 @@ import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.ListUtils;
+import org.apache.fesod.common.util.MapUtils;
import org.apache.fesod.sheet.context.AnalysisContext;
import org.apache.fesod.sheet.event.AnalysisEventListener;
-import org.apache.fesod.sheet.util.ListUtils;
-import org.apache.fesod.sheet.util.MapUtils;
import org.junit.jupiter.api.Assertions;
/**
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java
index 038e883d..9a3a199b 100644
---
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java
+++
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleAnnotatedTest.java
@@ -22,11 +22,11 @@ package org.apache.fesod.sheet.fill.style;
import java.io.File;
import java.io.FileInputStream;
import java.util.List;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.fill.FillData;
import org.apache.fesod.sheet.metadata.Head;
import org.apache.fesod.sheet.util.DateUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
import org.apache.fesod.sheet.write.metadata.style.WriteCellStyle;
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java
index 847a7d66..62b3ce3f 100644
---
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java
+++
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/fill/style/FillStyleDataTest.java
@@ -22,10 +22,10 @@ package org.apache.fesod.sheet.fill.style;
import java.io.File;
import java.io.FileInputStream;
import java.util.List;
+import org.apache.fesod.common.util.ListUtils;
import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.metadata.Head;
import org.apache.fesod.sheet.util.DateUtils;
-import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.handler.context.CellWriteHandlerContext;
import org.apache.fesod.sheet.write.metadata.style.WriteCellStyle;
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java
index 819f9dad..307cdd77 100644
---
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java
+++
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/parameter/AutoStripParameterTest.java
@@ -24,6 +24,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
+import org.apache.fesod.common.util.StringUtils;
import org.apache.fesod.sheet.ExcelReader;
import org.apache.fesod.sheet.ExcelWriter;
import org.apache.fesod.sheet.FesodSheet;
@@ -33,7 +34,6 @@ import org.apache.fesod.sheet.read.metadata.ReadSheet;
import org.apache.fesod.sheet.support.ExcelTypeEnum;
import org.apache.fesod.sheet.util.ParameterUtil;
import org.apache.fesod.sheet.util.SheetUtils;
-import org.apache.fesod.sheet.util.StringUtils;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.apache.fesod.sheet.write.metadata.WriteSheet;
import org.junit.jupiter.api.Assertions;
diff --git
a/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
b/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
deleted file mode 100644
index 1ce946b6..00000000
--- a/fesod-sheet/src/test/java/org/apache/fesod/sheet/util/StringUtilsTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.fesod.sheet.util;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-public class StringUtilsTest {
-
- @Test
- void stripTest() {
- Assertions.assertNull(StringUtils.strip(null));
- Assertions.assertEquals("", StringUtils.strip(""));
- Assertions.assertEquals("", StringUtils.strip(" "));
- Assertions.assertEquals("abc", StringUtils.strip("abc"));
- Assertions.assertEquals("abc", StringUtils.strip(" abc"));
- Assertions.assertEquals("abc", StringUtils.strip("abc "));
- Assertions.assertEquals("abc", StringUtils.strip(" abc "));
- Assertions.assertEquals("abc", StringUtils.strip(" abc "));
- Assertions.assertEquals("abc", StringUtils.strip(" abc "));
- Assertions.assertEquals("ab c", StringUtils.strip(" ab c "));
- Assertions.assertEquals("ab c", StringUtils.strip(" ab c "));
- }
-
- @Test
- void isBlankCharTest() {
- Assertions.assertTrue(StringUtils.isBlankChar(' '));
- Assertions.assertTrue(StringUtils.isBlankChar(' '));
- Assertions.assertTrue(StringUtils.isBlankChar('\ufeff'));
- Assertions.assertTrue(StringUtils.isBlankChar('\u202a'));
- Assertions.assertTrue(StringUtils.isBlankChar('\u3164'));
- Assertions.assertTrue(StringUtils.isBlankChar('\u2800'));
- Assertions.assertTrue(StringUtils.isBlankChar('\u200c'));
- Assertions.assertTrue(StringUtils.isBlankChar('\u180e'));
- }
-}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]