This project has retired. For details please refer to its Attic page.
RepositoryGroup xref
View Javadoc
1   package org.apache.archiva.repository;
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.repository.storage.RepositoryStorage;
23  
24  import java.util.List;
25  
26  /**
27   * Interface for repository groups.
28   *
29   * Repository groups are a combined view over a list of repositories.
30   * All repositories of this group must be of the same type.
31   *
32   * Repository groups are read only. You cannot store artifacts into a repository group.
33   *
34   * This interface extends <code>{@link RepositoryStorage}</code> to provide access to the merged
35   * index data files and other metadata.
36   *
37   */
38  public interface RepositoryGroup extends Repository, RepositoryStorage {
39  
40      /**
41       * Returns the list of repositories. The order of the elements represents
42       * the order of getting artifacts (first one wins).
43       *
44       *
45       * @return
46       */
47      List<ManagedRepository> getRepositories();
48  
49      /**
50       * Returns true, if the given repository is part of this group.
51       *
52       * @param repository The repository to check.
53       * @return True, if it is part, otherwise false.
54       */
55      boolean contains(ManagedRepository repository);
56  
57      /**
58       * Returns true, if the repository with the given id is part of this group.
59       *
60       * @param id The repository id to check
61       * @return True, if it is part, otherwise false
62       */
63      boolean contains(String id);
64  
65      /**
66       * Returns the time to live in seconds for the merged index.
67       *
68       * @return
69       */
70      int getMergedIndexTTL();
71  }