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