v0.0.2
CI/CD / build-deploy (pull_request) Successful in 14s

This commit is contained in:
Timi
2026-04-01 22:47:09 +08:00
parent a24b1855aa
commit 56dec33c94
17 changed files with 550 additions and 69 deletions
@@ -2,7 +2,6 @@ package com.imyeyu.compress;
import com.imyeyu.java.bean.CallbackArg;
import com.imyeyu.utils.OS;
import lombok.Setter;
import java.io.File;
import java.io.FilterInputStream;
@@ -14,17 +13,16 @@ import java.io.OutputStream;
/**
* 抽象压缩执行器
*
* @param <T> 处理器类型
* @author 夜雨
* @since 2024-06-30 18:09
*/
public abstract class AbstractRunner implements OS.FileSystem {
public abstract class AbstractRunner<T extends AbstractRunner<T>> implements OS.FileSystem {
/** 文件处理回调 */
@Setter
protected CallbackArg<File> fileCallback;
/** 进度回调 */
@Setter
protected CallbackArg<Double> progressCallback;
/** 中断标记 */
@@ -42,6 +40,48 @@ public abstract class AbstractRunner implements OS.FileSystem {
/** 当前已处理字节数 */
private long progressBytes = 0L;
/**
* 设置文件处理回调
*
* @param fileCallback 文件处理回调
* @return 当前处理器
*/
public T setFileCallback(CallbackArg<File> fileCallback) {
this.fileCallback = fileCallback;
return self();
}
/**
* 设置文件处理回调
*
* @param fileCallback 文件处理回调
* @return 当前处理器
*/
public T fileCallback(CallbackArg<File> fileCallback) {
return setFileCallback(fileCallback);
}
/**
* 设置进度回调
*
* @param progressCallback 进度回调
* @return 当前处理器
*/
public T setProgressCallback(CallbackArg<Double> progressCallback) {
this.progressCallback = progressCallback;
return self();
}
/**
* 设置进度回调
*
* @param progressCallback 进度回调
* @return 当前处理器
*/
public T progressCallback(CallbackArg<Double> progressCallback) {
return setProgressCallback(progressCallback);
}
/** 暂停任务 */
public void pause() {
isPause = true;
@@ -60,6 +100,16 @@ public abstract class AbstractRunner implements OS.FileSystem {
isInterrupt = true;
}
/**
* 返回当前处理器
*
* @return 当前处理器
*/
@SuppressWarnings("unchecked")
protected final T self() {
return (T) this;
}
/**
* 初始化字节进度
*