package org.hivedb.versioning; /** * Describes how to modernize the XML of a domain object from an old version to the current version. * @author alikuski@cafepress.com * * @param <T> the domain class */ public interface XmlModernizationPaver<T> { /** * Gets the modernizer that modernizes from one XML version to another. There should be * a modernizer that modernizes from any version of the XML to the current version, * until a former XML version is no longer supportable. * @param fromVersion * @param toVersion * @return */ public Modernizer<T> getModernizer(Integer fromVersion, Integer toVersion); /** * Gets the current XML version of the class represented by the XMLModernizationPaver. * The current version should be statically declared in code or configuration. * @return */ public Integer getCurrentXmlVersion(); }