Class GlobalBuildStatsXStreamConverter

  • All Implemented Interfaces:
    com.thoughtworks.xstream.converters.Converter, com.thoughtworks.xstream.converters.ConverterMatcher

    public class GlobalBuildStatsXStreamConverter
    extends Object
    implements com.thoughtworks.xstream.converters.Converter
    XStream converter for GlobalBuildStatsPlugin XStream data Allows to provide API to migrate from one version to another of persisted global build stats data When creating a new migrator you must : - Create a new package hudson.plugins.global_build_stats.xstream.migration.v[X] - Inside this package, copy/paste every classes located in hudson.plugins.global_build_stats.xstream.migration.v[X-1] - Rename every *V[X-1]* POJOs to *V[X]* POJO - Eventually, change attributes in V[X]GlobalBuildStatsPOJO (for example, if additionnal attribute has appeared) - Provide implementation for V[X]Migrator.migrate() algorithm - If parsing algorithm has changed, update V[X]Migrator.readGlobalBuildStatsPOJO with the new algorithm (if, for example, new root elements has appeared in XStream file) - Update GlobalBuildStatsXStreamConverter.MIGRATORS with new provided class
    Author:
    fcamblor
    • Constructor Detail

      • GlobalBuildStatsXStreamConverter

        public GlobalBuildStatsXStreamConverter()
    • Method Detail

      • canConvert

        public boolean canConvert​(Class type)
        Converter is only applicable on GlobalBuildStatsPlugin data
        Specified by:
        canConvert in interface com.thoughtworks.xstream.converters.ConverterMatcher
      • marshal

        public void marshal​(Object source,
                            com.thoughtworks.xstream.io.HierarchicalStreamWriter writer,
                            com.thoughtworks.xstream.converters.MarshallingContext context)
        Specified by:
        marshal in interface com.thoughtworks.xstream.converters.Converter
      • unmarshal

        public Object unmarshal​(com.thoughtworks.xstream.io.HierarchicalStreamReader reader,
                                com.thoughtworks.xstream.converters.UnmarshallingContext context)
        Will transform global build stats XStream data representation into current GlobalBuildStatsPlugin instance
        Specified by:
        unmarshal in interface com.thoughtworks.xstream.converters.Converter