KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ozoneDB > core > storage > AbstractTrimmingCache


1 // You can redistribute this software and/or modify it under the terms of
2
// the Ozone Core License version 1 published by ozone-db.org.
3
//
4
// Copyright (C) 2003-@year@, Leo Mekenkamp. All rights reserved.
5
//
6
// $Id: AbstractTrimmingCache.java,v 1.1.2.2 2004/04/10 10:06:51 per_nyfelt Exp $
7

8 package org.ozoneDB.core.storage;
9
10 import java.util.Collection JavaDoc;
11 import java.util.Comparator JavaDoc;
12 import java.util.Iterator JavaDoc;
13 import java.util.LinkedHashMap JavaDoc;
14 import java.util.LinkedHashSet JavaDoc;
15 import java.util.LinkedList JavaDoc;
16 import java.util.List JavaDoc;
17 import java.util.Map JavaDoc;
18 import java.util.Properties JavaDoc;
19 import java.util.Set JavaDoc;
20 import java.util.Map.Entry;
21 import java.util.SortedSet JavaDoc;
22 import java.util.TreeMap JavaDoc;
23 import java.util.TreeSet JavaDoc;
24 import java.util.logging.Level JavaDoc;
25 import java.util.logging.Logger JavaDoc;
26 import org.ozoneDB.OzoneInternalException;
27 import org.ozoneDB.core.ConfigurationException;
28
29
30 /**
31  * @author <a HREF="mailto:leoATmekenkampD0Tcom">Leo Mekenkamp (mind the anti sp@m)</a>
32  * @version $Id: AbstractTrimmingCache.java,v 1.1.2.2 2004/04/10 10:06:51 per_nyfelt Exp $
33  */

34 public abstract class AbstractTrimmingCache implements TrimmingCache, PropertyConfigurable {
35     
36     private static final Logger JavaDoc log = Logger.getLogger(AbstractTrimmingCache.class.getName());
37
38     private Object JavaDoc synchronizer;
39     private TrimHandler trimHandler;
40     private String JavaDoc prefix;
41     
42     public AbstractTrimmingCache(Properties JavaDoc properties, String JavaDoc prefix) {
43         setSynchronizer(null); // use default object for synchronization
44
this.prefix = prefix;
45     }
46
47     public final String JavaDoc getPrefix() {
48         return prefix;
49     }
50     
51     /**
52      * Because of performance issues caller _must_ ensure that no other thread
53      * has got a reference to <code>getSynchronizer()</code>.
54      */

55     public final void setSynchronizer(Object JavaDoc synchronizer) {
56         this.synchronizer = synchronizer != null ? synchronizer : this;
57     }
58     
59     public final Object JavaDoc getSynchronizer() {
60          return synchronizer;
61     }
62     
63     public final TrimmingCache.TrimHandler getTrimHandler() {
64         return trimHandler;
65     }
66     
67     public final void setTrimHandler(TrimmingCache.TrimHandler trimHandler) {
68         this.trimHandler = trimHandler;
69     }
70     
71     public Collection JavaDoc getPropertyInfos() {
72         return new LinkedList JavaDoc();
73     }
74     
75 }
76
Popular Tags