KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > hp > hpl > jena > util > cache > CacheManager


1 /*
2      (c) Copyright 2002, 2004, 2005 Hewlett-Packard Development Company, LP
3      All rights reserved.
4      See end of file.
5      
6      $Id: CacheManager.java,v 1.6 2005/02/21 12:19:12 andy_seaborne Exp $
7 */

8 package com.hp.hpl.jena.util.cache;
9
10 /** A factory for creating cache objects
11  *
12  * @author bwm
13  */

14
15 public class CacheManager {
16
17     public static final String JavaDoc RAND = "RAND";
18     
19     public static final String JavaDoc ENHNODECACHE = "ENHNODECACHE";
20
21     /** Creates new Manager */
22     private CacheManager() {
23     }
24
25     /** Create a new cache
26      * @param type The type of cache to create. This should be one
27      * of the standard cache types defined in this class.
28      * @param name A name for the cache. This should be unique and
29      * may be used to identify the cache in logging and
30      * other operations. To ensure uniqueness it is
31      * suggested that cache's be given names similar to
32      * full java names such as
33      * com.hp.hpl.jena.graph.Node.NodeCache.
34      * @param size Teh size of the cache in terms of the number of
35      * objects it can store.
36      * @return a newly created cache object
37      *
38      */

39     public static Cache createCache(String JavaDoc type, String JavaDoc name, int size) {
40         // for now we just have one type
41
if (type.equals(RAND)) return new RandCache( name, size );
42         if (type.equals(ENHNODECACHE)) return new EnhancedNodeCache( name, size );
43         throw new Error JavaDoc( "Bad cache type: " + type );
44     }
45 }
46 /*
47      (c) Copyright 2002, 2004, 2005 Hewlett-Packard Development Company, LP
48      
49      All rights reserved.
50      
51      
52      Redistribution and use in source and binary forms, with or without
53      modification, are permitted provided that the following conditions
54      are met:
55      1. Redistributions of source code must retain the above copyright
56         notice, this list of conditions and the following disclaimer.
57      2. Redistributions in binary form must reproduce the above copyright
58         notice, this list of conditions and the following disclaimer in the
59         documentation and/or other materials provided with the distribution.
60      3. The name of the author may not be used to endorse or promote products
61         derived from this software without specific prior written permission.
62     
63      THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
64      IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
65      OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
66      IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
67      INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
68      NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
69      DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
70      THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
71      (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
72      THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
73      
74      $Id: CacheManager.java,v 1.6 2005/02/21 12:19:12 andy_seaborne Exp $
75 */

76
Popular Tags