接口作用
希望在导如操作之前,加入一些自定义操作,可以用这个接口实现。比如导如的文件进行自定义解密。可以和ExportHandleProvider接口配合使用
接口内容
主要接口
package com.finebi.common.excel.api.handler;
import com.fr.stable.fun.mark.Mutable;
import java.io.InputStream;
/**
* 对导入流进行预处理
*/
public interface ImportHandlerProvider extends Mutable {
String XML_TAG = "ImportHandlerProvider";
int CURRENT_LEVEL = 1;
/**
* 对导入流进行预处理
*
* @param inputStream 输入流
* @param context 处理参数
* @return 处理之后的流
*/
InputStream handleStream(InputStream inputStream, ImportContext context);
}
接口接入
<extra-core>
<ImportHandlerProvider class="插件自定义实现包全名"/>
</extra-core>
提供给插件的抽象类
package com.finebi.provider.api.imports;
import com.finebi.common.excel.api.handler.ImportContext;
import com.finebi.common.excel.api.handler.ImportHandlerProvider;
import com.fr.stable.fun.mark.API;
import java.io.InputStream;
/**
* 对导入流进行预处理
* Created by Hiram on 2018/11/15.
*/
@API(level = ImportHandlerProvider.CURRENT_LEVEL)
public abstract class AbstractImportHandlerProvider implements ImportHandlerProvider {
@Override
public int currentAPILevel() {
return CURRENT_LEVEL;
}
@Override
public String mark4Provider() {
return getClass().getName();
}
@Override
public InputStream handleStream(InputStream inputStream, ImportContext context) {
return inputStream;
}
}