org.ehcache.jsr107.internal.DefaultJsr107Service Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ehcache Show documentation
Show all versions of ehcache Show documentation
Ehcache single jar, containing all modules
The newest version!
/*
* Copyright Terracotta, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.ehcache.jsr107.internal;
import org.ehcache.core.spi.service.StatisticsService;
import org.ehcache.jsr107.config.ConfigurationElementState;
import org.ehcache.jsr107.config.Jsr107Configuration;
import org.ehcache.jsr107.Jsr107Service;
import org.ehcache.spi.service.ServiceDependencies;
import org.ehcache.spi.service.ServiceProvider;
import org.ehcache.spi.service.Service;
import static java.util.Objects.requireNonNull;
@ServiceDependencies(StatisticsService.class)
public class DefaultJsr107Service implements Jsr107Service {
private final Jsr107Configuration configuration;
private volatile StatisticsService statisticsService;
public DefaultJsr107Service(Jsr107Configuration configuration) {
this.configuration = configuration;
}
@Override
public void start(final ServiceProvider serviceProvider) {
this.statisticsService = serviceProvider.getService(StatisticsService.class);
}
@Override
public String getTemplateNameForCache(String cacheAlias) {
final Jsr107Configuration cfg = configuration;
if (cfg == null) {
return null;
}
String template = cfg.getTemplates().get(cacheAlias);
if (template != null) {
return template;
}
return cfg.getDefaultTemplate();
}
@Override
public void stop() {
// no-op
}
@Override
public boolean jsr107CompliantAtomics() {
final Jsr107Configuration cfg = configuration;
if (cfg == null) {
return true;
}
return cfg.isJsr107CompliantAtomics();
}
@Override
public ConfigurationElementState isManagementEnabledOnAllCaches() {
if (configuration == null) {
return null;
} else {
return configuration.isEnableManagementAll();
}
}
@Override
public ConfigurationElementState isStatisticsEnabledOnAllCaches() {
if (configuration == null) {
return null;
} else {
return configuration.isEnableStatisticsAll();
}
}
@Override
public StatisticsService getStatistics() {
return requireNonNull(statisticsService);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy