1 /*
2 * @(#)$Id: DataObject.java 689 2009-07-22 00:10:27Z bsigner $
3 *
4 * Author : Ueli Kurmann, igesture@uelikurmann.ch
5 *
6 * Purpose : Interface to be implemented by any persistent-capable
7 * object.
8 *
9 * -----------------------------------------------------------------------
10 *
11 * Revision Information:
12 *
13 * Date Who Reason
14 *
15 * Dec 26, 2006 ukurmann Initial Release
16 * Feb 27, 2007 bsigner Cleanup
17 *
18 * -----------------------------------------------------------------------
19 *
20 * Copyright 1999-2009 ETH Zurich. All Rights Reserved.
21 *
22 * This software is the proprietary information of ETH Zurich.
23 * Use is subject to license terms.
24 *
25 */
26
27
28 package org.ximtec.igesture.core;
29
30 import java.io.Serializable;
31
32
33 /**
34 * Interface to be implemented by any persistent-capable object.
35 *
36 * @version 1.0, Dec 2006
37 * @author Ueli Kurmann, igesture@uelikurmann.ch
38 * @author Beat Signer, signer@inf.ethz.ch
39 */
40 public interface DataObject extends Serializable, PropertyChangeNotifier {
41
42 /**
43 * Returns the object's universally unique identifier (UUID).
44 *
45 * @return the object's UUID.
46 */
47 public String getId();
48
49
50 /**
51 * Sets the object's universally unique identifier (UUID).
52 *
53 * @param id the object's UUID.
54 */
55 public void setId(String id);
56
57
58 /**
59 * Accepts a visitor.
60 * @param visitor the visitor to be used.
61 */
62 public void accept(Visitor visitor);
63
64 }