FastutilModule.java
package tools.jackson.datatype.fastutil;
import tools.jackson.core.Version;
import tools.jackson.databind.JacksonModule;
/**
* Jackson {@link JacksonModule} that adds support for
* <a href="https://fastutil.di.unimi.it/">fastutil</a> collection and map types.
*<p>
* Collections and maps of primitive values are (de)serialized without boxing;
* abstract collection and map types of references (like {@code ObjectList} or
* {@code Object2ObjectMap}) are mapped to default fastutil implementations.
*/
public class FastutilModule extends JacksonModule
{
private static final String NAME = "FastutilModule";
public FastutilModule() {
super();
}
@Override
public String getModuleName() {
return NAME;
}
@Override
public Version version() {
return PackageVersion.VERSION;
}
@Override
public void setupModule(SetupContext context) {
context.addDeserializers(new FastutilDeserializers());
context.addSerializers(new FastutilSerializers());
context.addAbstractTypeResolver(new FastutilAbstractTypeResolver());
}
@Override
public int hashCode() {
return NAME.hashCode();
}
@Override
public boolean equals(Object o) {
return this == o;
}
}