1 package org.apache.jcs.engine.behavior;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.IOException;
23 import java.io.Serializable;
24
25 /***
26 * Defines the behavior for cache element serializers. This layer of abstraction
27 * allows us to plug in different serialization mechanisms, such as XStream.
28 *
29 * @author Aaron Smuts
30 *
31 */
32 public interface IElementSerializer
33 {
34
35 /***
36 * Turns an object into a byte array.
37 *
38 * @param obj
39 * @return
40 * @throws IOException
41 */
42 public abstract byte[] serialize( Serializable obj )
43 throws IOException;
44
45 /***
46 * Turns a byte array into an object.
47 *
48 * @param bytes
49 * @return
50 * @throws IOException
51 * @throws ClassNotFoundException thrown if we don't know the object.
52 */
53 public abstract Object deSerialize( byte[] bytes )
54 throws IOException, ClassNotFoundException;
55
56 }