1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.internal.impl.offline;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import org.eclipse.aether.RepositorySystemSession;
26 import org.eclipse.aether.impl.OfflineController;
27 import org.eclipse.aether.repository.RemoteRepository;
28 import org.eclipse.aether.spi.connector.PipelineRepositoryConnectorFactory;
29 import org.eclipse.aether.spi.connector.RepositoryConnector;
30
31 import static java.util.Objects.requireNonNull;
32
33
34
35
36
37
38 @Singleton
39 @Named(OfflinePipelineRepositoryConnectorFactory.NAME)
40 public final class OfflinePipelineRepositoryConnectorFactory implements PipelineRepositoryConnectorFactory {
41 public static final String NAME = "offline";
42
43 private final OfflineController offlineController;
44
45
46
47
48 private float priority = 0;
49
50 @Inject
51 public OfflinePipelineRepositoryConnectorFactory(OfflineController offlineController) {
52 this.offlineController = requireNonNull(offlineController);
53 }
54
55 @Override
56 public RepositoryConnector newInstance(
57 RepositorySystemSession session, RemoteRepository repository, RepositoryConnector delegate) {
58 return new OfflineRepositoryConnector(session, repository, offlineController, delegate);
59 }
60
61 @Override
62 public float getPriority() {
63 return priority;
64 }
65
66 public OfflinePipelineRepositoryConnectorFactory setPriority(float priority) {
67 this.priority = priority;
68 return this;
69 }
70 }