View | Details | Raw Unified | Return to bug 122341
Collapse All | Expand All

(-)Eclipse UI/org/eclipse/ui/IMemento.java (-18 / +21 lines)
Lines 11-42 Link Here
11
package org.eclipse.ui;
11
package org.eclipse.ui;
12
12
13
/**
13
/**
14
 * Interface to a memento used for saving the important state of an object
14
 * Interface to a memento used for saving the important state of an object in a
15
 * in a form that can be persisted in the file system.
15
 * form that can be persisted in the file system.
16
 * <p>
16
 * <p>
17
 * Mementos were designed with the following requirements in mind:
17
 * Mementos were designed with the following requirements in mind:
18
 * <ol>
18
 * <ol>
19
 *  <li>Certain objects need to be saved and restored across platform sessions.
19
 * <li>Certain objects need to be saved and restored across platform sessions.</li>
20
 *    </li>
20
 * <li>When an object is restored, an appropriate class for an object might not
21
 *  <li>When an object is restored, an appropriate class for an object might not
21
 * be available. It must be possible to skip an object in this case.</li>
22
 *    be available. It must be possible to skip an object in this case.</li>
22
 * <li>When an object is restored, the appropriate class for the object may be
23
 *  <li>When an object is restored, the appropriate class for the object may be
23
 * different from the one when the object was originally saved. If so, the new
24
 *    different from the one when the object was originally saved. If so, the
24
 * class should still be able to read the old form of the data.</li>
25
 *    new class should still be able to read the old form of the data.</li>
26
 * </ol>
25
 * </ol>
27
 * </p>
26
 * </p>
28
 * <p>
27
 * <p>
29
 * Mementos meet these requirements by providing support for storing a
28
 * Mementos meet these requirements by providing support for storing a mapping
30
 * mapping of arbitrary string keys to primitive values, and by allowing
29
 * of arbitrary string keys to primitive values, and by allowing mementos to
31
 * mementos to have other mementos as children (arranged into a tree).
30
 * have other mementos as children (arranged into a tree). A robust external
32
 * A robust external storage format based on XML is used.
31
 * storage format based on XML is used.
33
 * </p><p>
32
 * </p>
34
 * The key for an attribute may be any alpha numeric value.  However, the
33
 * <p>
35
 * value of <code>TAG_ID</code> is reserved for internal use.
34
 * The key for an attribute may be any alpha numeric value that doesn't start
36
 * </p><p>
35
 * with a number, or a valid XML <a
36
 * href="http://www.w3.org/TR/REC-xml/#NT-Name">Name</a>. However, the value of
37
 * <code>TAG_ID</code> is reserved for internal use.
38
 * </p>
39
 * <p>
37
 * This interface is not intended to be implemented or extended by clients.
40
 * This interface is not intended to be implemented or extended by clients.
38
 * </p>
41
 * </p>
39
 *
42
 * 
40
 * @see IPersistableElement
43
 * @see IPersistableElement
41
 * @see IElementFactory
44
 * @see IElementFactory
42
 * @noimplement This interface is not intended to be implemented by clients.
45
 * @noimplement This interface is not intended to be implemented by clients.

Return to bug 122341