KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > appserv > util > cache > mbeans > JmxBoundedMultiLruCache


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23
24 /**
25  * @Version $Id: JmxBoundedMultiLruCache.java,v 1.4 2005/12/25 04:25:22 tcfujii Exp $
26  * Created on May 4, 2005 07:40 PM
27  */

28
29 package com.sun.appserv.util.cache.mbeans;
30
31 import com.sun.appserv.util.cache.BoundedMultiLruCache;
32 import com.sun.appserv.util.cache.Constants;
33 /**
34  * This class provides implementation for JmxLruCache MBean
35  *
36  * @author Krishnamohan Meduri (Krishna.Meduri@Sun.com)
37  *
38  */

39 public class JmxBoundedMultiLruCache extends JmxMultiLruCache
40                               implements JmxBoundedMultiLruCacheMBean {
41
42     private BoundedMultiLruCache boundedMultiLruCache;
43
44     public JmxBoundedMultiLruCache(BoundedMultiLruCache boundedMultiLruCache,
45                                    String JavaDoc name) {
46         super(boundedMultiLruCache, name);
47         this.boundedMultiLruCache = boundedMultiLruCache;
48     }
49
50     /**
51      * Returns the current size of the cache in bytes
52      */

53     public Long JavaDoc getCurrentSize() {
54         return (Long JavaDoc) boundedMultiLruCache.getStatByName(
55                                         Constants.STAT_BOUNDEDMULTILRUCACHE_CURRENT_SIZE);
56     }
57
58     /**
59      * Returns the upper bound on the cache size
60      */

61     public Long JavaDoc getMaxSize() {
62         Object JavaDoc object = boundedMultiLruCache.getStatByName(
63                                         Constants.STAT_BOUNDEDMULTILRUCACHE_MAX_SIZE);
64         /*
65          * BoundedMultiLruCache class returns java.lang.String with a value
66          * "default" if the maxSize == Constants.DEFAULT_MAX_CACHE_SIZE
67          * To take care of this case, the if/else is added below
68          */

69         if(object instanceof java.lang.String JavaDoc &&
70            ((String JavaDoc)object).equals(Constants.STAT_DEFAULT)) {
71             return new Long JavaDoc(Constants.DEFAULT_MAX_CACHE_SIZE);
72         } else {
73             return (Long JavaDoc)object;
74         }
75     }
76 }
77
Popular Tags