KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > user > provider > file > SerializableGroupsCache


1 /*
2  * Copyright (c) 2002-2003 by OpenSymphony
3  * All rights reserved.
4  */

5 package com.opensymphony.user.provider.file;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9
10 import java.io.File JavaDoc;
11 import java.io.FileOutputStream JavaDoc;
12 import java.io.ObjectInputStream JavaDoc;
13 import java.io.ObjectOutputStream JavaDoc;
14 import java.io.Serializable JavaDoc;
15
16
17 class SerializableGroupsCache extends FileGroupsCache implements Serializable JavaDoc {
18     //~ Static fields/initializers /////////////////////////////////////////////
19

20     protected static final Log log = LogFactory.getLog(SerializableGroupsCache.class);
21
22     //~ Constructors ///////////////////////////////////////////////////////////
23

24     public SerializableGroupsCache(String JavaDoc storeFile, String JavaDoc storeFileType) {
25         super(storeFile, storeFileType);
26         load();
27     }
28
29     //~ Methods ////////////////////////////////////////////////////////////////
30

31     public boolean load() {
32         try {
33             ObjectInputStream JavaDoc ois = new ObjectInputStream JavaDoc(getInputStreamFromStoreFile());
34             SerializableGroupsCache g = (SerializableGroupsCache) ois.readObject();
35
36             // copy data into this class
37
groups = g.groups;
38
39             return true;
40         } catch (Exception JavaDoc e) {
41             log.fatal("cannot load from file " + storeFile + ". Create a new blank store.", e);
42         }
43
44         return false;
45     }
46
47     public boolean store() {
48         try {
49             FileOutputStream JavaDoc fos = new FileOutputStream JavaDoc(new File JavaDoc(storeFile));
50             ObjectOutputStream JavaDoc oos = new ObjectOutputStream JavaDoc(fos);
51             oos.writeObject(this);
52             fos.close();
53
54             return true;
55         } catch (Exception JavaDoc e) {
56             log.fatal("cannot store in file " + storeFile + ".", e);
57         }
58
59         return false;
60     }
61 }
62
Popular Tags