Class ComponentListDeserializer

java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<List<Component>>
org.cyclonedx.util.deserializer.ComponentListDeserializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.NullValueProvider

public class ComponentListDeserializer extends com.fasterxml.jackson.databind.JsonDeserializer<List<Component>>
Custom deserializer for List<Component> that handles XML parsing issues where single nested components might be represented as objects instead of arrays. This addresses GitHub issue #663 where nested components in metadata fail to parse due to XML-to-JSON mapping inconsistencies.
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    com.fasterxml.jackson.databind.JsonDeserializer.None
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    deserialize(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext context)
     

    Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer

    deserialize, deserializeWithType, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, handledType, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer

    Methods inherited from class Object

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

    • ComponentListDeserializer

      public ComponentListDeserializer()
  • Method Details

    • deserialize

      public List<Component> deserialize(com.fasterxml.jackson.core.JsonParser parser, com.fasterxml.jackson.databind.DeserializationContext context) throws IOException
      Specified by:
      deserialize in class com.fasterxml.jackson.databind.JsonDeserializer<List<Component>>
      Throws:
      IOException