Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
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 (309)
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/type/ResolvedRecursiveType.java
package com.fasterxml.jackson.databind.type; import com.fasterxml.jackson.databind.JavaType; /** * Internal placeholder type used for self-references. * * @since 2.7 */ public class ResolvedRecursiveType extends TypeBase { private static final long serialVersionUID = 1L; protected JavaType _referencedType; public ResolvedRecursiveType(Class<?> erasedType, TypeBindings bindings) { super(erasedType, bindings, null, null, 0, null, null, false); } public void setReference(JavaType ref) { // sanity check; should not be called multiple times if (_referencedType != null) { throw new IllegalStateException("Trying to re-set self reference; old value = "+_referencedType+", new = "+ref); } _referencedType = ref; } @Override public JavaType getSuperClass() { if (_referencedType != null) { return _referencedType.getSuperClass(); } return super.getSuperClass(); } public JavaType getSelfReferencedType() { return _referencedType; } // 23-Jul-2019, tatu: [databind#2331] Need to also delegate this... @Override public TypeBindings getBindings() { if (_referencedType != null) { // `null` before resolution [databind#2395] return _referencedType.getBindings(); } return super.getBindings(); } @Override public StringBuilder getGenericSignature(StringBuilder sb) { // 30-Oct-2019, tatu: Alas, need to break recursion, otherwise we'll // end up in StackOverflowError... two choices; '?' for "not known", // or erased signature. if (_referencedType != null) { // return _referencedType.getGenericSignature(sb); return _referencedType.getErasedSignature(sb); } return sb.append("?"); } @Override public StringBuilder getErasedSignature(StringBuilder sb) { if (_referencedType != null) { return _referencedType.getErasedSignature(sb); } return sb; } @Override public JavaType withContentType(JavaType contentType) { return this; } @Override public JavaType withTypeHandler(Object h) { return this; } @Override public JavaType withContentTypeHandler(Object h) { return this; } @Override public JavaType withValueHandler(Object h) { return this; } @Override public JavaType withContentValueHandler(Object h) { return this; } @Override public JavaType withStaticTyping() { return this; } @Deprecated // since 2.7 @Override protected JavaType _narrow(Class<?> subclass) { return this; } @Override public JavaType refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces) { return null; } @Override public boolean isContainerType() { return false; } @Override public String toString() { StringBuilder sb = new StringBuilder(40) .append("[recursive type; "); if (_referencedType == null) { sb.append("UNRESOLVED"); } else { // [databind#1301]: Typically resolves to a loop so short-cut // and only include type-erased class sb.append(_referencedType.getRawClass().getName()); } return sb.toString(); } @Override public boolean equals(Object o) { if (o == this) return true; if (o == null) return false; if (o.getClass() == getClass()) { // 16-Jun-2017, tatu: as per [databind#1658], cannot do recursive call since // there is likely to be a cycle... // but... true or false? return false; /* // Do NOT ever match unresolved references if (_referencedType == null) { return false; } return (o.getClass() == getClass() && _referencedType.equals(((ResolvedRecursiveType) o).getSelfReferencedType())); */ } return false; } }
⏎ com/fasterxml/jackson/databind/type/ResolvedRecursiveType.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, 47035👍, 0💬
Popular Posts:
The JDT project provides the tool plug-ins that implement a Java IDE supporting the development of a...
JDK 11 jdk.rmic.jmod is the JMOD file for JDK 11 RMI (Remote Method Invocation) Compiler Tool tool, ...
What JAR files are required to run dom\Counter.java provided in the Apache Xerces package? You can f...
How to merge two JAR files with "jar" commands? I am tired of specifying multiple JAR files in the c...
The Digester package lets you configure an XML -> Java object mapping module, which triggers certain...