Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
Jackson Data Binding Source Code
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java".
Jackson Databind Source Code files are provided in the source packge (jackson-databind-2.14.0-sources.jar). You can download it at Jackson Maven Website.
You can also browse Jackson Databind Source Code below:
✍: FYIcenter.com
⏎ com/fasterxml/jackson/databind/deser/impl/JDKValueInstantiators.java
package com.fasterxml.jackson.databind.deser.impl;
import java.io.IOException;
import java.util.*;
import com.fasterxml.jackson.core.JsonLocation;
import com.fasterxml.jackson.databind.DeserializationConfig;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.ValueInstantiator;
import com.fasterxml.jackson.databind.deser.std.JsonLocationInstantiator;
/**
* Container for a set of {@link ValueInstantiator}s used for certain critical
* JDK value types, either as performance optimization for initialization time observed
* by profiling, or due to difficulty in otherwise finding constructors.
*
* @since 2.10
*/
public abstract class JDKValueInstantiators
{
public static ValueInstantiator findStdValueInstantiator(DeserializationConfig config,
Class<?> raw)
{
if (raw == JsonLocation.class) {
return new JsonLocationInstantiator();
}
// [databind#1868]: empty List/Set/Map
// [databind#2416]: optimize commonly needed default creators
if (Collection.class.isAssignableFrom(raw)) {
if (raw == ArrayList.class) {
return ArrayListInstantiator.INSTANCE;
}
if (Collections.EMPTY_SET.getClass() == raw) {
return new ConstantValueInstantiator(Collections.EMPTY_SET);
}
if (Collections.EMPTY_LIST.getClass() == raw) {
return new ConstantValueInstantiator(Collections.EMPTY_LIST);
}
} else if (Map.class.isAssignableFrom(raw)) {
if (raw == LinkedHashMap.class) {
return LinkedHashMapInstantiator.INSTANCE;
}
if (raw == HashMap.class) {
return HashMapInstantiator.INSTANCE;
}
if (Collections.EMPTY_MAP.getClass() == raw) {
return new ConstantValueInstantiator(Collections.EMPTY_MAP);
}
}
return null;
}
private static class ArrayListInstantiator
extends ValueInstantiator.Base
implements java.io.Serializable
{
private static final long serialVersionUID = 2L;
public final static ArrayListInstantiator INSTANCE = new ArrayListInstantiator();
public ArrayListInstantiator() {
super(ArrayList.class);
}
@Override
public boolean canInstantiate() { return true; }
@Override
public boolean canCreateUsingDefault() { return true; }
@Override
public Object createUsingDefault(DeserializationContext ctxt) throws IOException {
return new ArrayList<>();
}
}
private static class HashMapInstantiator
extends ValueInstantiator.Base
implements java.io.Serializable
{
private static final long serialVersionUID = 2L;
public final static HashMapInstantiator INSTANCE = new HashMapInstantiator();
public HashMapInstantiator() {
super(HashMap.class);
}
@Override
public boolean canInstantiate() { return true; }
@Override
public boolean canCreateUsingDefault() { return true; }
@Override
public Object createUsingDefault(DeserializationContext ctxt) throws IOException {
return new HashMap<>();
}
}
private static class LinkedHashMapInstantiator
extends ValueInstantiator.Base
implements java.io.Serializable
{
private static final long serialVersionUID = 2L;
public final static LinkedHashMapInstantiator INSTANCE = new LinkedHashMapInstantiator();
public LinkedHashMapInstantiator() {
super(LinkedHashMap.class);
}
@Override
public boolean canInstantiate() { return true; }
@Override
public boolean canCreateUsingDefault() { return true; }
@Override
public Object createUsingDefault(DeserializationContext ctxt) throws IOException {
return new LinkedHashMap<>();
}
}
private static class ConstantValueInstantiator
extends ValueInstantiator.Base
implements java.io.Serializable
{
private static final long serialVersionUID = 2L;
protected final Object _value;
public ConstantValueInstantiator(Object value) {
super(value.getClass());
_value = value;
}
@Override // yes, since default ctor works
public boolean canInstantiate() { return true; }
@Override
public boolean canCreateUsingDefault() { return true; }
@Override
public Object createUsingDefault(DeserializationContext ctxt) throws IOException {
return _value;
}
}
}
⏎ com/fasterxml/jackson/databind/deser/impl/JDKValueInstantiators.java
Or download all of them as a single archive file:
File name: jackson-databind-2.14.0-sources.jar File size: 1187952 bytes Release date: 2022-11-05 Download
⇒ Jackson Annotations Source Code
⇐ Download and Install Jackson Binary Package
2022-03-29, ≈197🔥, 0💬
Popular Posts:
iText is an ideal library for developers looking to enhance web- and other applications with dynamic...
What is jxl.jar 2.6.12? jxl.jar 2.6.12 is the JAR file for Java Excel API 2.6.12, which is a Java li...
How to download and install JDK (Java Development Kit) 7? If you want to write Java applications, yo...
How to display types defined in an XML Schema file with the xs\QueryXS.java provided in the Apache X...
JDK 11 jdk.xml.dom.jmod is the JMOD file for JDK 11 XML DOM module. JDK 11 XML DOM module compiled c...