]> source.dussan.org Git - archiva.git/blob
aedeaef39ac048ea5b21404902031c9702d2e045
[archiva.git] /
1 package org.apache.maven.archiva.indexer.record;
2
3 /*
4  * Copyright 2005-2006 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import org.apache.maven.archiva.indexer.RepositoryIndexException;
20 import org.apache.maven.artifact.Artifact;
21
22 /**
23  * The layout of a record in a repository index.
24  *
25  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
26  */
27 public interface RepositoryIndexRecordFactory
28 {
29     /**
30      * The Plexus role.
31      */
32     String ROLE = RepositoryIndexRecordFactory.class.getName();
33
34     /**
35      * Create an index record from an artifact.
36      *
37      * @param artifact the artifact
38      * @return the index record
39      * @throws RepositoryIndexException if there is a problem constructing the record (due to not being able to read the artifact file as a POM)
40      */
41     RepositoryIndexRecord createRecord( Artifact artifact )
42         throws RepositoryIndexException;
43
44 }