使用spi机制优化组件的加载

This commit is contained in:
laoyuyu
2020-07-12 11:29:32 +08:00
parent fed6ae55e1
commit 288dcf633e
35 changed files with 417 additions and 209 deletions

View File

@@ -16,13 +16,11 @@
package com.arialyy.aria.sftp.download;
import com.arialyy.aria.core.download.DTaskWrapper;
import com.arialyy.aria.core.listener.IEventListener;
import com.arialyy.aria.core.loader.AbsNormalLoader;
import com.arialyy.aria.core.loader.AbsNormalLoaderUtil;
import com.arialyy.aria.core.loader.LoaderStructure;
import com.arialyy.aria.core.loader.NormalTTBuilder;
import com.arialyy.aria.core.loader.NormalThreadStateManager;
import com.arialyy.aria.core.wrapper.AbsTaskWrapper;
import com.arialyy.aria.sftp.SFtpTaskOption;
/**
@@ -32,14 +30,12 @@ import com.arialyy.aria.sftp.SFtpTaskOption;
*/
public class SFtpDLoaderUtil extends AbsNormalLoaderUtil {
public SFtpDLoaderUtil(AbsTaskWrapper wrapper, IEventListener listener) {
super(wrapper, listener);
wrapper.generateTaskOption(SFtpTaskOption.class);
}
@Override public AbsNormalLoader getLoader() {
return mLoader == null ? new SFtpDLoader((DTaskWrapper) getTaskWrapper(), getListener())
: mLoader;
if (mLoader == null) {
getTaskWrapper().generateTaskOption(SFtpTaskOption.class);
mLoader = new SFtpDLoader((DTaskWrapper) getTaskWrapper(), getListener());
}
return mLoader;
}
@Override public LoaderStructure BuildLoaderStructure() {

View File

@@ -15,14 +15,12 @@
*/
package com.arialyy.aria.sftp.upload;
import com.arialyy.aria.core.listener.IEventListener;
import com.arialyy.aria.core.loader.AbsNormalLoader;
import com.arialyy.aria.core.loader.AbsNormalLoaderUtil;
import com.arialyy.aria.core.loader.LoaderStructure;
import com.arialyy.aria.core.loader.NormalTTBuilder;
import com.arialyy.aria.core.loader.NormalThreadStateManager;
import com.arialyy.aria.core.upload.UTaskWrapper;
import com.arialyy.aria.core.wrapper.AbsTaskWrapper;
import com.arialyy.aria.sftp.SFtpTaskOption;
/**
@@ -32,14 +30,12 @@ import com.arialyy.aria.sftp.SFtpTaskOption;
*/
public class SFtpULoaderUtil extends AbsNormalLoaderUtil {
public SFtpULoaderUtil(AbsTaskWrapper wrapper, IEventListener listener) {
super(wrapper, listener);
wrapper.generateTaskOption(SFtpTaskOption.class);
}
@Override public AbsNormalLoader getLoader() {
return mLoader == null ? new SFtpULoader((UTaskWrapper) getTaskWrapper(), getListener())
: mLoader;
if (mLoader == null) {
getTaskWrapper().generateTaskOption(SFtpTaskOption.class);
mLoader = new SFtpULoader((UTaskWrapper) getTaskWrapper(), getListener());
}
return mLoader;
}
@Override public LoaderStructure BuildLoaderStructure() {

View File

@@ -0,0 +1,2 @@
com.arialyy.aria.sftp.download.SFtpDLoaderUtil
com.arialyy.aria.sftp.upload.SFtpULoaderUtil