]> source.dussan.org Git - archiva.git/blob
e3980adc4ebb5a03f50e682f2b67a772a1eccb96
[archiva.git] /
1 package org.apache.maven.repository.proxy;
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.artifact.repository.ArtifactRepository;
20
21 import java.util.HashSet;
22 import java.util.Set;
23
24 /**
25  * A proxied artifact repository - contains the artifact repository and additional information about
26  * the proxied repository.
27  *
28  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
29  */
30 public class ProxiedArtifactRepository
31 {
32     /**
33      * Whether to cache failures or not.
34      */
35     private boolean cacheFailures;
36
37     /**
38      * Whether failures on this repository cause the whole group to fail.
39      */
40     private boolean hardFail;
41
42     /**
43      * Whether to use the network proxy for any requests.
44      */
45     private boolean useNetworkProxy;
46
47     /**
48      * The artifact repository on the other end of the proxy.
49      */
50     private ArtifactRepository repository;
51
52     /**
53      * Cache of failures that have already occurred, containing paths from the repository root.
54      */
55     private Set/*<String>*/ failureCache = new HashSet/*<String>*/();
56
57     /**
58      * A user friendly name for the repository.
59      */
60     private String name;
61
62     public boolean isHardFail()
63     {
64         return hardFail;
65     }
66
67     public boolean isUseNetworkProxy()
68     {
69         return useNetworkProxy;
70     }
71
72     public boolean isCacheFailures()
73     {
74         return cacheFailures;
75     }
76
77     public ArtifactRepository getRepository()
78     {
79         return repository;
80     }
81
82     public boolean isCachedFailure( String path )
83     {
84         return cacheFailures && failureCache.contains( path );
85     }
86
87     public void addFailure( String path )
88     {
89         if ( cacheFailures )
90         {
91             failureCache.add( path );
92         }
93     }
94
95     public void clearFailure( String path )
96     {
97         if ( cacheFailures )
98         {
99             failureCache.remove( path );
100         }
101     }
102
103     public String getName()
104     {
105         return name;
106     }
107 }