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}