]> source.dussan.org Git - archiva.git/blob
3e4ba1257ea6836c455a2e596434e51b06d297bd
[archiva.git] /
1 package org.apache.archiva.repository.features;
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
23 import org.apache.archiva.repository.ManagedRepository;
24
25 /**
26  * This feature provides some information about staging repositories.
27  *
28  */
29 public class StagingRepositoryFeature implements RepositoryFeature<StagingRepositoryFeature> {
30
31     public static final String STAGING_REPO_POSTFIX = "-stage";
32
33     private ManagedRepository stagingRepository = null;
34     private boolean stageRepoNeeded = false;
35
36     public StagingRepositoryFeature() {
37
38     }
39
40     public StagingRepositoryFeature(ManagedRepository stagingRepository, boolean stageRepoNeeded) {
41         this.stagingRepository = stagingRepository;
42         this.stageRepoNeeded = stageRepoNeeded;
43     }
44
45     @Override
46     public StagingRepositoryFeature get() {
47         return this;
48     }
49
50     /**
51      * Returns the staging repository, if it exists.
52      *
53      * @return The staging repository, null if not set.
54      *
55      */
56     public ManagedRepository getStagingRepository() {
57         return stagingRepository;
58     }
59
60     /**
61      * Sets the staging repository.
62      *
63      * @param stagingRepository
64      */
65     public void setStagingRepository(ManagedRepository stagingRepository) {
66         this.stagingRepository = stagingRepository;
67     }
68
69     /**
70      * Returns true, if a staging repository is needed by this repository.
71      * @return True, if staging repository is needed, otherwise false.
72      */
73     public boolean isStageRepoNeeded() {
74         return stageRepoNeeded;
75     }
76
77     /**
78      * Sets the flag for needed staging repository.
79      *
80      * @param stageRepoNeeded
81      */
82     public void setStageRepoNeeded(boolean stageRepoNeeded) {
83         this.stageRepoNeeded = stageRepoNeeded;
84     }
85 }