KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sleepycat > persist > evolve > Deleter


1 /*-
2  * See the file LICENSE for redistribution information.
3  *
4  * Copyright (c) 2002,2006 Oracle. All rights reserved.
5  *
6  * $Id: Deleter.java,v 1.7 2006/10/30 21:14:31 bostic Exp $
7  */

8
9 package com.sleepycat.persist.evolve;
10
11 /**
12  * A mutation for deleting an entity class or field.
13  *
14  * <p><strong>WARNING:</strong> The data for the deleted class or field will be
15  * destroyed and will be recoverable only by restoring from backup. If you
16  * wish to convert the instance data to a different type or format, use a
17  * {@link Conversion} mutation instead.</p>
18  *
19  * <p>For example, to delete a field:</p>
20  *
21  * <pre class="code">
22  * package my.package;
23  *
24  * // The old class. Version 0 is implied.
25  * //
26  * {@literal @Entity}
27  * class Person {
28  * String name;
29  * String favoriteColors;
30  * }
31  *
32  * // The new class. A new version number must be assigned.
33  * //
34  * {@literal @Entity(version=1)}
35  * class Person {
36  * String name;
37  * }
38  *
39  * // Add the mutation for deleting a field.
40  * //
41  * Mutations mutations = new Mutations();
42  *
43  * mutations.addDeleter(new Deleter(Person.class.getName(), 0,
44  * "favoriteColors");
45  *
46  * // Configure the mutations as described {@link Mutations here}.</pre>
47  *
48  * <p>To delete an entity class:</p>
49  *
50  * <pre class="code">
51  * package my.package;
52  *
53  * // The old class. Version 0 is implied.
54  * //
55  * {@literal @Entity}
56  * class Statistics {
57  * ...
58  * }
59  *
60  * // Add the mutation for deleting a class.
61  * //
62  * Mutations mutations = new Mutations();
63  *
64  * mutations.addDeleter(new Deleter("my.package.Statistics", 0));
65  *
66  * // Configure the mutations as described {@link Mutations here}.</pre>
67  *
68  * @see com.sleepycat.persist.evolve Class Evolution
69  * @author Mark Hayes
70  */

71 public class Deleter extends Mutation {
72
73     private static final long serialVersionUID = 446348511871654947L;
74
75     /**
76      * Creates a mutation for deleting an entity class.
77      */

78     public Deleter(String JavaDoc className, int classVersion) {
79         super(className, classVersion, null);
80     }
81
82     /**
83      * Creates a mutation for deleting the given field from all instances of
84      * the given class version.
85      */

86     public Deleter(String JavaDoc declaringClass, int declaringClassVersion,
87                    String JavaDoc fieldName) {
88         super(declaringClass, declaringClassVersion, fieldName);
89     }
90
91     @Override JavaDoc
92     public String JavaDoc toString() {
93         return "[Deleter " + super.toString() + ']';
94     }
95 }
96
Popular Tags