1 package org.apache.archiva.repository;
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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
23 import java.time.Duration;
27 * This represents a repository that is not fully managed by archiva. Its some kind of proxy that
28 * forwards requests to the remote repository and is able to cache artifacts locally.
30 public interface RemoteRepository extends Repository {
33 * Returns the interface to access the content of the repository.
36 RemoteRepositoryContent getContent();
39 * Returns the credentials used to login to the remote repository.
40 * @return the credentials, null if not set.
42 RepositoryCredentials getLoginCredentials();
45 * Returns the path relative to the root url of the repository that should be used
46 * to check the availability of the repository.
47 * @return The check path, null if not set.
49 String getCheckPath();
53 * Returns additional parameters, that are used for accessing the remote repository.
54 * @return A map of key, value pairs.
56 Map<String,String> getExtraParameters();
60 * Returns extra headers that are added to the request to the remote repository.
63 Map<String,String> getExtraHeaders();
66 * Returns the time duration, after that the request is aborted and a error is returned, if the remote repository
68 * @return The timeout.
70 Duration getTimeout();