fiux code

This commit is contained in:
Looly 2024-08-19 21:07:00 +08:00
parent a403b2b30d
commit 220afd4ded

View File

@ -17,6 +17,7 @@
package org.dromara.hutool.core.thread; package org.dromara.hutool.core.thread;
import org.dromara.hutool.core.lang.Assert; import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.lang.wrapper.Wrapper;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -33,8 +34,13 @@ import java.util.concurrent.TimeoutException;
* *
* @author loolly * @author loolly
*/ */
public class DelegatedExecutorService extends AbstractExecutorService { public class DelegatedExecutorService extends AbstractExecutorService implements Wrapper<ExecutorService> {
private final ExecutorService e; private final ExecutorService raw;
@Override
public ExecutorService getRaw() {
return this.raw;
}
/** /**
* 构造 * 构造
@ -43,74 +49,74 @@ public class DelegatedExecutorService extends AbstractExecutorService {
*/ */
public DelegatedExecutorService(final ExecutorService executor) { public DelegatedExecutorService(final ExecutorService executor) {
Assert.notNull(executor, "executor must be not null !"); Assert.notNull(executor, "executor must be not null !");
e = executor; raw = executor;
} }
@Override @Override
public void execute(final Runnable command) { public void execute(final Runnable command) {
e.execute(command); raw.execute(command);
} }
@Override @Override
public void shutdown() { public void shutdown() {
e.shutdown(); raw.shutdown();
} }
@Override @Override
public List<Runnable> shutdownNow() { public List<Runnable> shutdownNow() {
return e.shutdownNow(); return raw.shutdownNow();
} }
@Override @Override
public boolean isShutdown() { public boolean isShutdown() {
return e.isShutdown(); return raw.isShutdown();
} }
@Override @Override
public boolean isTerminated() { public boolean isTerminated() {
return e.isTerminated(); return raw.isTerminated();
} }
@Override @Override
public boolean awaitTermination(final long timeout, final TimeUnit unit) throws InterruptedException { public boolean awaitTermination(final long timeout, final TimeUnit unit) throws InterruptedException {
return e.awaitTermination(timeout, unit); return raw.awaitTermination(timeout, unit);
} }
@Override @Override
public Future<?> submit(final Runnable task) { public Future<?> submit(final Runnable task) {
return e.submit(task); return raw.submit(task);
} }
@Override @Override
public <T> Future<T> submit(final Callable<T> task) { public <T> Future<T> submit(final Callable<T> task) {
return e.submit(task); return raw.submit(task);
} }
@Override @Override
public <T> Future<T> submit(final Runnable task, final T result) { public <T> Future<T> submit(final Runnable task, final T result) {
return e.submit(task, result); return raw.submit(task, result);
} }
@Override @Override
public <T> List<Future<T>> invokeAll(final Collection<? extends Callable<T>> tasks) throws InterruptedException { public <T> List<Future<T>> invokeAll(final Collection<? extends Callable<T>> tasks) throws InterruptedException {
return e.invokeAll(tasks); return raw.invokeAll(tasks);
} }
@Override @Override
public <T> List<Future<T>> invokeAll(final Collection<? extends Callable<T>> tasks, final long timeout, final TimeUnit unit) public <T> List<Future<T>> invokeAll(final Collection<? extends Callable<T>> tasks, final long timeout, final TimeUnit unit)
throws InterruptedException { throws InterruptedException {
return e.invokeAll(tasks, timeout, unit); return raw.invokeAll(tasks, timeout, unit);
} }
@Override @Override
public <T> T invokeAny(final Collection<? extends Callable<T>> tasks) public <T> T invokeAny(final Collection<? extends Callable<T>> tasks)
throws InterruptedException, ExecutionException { throws InterruptedException, ExecutionException {
return e.invokeAny(tasks); return raw.invokeAny(tasks);
} }
@Override @Override
public <T> T invokeAny(final Collection<? extends Callable<T>> tasks, final long timeout, final TimeUnit unit) public <T> T invokeAny(final Collection<? extends Callable<T>> tasks, final long timeout, final TimeUnit unit)
throws InterruptedException, ExecutionException, TimeoutException { throws InterruptedException, ExecutionException, TimeoutException {
return e.invokeAny(tasks, timeout, unit); return raw.invokeAny(tasks, timeout, unit);
} }
} }