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