1 /*
2 * Copyright 2003 - 2013 The eFaps Team
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * Revision: $Rev$
17 * Last Changed: $Date$
18 * Last Changed By: $Author$
19 */
20
21 package org.efaps.db;
22
23 import java.util.concurrent.TimeUnit;
24
25 /**
26 * TODO comment!
27 *
28 * @author The eFaps Team
29 * @version $Id$
30 */
31 public interface ICacheDefinition
32 {
33 /**
34 *
35 * @return lifespan of the entry. Negative values are interpreted as
36 * unlimited lifespan. 0 means do not apply
37 */
38 long getLifespan();
39
40 /**
41 * @return time unit for lifespan
42 */
43 TimeUnit getLifespanUnit();
44
45 /**
46 * @return the maximum amount of time this key is allowed to be idle for
47 * before it is considered as expired. 0 means do not apply
48 */
49 long getMaxIdleTime();
50
51 /**
52 * @return time unit for max idle time
53 */
54 TimeUnit getMaxIdleTimeUnit();
55 }