]> source.dussan.org Git - archiva.git/blob
747ee157d943a1603f07981cee6a1877d6aa9b01
[archiva.git] /
1 package org.apache.archiva.consumers;
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  * Consumer - the base set of methods for a consumer.
24  *
25  * @version $Id$
26  */
27 public abstract interface Consumer
28 {
29     /**
30      * This is the id for the consumer.
31      * 
32      * @return the consumer id.
33      */
34     String getId();
35     
36     /**
37      * The human readable description for this consumer.
38      * 
39      * @return the human readable description for this consumer.
40      */
41     String getDescription();
42     
43     /**
44      * Flag indicating permanance of consumer. (if it can be disabled or not)
45      * 
46      * @return true indicating that consumer is permanent and cannot be disabled. 
47      */
48     boolean isPermanent();
49
50     /**
51      * Add a consumer monitor to the consumer.
52      * 
53      * @param monitor the monitor to add.
54      */
55     void addConsumerMonitor( ConsumerMonitor monitor );
56     
57     /**
58      * Remove a consumer monitor.
59      * 
60      * @param monitor the monitor to remove.
61      */
62     void removeConsumerMonitor( ConsumerMonitor monitor );
63 }