parent
1e2f52daca
commit
d129e0a802
@ -0,0 +1,65 @@ |
||||
/* |
||||
* Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
package com.arialyy.aria.core.download.group; |
||||
|
||||
import com.arialyy.aria.core.common.AbsNormalTarget; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @Author aria |
||||
* @Date 2019-09-05 |
||||
*/ |
||||
public class GroupTargetFactory { |
||||
|
||||
public static volatile GroupTargetFactory INSTANCE; |
||||
|
||||
private GroupTargetFactory() { |
||||
|
||||
} |
||||
|
||||
public static GroupTargetFactory getInstance() { |
||||
|
||||
if (INSTANCE == null) { |
||||
synchronized (GroupTargetFactory.class) { |
||||
if (INSTANCE == null) { |
||||
INSTANCE = new GroupTargetFactory(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
return INSTANCE; |
||||
} |
||||
|
||||
public <T extends AbsNormalTarget> T generateNormalTarget(Class<T> clazz, long taskId, |
||||
String targetName) { |
||||
T target = null; |
||||
if (clazz == GroupNormalTarget.class) { |
||||
target = (T) new GroupNormalTarget(taskId, targetName); |
||||
} else if (clazz == FtpDirNormalTarget.class) { |
||||
target = (T) new FtpDirNormalTarget(taskId, targetName); |
||||
} |
||||
|
||||
return target; |
||||
} |
||||
|
||||
public FtpDirBuilderTarget generateDirBuilderTarget(String url, String targetName) { |
||||
return new FtpDirBuilderTarget(url, targetName); |
||||
} |
||||
|
||||
public GroupBuilderTarget generateGroupBuilderTarget(List<String> urls, String targetName) { |
||||
return new GroupBuilderTarget(urls, targetName); |
||||
} |
||||
} |
@ -0,0 +1,69 @@ |
||||
/* |
||||
* Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
package com.arialyy.aria.core.download.normal; |
||||
|
||||
import com.arialyy.aria.core.common.AbsBuilderTarget; |
||||
import com.arialyy.aria.core.common.AbsNormalTarget; |
||||
|
||||
/** |
||||
* @Author aria |
||||
* @Date 2019-09-05 |
||||
*/ |
||||
public class DNormalTargetFactory { |
||||
|
||||
public static volatile DNormalTargetFactory INSTANCE; |
||||
|
||||
private DNormalTargetFactory() { |
||||
|
||||
} |
||||
|
||||
public static DNormalTargetFactory getInstance() { |
||||
|
||||
if (INSTANCE == null) { |
||||
synchronized (DNormalTargetFactory.class) { |
||||
if (INSTANCE == null) { |
||||
INSTANCE = new DNormalTargetFactory(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
return INSTANCE; |
||||
} |
||||
|
||||
public <T extends AbsNormalTarget> T generateNormalTarget(Class<T> clazz, long taskId, |
||||
String targetName) { |
||||
T target = null; |
||||
if (clazz == HttpNormalTarget.class) { |
||||
target = (T) new HttpNormalTarget(taskId, targetName); |
||||
} else if (clazz == FtpNormalTarget.class) { |
||||
target = (T) new FtpNormalTarget(taskId, targetName); |
||||
} |
||||
|
||||
return target; |
||||
} |
||||
|
||||
public <T extends AbsBuilderTarget> T generateBuilderTarget(Class<T> clazz, String url, |
||||
String targetName) { |
||||
T target = null; |
||||
if (clazz == HttpBuilderTarget.class) { |
||||
target = (T) new HttpBuilderTarget(url, targetName); |
||||
} else if (clazz == FtpBuilderTarget.class) { |
||||
target = (T) new FtpBuilderTarget(url, targetName); |
||||
} |
||||
|
||||
return target; |
||||
} |
||||
} |
@ -0,0 +1,69 @@ |
||||
/* |
||||
* Copyright (C) 2016 AriaLyy(https://github.com/AriaLyy/Aria)
|
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
package com.arialyy.aria.core.upload.normal; |
||||
|
||||
import com.arialyy.aria.core.common.AbsBuilderTarget; |
||||
import com.arialyy.aria.core.common.AbsNormalTarget; |
||||
|
||||
/** |
||||
* @Author aria |
||||
* @Date 2019-09-05 |
||||
*/ |
||||
public class UNormalTargetFactory { |
||||
|
||||
public static volatile UNormalTargetFactory INSTANCE; |
||||
|
||||
private UNormalTargetFactory() { |
||||
|
||||
} |
||||
|
||||
public static UNormalTargetFactory getInstance() { |
||||
|
||||
if (INSTANCE == null) { |
||||
synchronized (UNormalTargetFactory.class) { |
||||
if (INSTANCE == null) { |
||||
INSTANCE = new UNormalTargetFactory(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
return INSTANCE; |
||||
} |
||||
|
||||
public <T extends AbsNormalTarget> T generateNormalTarget(Class<T> clazz, long taskId, |
||||
String targetName) { |
||||
T target = null; |
||||
if (clazz == HttpNormalTarget.class) { |
||||
target = (T) new HttpNormalTarget(taskId, targetName); |
||||
} else if (clazz == FtpNormalTarget.class) { |
||||
target = (T) new FtpNormalTarget(taskId, targetName); |
||||
} |
||||
|
||||
return target; |
||||
} |
||||
|
||||
public <T extends AbsBuilderTarget> T generateBuilderTarget(Class<T> clazz, String url, |
||||
String targetName) { |
||||
T target = null; |
||||
if (clazz == HttpBuilderTarget.class) { |
||||
target = (T) new HttpBuilderTarget(url, targetName); |
||||
} else if (clazz == FtpBuilderTarget.class) { |
||||
target = (T) new FtpBuilderTarget(url, targetName); |
||||
} |
||||
|
||||
return target; |
||||
} |
||||
} |
Loading…
Reference in new issue