001/* 002 * (C) Copyright 2014-2016 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 * 016 * Contributors: 017 * Maxime Hilaire 018 * Thierry Martins 019 * 020 */ 021package org.nuxeo.ecm.core.cache; 022 023/** 024 * Nuxeo cache interface 025 * 026 * @since 6.0 027 */ 028public interface CacheService { 029 030 /** 031 * Gets the cache with the given name. 032 * 033 * @param name the cache name 034 * @return the cache, or {@code null} if it does not exist 035 */ 036 public Cache getCache(String name); 037 038 /** 039 * Programmatically registers a cache with the given characteristics. 040 * 041 * @param name the cache name 042 * @param size the maximum number of elements 043 * @param timeout the entry timeout (in minutes) 044 * @since 8.2 045 * @deprecated since 9.3, seems unused, use {@link #registerCache(String)} instead. 046 */ 047 @Deprecated 048 public void registerCache(String name, int size, int timeout); 049 050 /** 051 * Programmatically registers a cache with the given name, with the the size and the timeout given by the default 052 * cache. 053 * 054 * @param name the cache name 055 * @since 9.3 056 */ 057 void registerCache(String name); 058}