1 package org.apache.archiva.metadata.repository;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.archiva.metadata.model.ArtifactMetadata;
23 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
24 import org.apache.archiva.metadata.model.ProjectVersionReference;
25 import org.apache.archiva.repository.Repository;
26 import org.apache.archiva.repository.RepositoryType;
27
28 import java.util.Arrays;
29 import java.util.Collection;
30 import java.util.List;
31
32 public interface MetadataResolver
33 {
34 default List<RepositoryType> supportsRepositoryTypes() {
35 return Arrays.asList( RepositoryType.MAVEN );
36 }
37
38 ProjectVersionMetadata resolveProjectVersion( RepositorySession session, String repoId, String namespace,
39 String projectId, String projectVersion )
40 throws MetadataResolutionException;
41
42
43
44
45
46
47
48
49
50
51
52
53 Collection<ProjectVersionReference> resolveProjectReferences( RepositorySession session, String repoId,
54 String namespace, String projectId,
55 String projectVersion )
56 throws MetadataResolutionException;
57
58 Collection<String> resolveRootNamespaces( RepositorySession session, String repoId )
59 throws MetadataResolutionException;
60
61 Collection<String> resolveNamespaces( RepositorySession session, String repoId, String namespace )
62 throws MetadataResolutionException;
63
64 Collection<String> resolveProjects( RepositorySession session, String repoId, String namespace )
65 throws MetadataResolutionException;
66
67 Collection<String> resolveProjectVersions( RepositorySession session, String repoId, String namespace,
68 String projectId )
69 throws MetadataResolutionException;
70
71 Collection<ArtifactMetadata> resolveArtifacts( RepositorySession session, String repoId, String namespace,
72 String projectId, String projectVersion )
73 throws MetadataResolutionException;
74 }