View Javadoc

1   /*** 
2    * 
3    * Copyright 2004 Protique Ltd
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  
19  
20  package org.codehaus.activemq.capacity;
21  /***
22   * Fires CapacityChangedEvents
23   * 
24   * @version $Revision: 1.3 $
25   */
26  public interface CapacityMonitor {
27      
28  /***
29   *
30   * A CapacityMonitor holds percentage values
31   * for some resource that has a capacity - 
32   * e.g. a MemoryBoundedQueue
33   * @version $Revision: 1.3 $
34   */
35  public class BasicCapacityMonitor{
36  
37  }
38      /***
39       * Get the name of the CapacityMonitor
40       * @return the name
41       */
42      public String getName();
43      
44      /***
45       * Set the name of the CapacityMonitor
46       * @param newName
47       */
48      public void setName(String newName);
49      
50      /***
51       * Get the rounding factor - default is 10
52       * @return the rounding factor
53       */
54      public int getRoundingFactor();
55      
56      /***
57       * Set the rounding factor (between 1-100)
58       * @param newRoundingFactor
59       */
60      public void setRoundingFactor(int newRoundingFactor);
61      
62      /***
63       * Add a CapacityMonitorEventListener
64       * 
65       * @param l
66       */
67      public void addCapacityEventListener(CapacityMonitorEventListener l);
68  
69      /***
70       * Remove a CapacityMonitorEventListener
71       * 
72       * @param l
73       */
74      public void removeCapacityEventListener(CapacityMonitorEventListener l);
75  
76      /***
77       * Get the current capacity of the service as a percentage
78       * 
79       * @return
80       */
81      public int getCurrentCapacity();
82      
83      /***
84       * Calculates the capacity rounded down to the rounding factor
85       * @return
86       */
87      public int getRoundedCapacity();
88  
89      /***
90       * Get the current value of the CapacityMonitor
91       * 
92       * @return
93       */
94      public long getCurrentValue();
95  
96      /***
97       * set the current value of the capacity
98       * 
99       * @param newCurrentValue
100      */
101     public void setCurrentValue(long newCurrentValue);
102 
103     /***
104      * @return The upper limit of the value of the CapacityMonitor
105      */
106     public long getValueLimit();
107 
108     /***
109      * set a new value limit for the CapacityMonitor
110      * 
111      * @param newValueLimit
112      */
113     public void setValueLimit(long newValueLimit);
114 }