Categories:
Audio (13)
Biotech (29)
Bytecode (35)
Database (77)
Framework (7)
Game (7)
General (512)
Graphics (53)
I/O (32)
IDE (2)
JAR Tools (86)
JavaBeans (16)
JDBC (89)
JDK (337)
JSP (20)
Logging (103)
Mail (54)
Messaging (8)
Network (71)
PDF (94)
Report (7)
Scripting (83)
Security (32)
Server (119)
Servlet (17)
SOAP (24)
Testing (50)
Web (19)
XML (301)
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.12.4-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/ext/NioPathDeserializer.java
package com.fasterxml.jackson.databind.ext; import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.nio.file.FileSystemNotFoundException; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.spi.FileSystemProvider; import java.util.ServiceLoader; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import static java.lang.Character.isLetter; /** * @since 2.8 */ public class NioPathDeserializer extends StdScalarDeserializer<Path> { private static final long serialVersionUID = 1; private static final boolean areWindowsFilePathsSupported; static { boolean isWindowsRootFound = false; for (File file : File.listRoots()) { String path = file.getPath(); if (path.length() >= 2 && isLetter(path.charAt(0)) && path.charAt(1) == ':') { isWindowsRootFound = true; break; } } areWindowsFilePathsSupported = isWindowsRootFound; } public NioPathDeserializer() { super(Path.class); } @Override public Path deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { if (!p.hasToken(JsonToken.VALUE_STRING)) { return (Path) ctxt.handleUnexpectedToken(Path.class, p); } final String value = p.getText(); // If someone gives us an input with no : at all, treat as local path, instead of failing // with invalid URI. if (value.indexOf(':') < 0) { return Paths.get(value); } if (areWindowsFilePathsSupported) { if (value.length() >= 2 && isLetter(value.charAt(0)) && value.charAt(1) == ':') { return Paths.get(value); } } final URI uri; try { uri = new URI(value); } catch (URISyntaxException e) { return (Path) ctxt.handleInstantiationProblem(handledType(), value, e); } try { return Paths.get(uri); } catch (FileSystemNotFoundException cause) { try { final String scheme = uri.getScheme(); // We want to use the current thread's context class loader, not system class loader that is used in Paths.get(): for (FileSystemProvider provider : ServiceLoader.load(FileSystemProvider.class)) { if (provider.getScheme().equalsIgnoreCase(scheme)) { return provider.getPath(uri); } } return (Path) ctxt.handleInstantiationProblem(handledType(), value, cause); } catch (Throwable e) { e.addSuppressed(cause); return (Path) ctxt.handleInstantiationProblem(handledType(), value, e); } } catch (Throwable e) { return (Path) ctxt.handleInstantiationProblem(handledType(), value, e); } } }
⏎ com/fasterxml/jackson/databind/ext/NioPathDeserializer.java
Â
⇒ Jackson Annotations Source Code
⇠Download and Install Jackson Binary Package
⇑ Downloading and Reviewing jackson-*.jar
⇑⇑ Jackson - Java JSON library
2022-03-29, 32324👍, 0💬
Popular Posts:
Woodstox, Release 3.2.8 is a high-performance validating namespace-aware StAX-compliant (JSR-173) Op...
How to download and install ojdbc5.jar for Oracle 11g R1? ojdbc5.jar for Oracle 11g R1 is a Java 5 J...
JRE 5 sunjce_provider.jar is the JAR file for JRE 5 Sun JCE Provider, which provides implementations...
commons-net-1.4.1.jar is the JAR file for Apache Commons Net 1.4.1, which implements the client side...
JSP(tm) Standard Tag Library 1.1 implementation - Jakarta Taglibs hosts the Standard Taglib 1.1, an ...