mirror of https://github.com/alibaba/easyexcel
Jiaju Zhuang
3 years ago
1 changed files with 101 additions and 1 deletions
@ -1,3 +1,103 @@
|
||||
package com.alibaba.excel.metadata; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
import com.alibaba.excel.converters.Converter; |
||||
import com.alibaba.excel.converters.ConverterKeyBuild.ConverterKey; |
||||
|
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.Getter; |
||||
import lombok.NoArgsConstructor; |
||||
import lombok.Setter; |
||||
|
||||
/** |
||||
* Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java
|
||||
* Write/read holder |
||||
* |
||||
* @author Jiaju Zhuang |
||||
*/ |
||||
@Getter |
||||
@Setter |
||||
@EqualsAndHashCode |
||||
@NoArgsConstructor |
||||
public abstract class AbstractHolder implements ConfigurationHolder { |
||||
/** |
||||
* Record whether it's new or from cache |
||||
*/ |
||||
private Boolean newInitialization; |
||||
/** |
||||
* You can only choose one of the {@link AbstractHolder#head} and {@link AbstractHolder#clazz} |
||||
*/ |
||||
private List<List<String>> head; |
||||
/** |
||||
* You can only choose one of the {@link AbstractHolder#head} and {@link AbstractHolder#clazz} |
||||
*/ |
||||
private Class<?> clazz; |
||||
/** |
||||
* Some global variables |
||||
*/ |
||||
private GlobalConfiguration globalConfiguration; |
||||
/** |
||||
* <p> |
||||
* Read key: |
||||
* <p> |
||||
* Write key: |
||||
*/ |
||||
private Map<ConverterKey, Converter<?>> converterMap; |
||||
|
||||
public AbstractHolder(BasicParameter basicParameter, AbstractHolder prentAbstractHolder) { |
||||
this.newInitialization = Boolean.TRUE; |
||||
if (basicParameter.getHead() == null && basicParameter.getClazz() == null && prentAbstractHolder != null) { |
||||
this.head = prentAbstractHolder.getHead(); |
||||
} else { |
||||
this.head = basicParameter.getHead(); |
||||
} |
||||
if (basicParameter.getHead() == null && basicParameter.getClazz() == null && prentAbstractHolder != null) { |
||||
this.clazz = prentAbstractHolder.getClazz(); |
||||
} else { |
||||
this.clazz = basicParameter.getClazz(); |
||||
} |
||||
this.globalConfiguration = new GlobalConfiguration(); |
||||
if (basicParameter.getAutoTrim() == null) { |
||||
if (prentAbstractHolder != null) { |
||||
globalConfiguration.setAutoTrim(prentAbstractHolder.getGlobalConfiguration().getAutoTrim()); |
||||
} |
||||
} else { |
||||
globalConfiguration.setAutoTrim(basicParameter.getAutoTrim()); |
||||
} |
||||
|
||||
if (basicParameter.getUse1904windowing() == null) { |
||||
if (prentAbstractHolder != null) { |
||||
globalConfiguration.setUse1904windowing( |
||||
prentAbstractHolder.getGlobalConfiguration().getUse1904windowing()); |
||||
} |
||||
} else { |
||||
globalConfiguration.setUse1904windowing(basicParameter.getUse1904windowing()); |
||||
} |
||||
|
||||
if (basicParameter.getLocale() == null) { |
||||
if (prentAbstractHolder != null) { |
||||
globalConfiguration.setLocale(prentAbstractHolder.getGlobalConfiguration().getLocale()); |
||||
} |
||||
} else { |
||||
globalConfiguration.setLocale(basicParameter.getLocale()); |
||||
} |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public Map<ConverterKey, Converter<?>> converterMap() { |
||||
return getConverterMap(); |
||||
} |
||||
|
||||
@Override |
||||
public GlobalConfiguration globalConfiguration() { |
||||
return getGlobalConfiguration(); |
||||
} |
||||
|
||||
@Override |
||||
public boolean isNew() { |
||||
return getNewInitialization(); |
||||
} |
||||
|
||||
} |
||||
|
Loading…
Reference in new issue