Package hudson.util

Class RobustCollectionConverter

  • All Implemented Interfaces:
    com.thoughtworks.xstream.converters.Converter, com.thoughtworks.xstream.converters.ConverterMatcher
    Direct Known Subclasses:
    NodeList.ConverterImpl

    public class RobustCollectionConverter
    extends com.thoughtworks.xstream.converters.collections.CollectionConverter
    CollectionConverter that ignores XStreamException.

    This allows Hudson to load XML files that contain non-existent classes (the expected scenario is that those classes belong to plugins that were unloaded.)

    Author:
    Kohsuke Kawaguchi
    • Constructor Summary

      Constructors 
      Constructor Description
      RobustCollectionConverter​(com.thoughtworks.xstream.mapper.Mapper mapper, com.thoughtworks.xstream.converters.reflection.ReflectionProvider reflectionProvider)  
      RobustCollectionConverter​(com.thoughtworks.xstream.XStream xs)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canConvert​(Class type)  
      protected void populateCollection​(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context, Collection collection)  
      Object unmarshal​(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context)  
      • Methods inherited from class com.thoughtworks.xstream.converters.collections.CollectionConverter

        addCurrentElementToCollection, createCollection, marshal, populateCollection
      • Methods inherited from class com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter

        mapper, readBareItem, readCompleteItem, readItem, writeBareItem, writeCompleteItem, writeItem, writeNullItem
    • Constructor Detail

      • RobustCollectionConverter

        public RobustCollectionConverter​(com.thoughtworks.xstream.XStream xs)
      • RobustCollectionConverter

        public RobustCollectionConverter​(com.thoughtworks.xstream.mapper.Mapper mapper,
                                         com.thoughtworks.xstream.converters.reflection.ReflectionProvider reflectionProvider)
    • Method Detail

      • canConvert

        public boolean canConvert​(Class type)
        Specified by:
        canConvert in interface com.thoughtworks.xstream.converters.ConverterMatcher
        Overrides:
        canConvert in class com.thoughtworks.xstream.converters.collections.CollectionConverter
      • unmarshal

        public Object unmarshal​(com.thoughtworks.xstream.io.HierarchicalStreamReader reader,
                                com.thoughtworks.xstream.converters.UnmarshallingContext context)
        Specified by:
        unmarshal in interface com.thoughtworks.xstream.converters.Converter
        Overrides:
        unmarshal in class com.thoughtworks.xstream.converters.collections.CollectionConverter
      • populateCollection

        protected void populateCollection​(com.thoughtworks.xstream.io.HierarchicalStreamReader reader,
                                          com.thoughtworks.xstream.converters.UnmarshallingContext context,
                                          Collection collection)
        Overrides:
        populateCollection in class com.thoughtworks.xstream.converters.collections.CollectionConverter