001package org.cache2k.ee.impl; 002 003/* 004 * #%L 005 * cache2k ee 006 * %% 007 * Copyright (C) 2000 - 2016 headissue GmbH, Munich 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023import org.cache2k.core.InternalCache; 024import org.cache2k.core.InternalCacheInfo; 025import org.cache2k.jmx.CacheMXBean; 026 027import java.util.Date; 028 029/** 030 * @author Jens Wilke; created: 2014-10-09 031 */ 032public class CacheMXBeanImpl implements CacheMXBean { 033 034 InternalCache cache; 035 036 public CacheMXBeanImpl(InternalCache cache) { 037 this.cache = cache; 038 } 039 040 private InternalCacheInfo getInfo() { return cache.getInfo(); } 041 042 @Override 043 public long getSize() { 044 return getInfo().getSize(); 045 } 046 047 @Override 048 public long getEntryCapacity() { 049 return getInfo().getHeapCapacity(); 050 } 051 052 @Override 053 public long getMissCnt() { 054 return getInfo().getMissCount(); 055 } 056 057 @Override 058 public long getNewEntryCnt() { 059 return getInfo().getNewEntryCount(); 060 } 061 062 @Override 063 public long getLoadCnt() { 064 return getInfo().getLoadCount(); 065 } 066 067 @Override 068 public long getRefreshCnt() { 069 return getInfo().getRefreshCount(); 070 } 071 072 @Override 073 public long getRefreshFailedCnt() { 074 return getInfo().getRefreshFailedCount(); 075 } 076 077 @Override 078 public long getRefreshedHitCnt() { 079 return getInfo().getRefreshedHitCount(); 080 } 081 082 @Override 083 public long getExpiredCnt() { 084 return getInfo().getExpiredCount(); 085 } 086 087 @Override 088 public long getEvictedCnt() { 089 return getInfo().getEvictedCount(); 090 } 091 092 @Override 093 public long getKeyMutationCnt() { 094 return getInfo().getKeyMutationCount(); 095 } 096 097 @Override 098 public long getLoadExceptionCnt() { 099 return getInfo().getLoadExceptionCount(); 100 } 101 102 @Override 103 public long getSuppressedExceptionCnt() { 104 return getInfo().getSuppressedExceptionCount(); 105 } 106 107 @Override 108 public long getGetCnt() { 109 return getInfo().getGetCount(); 110 } 111 112 @Override 113 public long getPutCnt() { 114 return getInfo().getPutCount(); 115 } 116 117 @Override 118 public double getHitRate() { 119 return getInfo().getHitRate(); 120 } 121 122 @Override 123 public int getHashQuality() { 124 return getInfo().getHashQuality(); 125 } 126 127 @Override 128 public double getMillisPerLoad() { 129 return getInfo().getMillisPerLoad(); 130 } 131 132 @Override 133 public long getTotalLoadMillis() { 134 return getInfo().getLoadMillis(); 135 } 136 137 @Override 138 public String getIntegrityDescriptor() { 139 return getInfo().getIntegrityDescriptor(); 140 } 141 142 @Override 143 public Date getCreatedTime() { 144 return new Date(getInfo().getStartedTime()); 145 } 146 147 @Override 148 public Date getClearedTime() { 149 return new Date(getInfo().getClearedTime()); 150 } 151 152 @Override 153 public Date getInfoCreatedTime() { 154 return new Date(getInfo().getInfoCreatedTime()); 155 } 156 157 @Override 158 public int getInfoCreatedDeltaMillis() { 159 return getInfo().getInfoCreationDeltaMs(); 160 } 161 162 @Override 163 public String getImplementation() { 164 return getInfo().getImplementation(); 165 } 166 167 public void clear() { 168 cache.clear(); 169 } 170 171 @Override 172 public int getAlert() { 173 return getInfo().getHealth(); 174 } 175 176 @Override 177 public String getExtraStatistics() { 178 return getInfo().getExtraStatistics(); 179 } 180 181}