MCPcopy Index your code
hub / github.com/FasterXML/jackson-datatypes-collections

github.com/FasterXML/jackson-datatypes-collections @jackson-datatypes-collections-3.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release jackson-datatypes-collections-3.2.0 ↗ · + Follow
1,934 symbols 3,648 edges 235 files 138 documented · 7% updated today★ 895 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Overview

This is a multi-module umbrella project for various Jackson Datatype modules to support 3rd party Collection libraries.

Currently included are:

License

All modules are licensed under Apache License 2.0.

Build Status

Build Status

Usage, general

Maven dependencies

To use these format backends Maven-based projects, use following dependency:

<dependency>
  <groupId>tools.jackson.datatype</groupId>
  <artifactId>jackson-datatype-[COLLECTION]</artifactId>
  <version>3.0.3</version>
</dependency>

where COLLECTION would be one of guava, hppc, pcollections, or eclipse-collections (replace version with the latest available).

You may also use jackson-bom for defining consistent sets of versions of various Jackson components.

NOTE! Parent pom itself only specifies defaults to individual modules but DOES NOT include them, so you CAN NOT just add dependency to jackson-datatypes-collections. Individual datatype modules need to be included explicitly (or via some other pom that depends on them).

Registration with ObjectMapper

Like all standard Jackson modules (libraries that implement Module interface), registration for Collections datatypes is done like so:

ObjectMapper mapper = JsonMapper.builder() // or mapper for other formats
    .addModule(new GuavaModule())
    .addModule(new HppcModule())
    .addModule(new PCollectionsModule())
    .build();

after which datatype read/write support is available for all normal Jackson operations, including support for nested types.

NOTE: Jackson 2.x had an alternative, older mechanism for directly registering module on ObjectMapper: 3.x no longer supports this mechanism.

Usage, per-datatype

See READMEs of individual modules for datatype-specific configuration, options and so on:

Usage with Spring Boot

@Bean
public Jackson2ObjectMapperBuilderCustomizer customize()
{
    return builder -> builder.modules( new GuavaModule() );
}

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 1,478
Class 403
Function 40
Interface 7
Enum 6

Languages

Java98%
TypeScript2%

Modules by API surface

hppc/src/main/java/tools/jackson/datatype/hppc/ser/HppcContainerSerializers.java66 symbols
guava/src/test/java/tools/jackson/datatype/guava/CacheSerializationTest.java51 symbols
guava/src/test/java/tools/jackson/datatype/guava/optional/OptionalBasicTest.java44 symbols
eclipse-collections/src/main/java/tools/jackson/datatype/eclipsecollections/deser/BaseCollectionDeserializer.java43 symbols
eclipse-collections/src/test/java/tools/jackson/datatype/eclipsecollections/DeserializerTest.java41 symbols
guava/src/test/java/tools/jackson/datatype/guava/MultimapsTest.java39 symbols
eclipse-collections/src/main/java/tools/jackson/datatype/eclipsecollections/deser/set/MutableSetDeserializer.java39 symbols
eclipse-collections/src/main/java/tools/jackson/datatype/eclipsecollections/deser/set/ImmutableSetDeserializer.java39 symbols
eclipse-collections/src/main/java/tools/jackson/datatype/eclipsecollections/deser/list/MutableListDeserializer.java39 symbols
eclipse-collections/src/main/java/tools/jackson/datatype/eclipsecollections/deser/list/ImmutableListDeserializer.java39 symbols
eclipse-collections/src/main/java/tools/jackson/datatype/eclipsecollections/deser/bag/MutableBagDeserializer.java39 symbols
eclipse-collections/src/main/java/tools/jackson/datatype/eclipsecollections/deser/bag/ImmutableBagDeserializer.java39 symbols

For agents

$ claude mcp add jackson-datatypes-collections \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page