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.locator.Service;
29 import org.eclipse.aether.spi.locator.ServiceLocator;
30 import org.eclipse.aether.transfer.NoTransporterException;
31
32 import static java.util.Objects.requireNonNull;
33
34
35
36
37
38
39 @Named(WagonTransporterFactory.NAME)
40 public final class WagonTransporterFactory implements TransporterFactory, Service {
41 public static final String NAME = "wagon";
42
43 private WagonProvider wagonProvider;
44
45 private WagonConfigurator wagonConfigurator;
46
47 private float priority = -1.0f;
48
49
50
51
52
53
54 @Deprecated
55 public WagonTransporterFactory() {
56
57 }
58
59 @Inject
60 public WagonTransporterFactory(WagonProvider wagonProvider, WagonConfigurator wagonConfigurator) {
61 setWagonProvider(wagonProvider);
62 setWagonConfigurator(wagonConfigurator);
63 }
64
65 @Override
66 public void initService(ServiceLocator locator) {
67 setWagonProvider(locator.getService(WagonProvider.class));
68 setWagonConfigurator(locator.getService(WagonConfigurator.class));
69 }
70
71
72
73
74
75
76
77 public WagonTransporterFactory setWagonProvider(WagonProvider wagonProvider) {
78 this.wagonProvider = wagonProvider;
79 return this;
80 }
81
82
83
84
85
86
87
88 public WagonTransporterFactory setWagonConfigurator(WagonConfigurator wagonConfigurator) {
89 this.wagonConfigurator = wagonConfigurator;
90 return this;
91 }
92
93 @Override
94 public float getPriority() {
95 return priority;
96 }
97
98
99
100
101
102
103
104 public WagonTransporterFactory setPriority(float priority) {
105 this.priority = priority;
106 return this;
107 }
108
109 @Override
110 public Transporter newInstance(RepositorySystemSession session, RemoteRepository repository)
111 throws NoTransporterException {
112 requireNonNull(session, "session cannot be null");
113 requireNonNull(repository, "repository cannot be null");
114
115 return new WagonTransporter(wagonProvider, wagonConfigurator, repository, session);
116 }
117 }