/**
*
*/
package org.hivedb.versioning;
import java.util.Map;
import org.hivedb.util.functional.Pair;
import org.hivedb.util.functional.Transform;
public class NewBarXmlModernizationPaver extends XmlModernizationPaverImpl<NewBar> {
public NewBarXmlModernizationPaver(Integer currentXmlVersion) {
super(currentXmlVersion, getModernizerMap());
}
private static Map<Integer,Modernizer<NewBar>> modernizerMap;
@SuppressWarnings("unchecked")
protected static Map<Integer,Modernizer<NewBar>> getModernizerMap() {
if (modernizerMap == null)
modernizerMap = Transform.toMap((Pair<Integer,Modernizer<NewBar>>[])new Pair[] {
// Instructions to modernize to the current blob version
new Pair(NewFooXmlModernizationPaver.NEW_FOO_XML_VERSION, new Modernizer<NewBar>() {
public String getNewAbreviatedElementName(String abreviatedElementName) {
if("r".equals(abreviatedElementName))
// Sample abreviated name update: update the abreviated name of Rotation to current name
return "tn";
return abreviatedElementName;
}
public String getNewElementName(String elementName) {
if("rotation".equals(elementName))
// Sample field name update: update name of Rotation to current name
return "turning";
return elementName;
}
public Boolean isDeletedElement(String abreviatedElementName) {
return abreviatedElementName.equals("b");
}
public Object getUpdatedElementValue(String elementName, Object elementValue) {
return elementValue;
}
public NewBar modifyInstance(NewBar instance) {
// Sample instance modification to default a new field
((NewBar)instance).setShininess("shininess");
return instance;
}
}),
});
return modernizerMap;
}
}