Class GlobalBuildStatsXStreamConverter

java.lang.Object
hudson.plugins.global_build_stats.xstream.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
  • Field Details

  • Constructor Details

    • GlobalBuildStatsXStreamConverter

      public GlobalBuildStatsXStreamConverter()
  • Method Details

    • 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
    • populateGlobalBuildStatsPlugin

      protected void populateGlobalBuildStatsPlugin(GlobalBuildStatsPlugin plugin, GlobalBuildStatsPOJO pojo)