public interface ConfigUpgrader
Modifier and Type | Method and Description |
---|---|
void |
afterImport(java.lang.String version, java.util.Map<java.lang.String,java.lang.Object> scratchpad)
This method is called at the end of the import process, after applying all import operatiosn to the ConfigContext but before the end of the transaction.
|
java.lang.String |
getName()
Some pretty name for this upgrader for logging purposes
|
java.util.List<UpgradeAction> |
migrateAfterParse(java.lang.String version, java.util.Map<Ref,ConfigJar.CanonicalForm.ResourceInfo> canonicalInfos, java.util.Map<java.lang.String,java.lang.Object> scratchpad)
This method is called AFTER the resource data has been deserialized (parsed).
|
java.util.List<RawUpgradeAction> |
migrateBeforeParse(java.lang.String version, java.util.Map<Ref,ConfigJar.SerializedForm.ResourceInfo> serializedInfos, java.util.Map<java.lang.String,java.lang.Object> scratchpad)
This method is called after the jar file has been read but before the resource data has been deserialized (parsed).
|
java.lang.String getName()
java.util.List<RawUpgradeAction> migrateBeforeParse(java.lang.String version, java.util.Map<Ref,ConfigJar.SerializedForm.ResourceInfo> serializedInfos, java.util.Map<java.lang.String,java.lang.Object> scratchpad)
The result can be null, or empty list in which case there is no migration to be performed. The result actions are then interpreted by the importer. Upgraders are run sequentially, each upgrades interpreted before invoking the next upgrader.
A scratch pad is provided to allow exchange of information between the upgraders and/or between the import phases. Objects in the scratch pad must be serializable.
version
- the version of the config jar. implementations should use that version to determine whether upgrade is required.serializedInfos
- mapping from resource references to raw bytes that make up the resource data. In general for xml based resource data, this is the stringified xml.scratchpad
- scratch pad to be used to exchange information.java.util.List<UpgradeAction> migrateAfterParse(java.lang.String version, java.util.Map<Ref,ConfigJar.CanonicalForm.ResourceInfo> canonicalInfos, java.util.Map<java.lang.String,java.lang.Object> scratchpad)
The implementations of this method should NOT modify the data structures that have been passed.
The result can be null, or empty list in which case there is no migration to be performed. The result actions are then interpreted by the importer. Upgraders are run sequentially, each upgrades interpreted before invoking the next upgrader.
A scratch pad is provided to allow exchange of information between the upgraders and/or between the import phases. Objects in the scratch pad must be serializable.
version
- the version of the config jar. implementations should use that version to determine whether upgrade is required.canonicalInfos
- mapping from resource references to parsed resource resource data.scratchpad
- scratch pad to be used to exchange information.void afterImport(java.lang.String version, java.util.Map<java.lang.String,java.lang.Object> scratchpad) throws java.lang.Exception
A scratch pad is provided to allow exchange of information between the upgraders and/or between the import phases. Objects in the scratch pad must be serializable.
version
- the version of the config jar. implementations should use that version to determine whether upgrade is required.scratchpad
- scratch pad to be used to exchange information.java.lang.Exception