// Path: src/main/java/com/github/bingoohuang/excel2maps/impl/ColumnRef.java
// @AllArgsConstructor @Value public class ColumnRef {
//     ColumnDef columnDef;
//     int columnIndex;
// 
//     public Ignored putMapOrIgnored(Map<String, String> map, String cellValue) {
//         val upper = StringUtils.upperCase(cellValue);
//         if (wildMatch(upper, columnDef.getIgnorePattern())) return Ignored.YES;
// 
//         map.put(columnDef.getColumnName(), cellValue);
//         return Ignored.NO;
//     }
// 
//     /**
//      * The following Java method tests if a string matches a wildcard expression
//      * (supporting ? for exactly one character or * for an arbitrary number of characters):
//      *
//      * @param text    Text to test
//      * @param pattern (Wildcard) pattern to test
//      * @return True if the text matches the wildcard pattern
//      */
//     public static boolean wildMatch(String text, String pattern) {
//         if (pattern == null) return false;
// 
//         return text.matches(pattern.replace("?", ".?")
//                 .replace("*", ".*?"));
//     }
// }
// 
// Path: src/main/java/com/github/bingoohuang/excel2maps/impl/Ignored.java
// public enum Ignored {
//     YES, NO
// }


import com.github.bingoohuang.excel2maps.impl.ColumnRef;
import com.github.bingoohuang.excel2maps.impl.Ignored;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.val;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.*;
import java.util.List;
import java.util.Map;
import static org.apache.commons.lang3.StringUtils.isEmpty;
import static org.apache.commons.lang3.StringUtils.trim;
package com.github.bingoohuang.excel2maps;




public class ExcelSheetToMaps {
    private final Workbook workbook;
    private final ExcelToMapsConfig excelToMapsConfig;
// Path: src/main/java/com/github/bingoohuang/excel2maps/impl/ColumnRef.java
// @AllArgsConstructor @Value public class ColumnRef {
//     ColumnDef columnDef;
//     int columnIndex;
// 
//     public Ignored putMapOrIgnored(Map<String, String> map, String cellValue) {
//         val upper = StringUtils.upperCase(cellValue);
//         if (wildMatch(upper, columnDef.getIgnorePattern())) return Ignored.YES;
// 
//         map.put(columnDef.getColumnName(), cellValue);
//         return Ignored.NO;
//     }
// 
//     /**
//      * The following Java method tests if a string matches a wildcard expression
//      * (supporting ? for exactly one character or * for an arbitrary number of characters):
//      *
//      * @param text    Text to test
//      * @param pattern (Wildcard) pattern to test
//      * @return True if the text matches the wildcard pattern
//      */
//     public static boolean wildMatch(String text, String pattern) {
//         if (pattern == null) return false;
// 
//         return text.matches(pattern.replace("?", ".?")
//                 .replace("*", ".*?"));
//     }
// }
// 
// Path: src/main/java/com/github/bingoohuang/excel2maps/impl/Ignored.java
// public enum Ignored {
//     YES, NO
// }


// Path: src/main/java/com/github/bingoohuang/excel2maps/ExcelSheetToMaps.java
import com.github.bingoohuang.excel2maps.impl.ColumnRef;
import com.github.bingoohuang.excel2maps.impl.Ignored;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.val;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.*;
import java.util.List;
import java.util.Map;
import static org.apache.commons.lang3.StringUtils.isEmpty;
import static org.apache.commons.lang3.StringUtils.trim;

package com.github.bingoohuang.excel2maps;




public class ExcelSheetToMaps {
    private final Workbook workbook;
    private final ExcelToMapsConfig excelToMapsConfig;
    private final List<ColumnRef> columnRefs;