1 package org.apache.archiva.metadata.repository.storage;
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.admin.model.beans.ManagedRepository;
23 import org.apache.archiva.metadata.model.ArtifactMetadata;
24 import org.apache.archiva.metadata.model.ProjectMetadata;
25 import org.apache.archiva.metadata.model.ProjectVersionMetadata;
26 import org.apache.archiva.metadata.repository.filter.Filter;
27 import org.apache.archiva.model.ArtifactReference;
28 import org.apache.archiva.policies.ProxyDownloadException;
29 import org.apache.archiva.repository.ManagedRepositoryContent;
30 import org.apache.archiva.xml.XMLException;
31
32 import java.util.Collection;
33
34
35 public interface RepositoryStorage
36 {
37 ProjectMetadata readProjectMetadata( String repoId, String namespace, String projectId );
38
39 ProjectVersionMetadata readProjectVersionMetadata( ReadMetadataRequest readMetadataRequest )
40 throws RepositoryStorageMetadataInvalidException, RepositoryStorageMetadataNotFoundException,
41 RepositoryStorageRuntimeException;
42
43 Collection<String> listRootNamespaces( String repoId, Filter<String> filter )
44 throws RepositoryStorageRuntimeException;
45
46 Collection<String> listNamespaces( String repoId, String namespace, Filter<String> filter )
47 throws RepositoryStorageRuntimeException;
48
49 Collection<String> listProjects( String repoId, String namespace, Filter<String> filter )
50 throws RepositoryStorageRuntimeException;
51
52 Collection<String> listProjectVersions( String repoId, String namespace, String projectId, Filter<String> filter )
53 throws RepositoryStorageRuntimeException;
54
55 Collection<ArtifactMetadata> readArtifactsMetadata( ReadMetadataRequest readMetadataRequest )
56 throws RepositoryStorageRuntimeException;
57
58
59 ArtifactMetadata readArtifactMetadataFromPath( String repoId, String path )
60 throws RepositoryStorageRuntimeException;
61
62
63
64
65
66
67
68
69
70
71
72
73 void applyServerSideRelocation( ManagedRepositoryContent managedRepository, ArtifactReference artifact )
74 throws ProxyDownloadException;
75
76
77
78
79
80
81
82
83
84 String getFilePath( String requestPath, ManagedRepository managedRepository );
85
86 String getFilePathWithVersion( final String requestPath, ManagedRepositoryContent managedRepositoryContent )
87 throws RelocationException, XMLException;
88
89
90 }