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 }