com.sleepycat.persist.evolve.Deleter Maven / Gradle / Ivy
The newest version!
/*-
* Copyright (C) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
*
* This file was distributed by Oracle as part of a version of Oracle Berkeley
* DB Java Edition made available at:
*
* http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html
*
* Please see the LICENSE file included in the top-level directory of the
* appropriate version of Oracle Berkeley DB Java Edition for a copy of the
* license and additional information.
*/
package com.sleepycat.persist.evolve;
/**
* A mutation for deleting an entity class or field.
*
* WARNING: The data for the deleted class or field will be
* destroyed and will be recoverable only by restoring from backup. If you
* wish to convert the instance data to a different type or format, use a
* {@link Conversion} mutation instead.
*
* For example, to delete a field:
*
*
* package my.package;
*
* // The old class. Version 0 is implied.
* //
* {@literal @Entity}
* class Person {
* String name;
* String favoriteColors;
* }
*
* // The new class. A new version number must be assigned.
* //
* {@literal @Entity(version=1)}
* class Person {
* String name;
* }
*
* // Add the mutation for deleting a field.
* //
* Mutations mutations = new Mutations();
*
* mutations.addDeleter(new Deleter(Person.class.getName(), 0,
* "favoriteColors");
*
* // Configure the mutations as described {@link Mutations here}.
*
* To delete an entity class:
*
*
* package my.package;
*
* // The old class. Version 0 is implied.
* //
* {@literal @Entity}
* class Statistics {
* ...
* }
*
* // Add the mutation for deleting a class.
* //
* Mutations mutations = new Mutations();
*
* mutations.addDeleter(new Deleter("my.package.Statistics", 0));
*
* // Configure the mutations as described {@link Mutations here}.
*
* @see com.sleepycat.persist.evolve Class Evolution
* @author Mark Hayes
*/
public class Deleter extends Mutation {
private static final long serialVersionUID = 446348511871654947L;
/**
* Creates a mutation for deleting an entity class.
*
* @param className the class to which this mutation applies.
* @param classVersion the class version to which this mutation applies.
*/
public Deleter(String className, int classVersion) {
super(className, classVersion, null);
}
/**
* Creates a mutation for deleting the given field from all instances of
* the given class version.
*
* @param declaringClass the class to which this mutation applies.
* @param declaringClassVersion the class version to which this mutation
* applies.
* @param fieldName field name to which this mutation applies.
*/
public Deleter(String declaringClass, int declaringClassVersion,
String fieldName) {
super(declaringClass, declaringClassVersion, fieldName);
}
@Override
public String toString() {
return "[Deleter " + super.toString() + ']';
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy