]> source.dussan.org Git - archiva.git/blob
d8299839bd6e6c4e9e71b6fcf566692330d40a4b
[archiva.git] /
1 package org.apache.archiva.indexer;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *  http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.apache.archiva.model.ArtifactReference;
23 import org.apache.archiva.repository.RepositoryType;
24
25 import java.net.URI;
26
27 public interface ArchivaIndexManager {
28
29     /**
30      * Compresses the index to a more dense packed format.
31      * @param context
32      */
33     void pack(ArchivaIndexingContext context);
34
35     /**
36      * Rescans the whole repository, this index is associated to.
37      * @param context
38      * @param update
39      */
40     void scan(ArchivaIndexingContext context, boolean update);
41
42     /**
43      * Updates the index from the remote url.
44      * @param context
45      * @param remoteUpdateUri
46      * @param fullUpdate
47      */
48     void update(ArchivaIndexingContext context, URI remoteUpdateUri, boolean fullUpdate);
49
50     /**
51      * Adds a artifact to the index.
52      * @param context
53      * @param artifactReference
54      */
55     void addArtifactToIndex(ArchivaIndexingContext context, ArtifactReference artifactReference);
56
57     /**
58      * Removes a artifact from the index.
59      * @param context
60      * @param artifactReference
61      */
62     void removeArtifactFromIndex(ArchivaIndexingContext context, ArtifactReference artifactReference);
63
64
65     /**
66      * Returns true, if this manager is able to apply the index actions for the given repository type.
67      * @param type
68      * @return
69      */
70     boolean supportsRepository(RepositoryType type);
71 }