class Evolver
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) static int |
EVOLVE_FAILURE |
(package private) static int |
EVOLVE_NEEDED |
(package private) static int |
EVOLVE_NONE |
Constructor and Description |
---|
Evolver(PersistCatalog catalog,
java.lang.String storePrefix,
Mutations mutations,
java.util.Map<java.lang.String,Format> newFormats,
boolean forceEvolution,
boolean disallowClassChanges) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addEvolveError(Format oldFormat,
Format newFormat,
java.lang.String scenario,
java.lang.String error)
Adds a specified error when no specific mutation is involved.
|
(package private) void |
addInvalidMutation(Format oldFormat,
Format newFormat,
Mutation mutation,
java.lang.String error)
Adds an error for an invalid mutation.
|
(package private) void |
addMissingMutation(Format oldFormat,
Format newFormat,
java.lang.String error)
Adds an error for a missing mutation.
|
(package private) void |
addNonEntityFormat(Format oldFormat)
Called by PersistCatalog for all non-entity formats.
|
(package private) boolean |
areFormatsChanged()
Returns whether any formats were changed during evolution, and therefore
need to be stored in the catalog.
|
(package private) boolean |
checkUpdatedVersion(java.lang.String scenario,
Format oldFormat,
Format newFormat) |
(package private) void |
deleteSecondaryDatabase(java.lang.String oldEntityClass,
java.lang.String keyName)
Called by ComplexFormat when a secondary key is dropped.
|
(package private) boolean |
evolveFormat(Format oldFormat)
Called by PersistCatalog for all entity formats, and by Format.evolve
methods for all potentially referenced non-entity formats.
|
(package private) int |
evolveRequiredKeyField(Format oldParent,
Format newParent,
FieldInfo oldField,
FieldInfo newField)
Evolves a primary key field or composite key field.
|
(package private) void |
finishEvolution()
Called by PersistCatalog after calling evolveFormat or
addNonEntityFormat for all old formats.
|
(package private) java.lang.String |
getErrors()
Returns an error string if any mutations are invalid or missing, or
returns null otherwise.
|
(package private) Mutations |
getMutations() |
(package private) java.util.Set<Format> |
getSubclassFormats(Format superFormat)
Returns the set of formats for a specific superclass format, or null if
the superclass is not a complex type or has not subclasses.
|
(package private) boolean |
isClassConverted(Format format) |
(package private) boolean |
isFormatChanged(Format format)
Returns whether the given format was changed during evolution.
|
(package private) void |
renameAndRemoveDatabases(Store store,
Transaction txn) |
(package private) void |
renameSecondaryDatabase(java.lang.String oldEntityClass,
java.lang.String newEntityClass,
java.lang.String oldKeyName,
java.lang.String newKeyName)
Called by ComplexFormat when a secondary key name is changed.
|
(package private) void |
useEvolvedFormat(Format oldFormat,
Reader evolveReader,
Format newFormat)
Install an evolver Reader in the old format.
|
(package private) void |
useOldFormat(Format oldFormat,
Format newFormat)
Use the old format and discard the new format.
|
static final int EVOLVE_NONE
static final int EVOLVE_NEEDED
static final int EVOLVE_FAILURE
Evolver(PersistCatalog catalog, java.lang.String storePrefix, Mutations mutations, java.util.Map<java.lang.String,Format> newFormats, boolean forceEvolution, boolean disallowClassChanges)
final Mutations getMutations()
boolean areFormatsChanged()
boolean isFormatChanged(Format format)
java.util.Set<Format> getSubclassFormats(Format superFormat)
java.lang.String getErrors()
void addEvolveError(Format oldFormat, Format newFormat, java.lang.String scenario, java.lang.String error)
void addInvalidMutation(Format oldFormat, Format newFormat, Mutation mutation, java.lang.String error)
void addMissingMutation(Format oldFormat, Format newFormat, java.lang.String error)
void addNonEntityFormat(Format oldFormat)
void finishEvolution()
boolean evolveFormat(Format oldFormat)
void useOldFormat(Format oldFormat, Format newFormat)
void useEvolvedFormat(Format oldFormat, Reader evolveReader, Format newFormat)
void renameSecondaryDatabase(java.lang.String oldEntityClass, java.lang.String newEntityClass, java.lang.String oldKeyName, java.lang.String newKeyName)
void deleteSecondaryDatabase(java.lang.String oldEntityClass, java.lang.String keyName)
boolean isClassConverted(Format format)
boolean checkUpdatedVersion(java.lang.String scenario, Format oldFormat, Format newFormat)
void renameAndRemoveDatabases(Store store, Transaction txn) throws DatabaseException
DatabaseException
Copyright (c) 2004-2012 Oracle. All rights reserved.