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.Cache;
024import org.cache2k.core.CacheManagerImpl;
025import org.cache2k.core.InternalCache;
026import org.cache2k.jmx.CacheManagerMXBean;
027
028/**
029* @author Jens Wilke; created: 2014-10-09
030*/
031public class ManagerMXBeanImpl implements CacheManagerMXBean {
032
033  CacheManagerImpl manager;
034
035  public ManagerMXBeanImpl(CacheManagerImpl manager) {
036    this.manager = manager;
037  }
038
039  @Override
040  public int getAlert() {
041    int v = 0;
042    for (Cache c : manager) {
043      if (c instanceof InternalCache) {
044        v = Math.max(v, ((InternalCache) c).getInfo().getHealth());
045      }
046    }
047    return v;
048  }
049
050  @Override
051  public void clear() {
052    manager.clear();
053  }
054
055  @Override
056  public String getVersion() { return manager.getVersion(); }
057
058  @Override
059  public String getBuildNumber() { return manager.getBuildNumber(); }
060
061}