Package com.sleepycat.persist.evolve

## Class Converter

- java.lang.Object
- - com.sleepycat.persist.evolve.Mutation
  - - com.sleepycat.persist.evolve.Converter

All Implemented Interfaces:
  `java.io.Serializable`

Direct Known Subclasses:
  `EntityConverter`

    public class Converter
    extends Mutation

A mutation for converting an old version of an object value to conform to the current class or field definition. For example:

      package my.package;

      // The old class.  Version 0 is implied.
      //
      @Entity
      class Person {
          // ...
      }

      // The new class.  A new version number must be assigned.
      //
      @Entity(version=1)
      class Person {
          // Incompatible changes were made here...
      }

      // Add a converter mutation.
      //
      Mutations mutations = new Mutations();

      mutations.addConverter(new Converter(Person.class.getName(), 0,
                                           new MyConversion()));

      // Configure the mutations as described here.

See `Conversion` for more information.

See Also:
  `Class Evolution`, Serialized Form

### Constructor Summary

Constructors
`Converter​(java.lang.String className, int classVersion, Conversion conversion)` Creates a mutation for converting all instances of the given class version to the current version of the class.
`Converter​(java.lang.String declaringClassName, int declaringClassVersion, java.lang.String fieldName, Conversion conversion)` Creates a mutation for converting all values of the given field in the given class version to a type compatible with the current declared type of the field.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(java.lang.Object other)` Returns true if the conversion objects are equal in this object and given object, and if the `Mutation.equals(java.lang.Object)` superclass method returns true.
`Conversion` `getConversion()` Returns the converter instance specified to the constructor.
`int` `hashCode()`
`java.lang.String` `toString()`

### Methods inherited from class com.sleepycat.persist.evolve.Mutation

`getClassName, getClassVersion, getFieldName`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### Converter

    public Converter​(java.lang.String className,
                     int classVersion,
                     Conversion conversion)

Creates a mutation for converting all instances of the given class version to the current version of the class.

Parameters:
  `className` - the class to which this mutation applies.
  `classVersion` - the class version to which this mutation applies.
  `conversion` - converter instance.

#### Converter

    public Converter​(java.lang.String declaringClassName,
                     int declaringClassVersion,
                     java.lang.String fieldName,
                     Conversion conversion)

Creates a mutation for converting all values of the given field in the given class version to a type compatible with the current declared type of the field.

Parameters:
  `declaringClassName` - the class to which this mutation applies.
  `declaringClassVersion` - the class version to which this mutation applies.
  `fieldName` - field name to which this mutation applies.
  `conversion` - converter instance.

### Method Detail

#### getConversion

    public Conversion getConversion()

Returns the converter instance specified to the constructor.

Returns:
  the converter instance.

#### equals

    public boolean equals​(java.lang.Object other)

Returns true if the conversion objects are equal in this object and given object, and if the `Mutation.equals(java.lang.Object)` superclass method returns true.

Overrides:
  `equals` in class `Mutation`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Mutation`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Mutation`