Class CustomMapEntryConverter

java.lang.Object
com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter
com.thoughtworks.xstream.converters.collections.MapConverter
io.quarkus.test.junit.internal.CustomMapEntryConverter
All Implemented Interfaces:
com.thoughtworks.xstream.converters.Converter, com.thoughtworks.xstream.converters.ConverterMatcher

public class CustomMapEntryConverter extends com.thoughtworks.xstream.converters.collections.MapConverter
A custom Map.Entry converter that always uses AbstractMap.SimpleEntry for unmarshalling. This is probably not semantically correct 100% of the time, but it's likely fine for all the cases where we are using marshalling / unmarshalling. The reason for doing this is to avoid XStream causing illegal access issues for internal JDK types
  • Constructor Summary

    Constructors
    Constructor
    Description
    CustomMapEntryConverter(com.thoughtworks.xstream.mapper.Mapper mapper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    void
    marshal(Object source, com.thoughtworks.xstream.io.HierarchicalStreamWriter writer, com.thoughtworks.xstream.converters.MarshallingContext context)
     
    unmarshal(com.thoughtworks.xstream.io.HierarchicalStreamReader reader, com.thoughtworks.xstream.converters.UnmarshallingContext context)
     

    Methods inherited from class com.thoughtworks.xstream.converters.collections.MapConverter

    createCollection, populateMap, populateMap, putCurrentEntryIntoMap

    Methods inherited from class com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter

    mapper, readBareItem, readCompleteItem, readItem, writeBareItem, writeCompleteItem, writeItem, writeNullItem

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CustomMapEntryConverter

      public CustomMapEntryConverter(com.thoughtworks.xstream.mapper.Mapper mapper)
  • Method Details

    • 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.MapConverter
    • 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
      Overrides:
      marshal in class com.thoughtworks.xstream.converters.collections.MapConverter
    • 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.MapConverter