1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.transport.wagon;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23
24 import org.eclipse.aether.RepositorySystemSession;
25 import org.eclipse.aether.repository.RemoteRepository;
26 import org.eclipse.aether.spi.connector.transport.Transporter;
27 import org.eclipse.aether.spi.connector.transport.TransporterFactory;
28 import org.eclipse.aether.spi.io.PathProcessor;
29 import org.eclipse.aether.transfer.NoTransporterException;
30
31 import static java.util.Objects.requireNonNull;
32
33
34
35
36
37
38 @Named(WagonTransporterFactory.NAME)
39 public final class WagonTransporterFactory implements TransporterFactory {
40 public static final String NAME = "wagon";
41
42 private final WagonProvider wagonProvider;
43
44 private final WagonConfigurator wagonConfigurator;
45
46 private final PathProcessor pathProcessor;
47
48 private float priority = -1.0f;
49
50 @Inject
51 public WagonTransporterFactory(
52 WagonProvider wagonProvider, WagonConfigurator wagonConfigurator, PathProcessor pathProcessor) {
53 this.wagonProvider = wagonProvider;
54 this.wagonConfigurator = wagonConfigurator;
55 this.pathProcessor = pathProcessor;
56 }
57
58 @Override
59 public float getPriority() {
60 return priority;
61 }
62
63
64
65
66
67
68
69 public WagonTransporterFactory setPriority(float priority) {
70 this.priority = priority;
71 return this;
72 }
73
74 @Override
75 public Transporter newInstance(RepositorySystemSession session, RemoteRepository repository)
76 throws NoTransporterException {
77 requireNonNull(session, "session cannot be null");
78 requireNonNull(repository, "repository cannot be null");
79
80 return new WagonTransporter(wagonProvider, wagonConfigurator, repository, session, pathProcessor);
81 }
82 }