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/ser/impl/FilteredBeanPropertyWriter.java
package com.fasterxml.jackson.databind.ser.impl; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor; import com.fasterxml.jackson.databind.ser.BeanPropertyWriter; import com.fasterxml.jackson.databind.util.NameTransformer; /** * Decorated {@link BeanPropertyWriter} that will filter out properties * that are not to be included in currently active JsonView. */ public abstract class FilteredBeanPropertyWriter { public static BeanPropertyWriter constructViewBased(BeanPropertyWriter base, Class<?>[] viewsToIncludeIn) { if (viewsToIncludeIn.length == 1) { return new SingleView(base, viewsToIncludeIn[0]); } return new MultiView(base, viewsToIncludeIn); } /* /********************************************************** /* Concrete sub-classes /********************************************************** */ private final static class SingleView extends BeanPropertyWriter implements java.io.Serializable { private static final long serialVersionUID = 1L; protected final BeanPropertyWriter _delegate; protected final Class<?> _view; protected SingleView(BeanPropertyWriter delegate, Class<?> view) { super(delegate); _delegate = delegate; _view = view; } @Override public SingleView rename(NameTransformer transformer) { return new SingleView(_delegate.rename(transformer), _view); } @Override public void assignSerializer(JsonSerializer<Object> ser) { _delegate.assignSerializer(ser); } @Override public void assignNullSerializer(JsonSerializer<Object> nullSer) { _delegate.assignNullSerializer(nullSer); } @Override public void serializeAsField(Object bean, JsonGenerator gen, SerializerProvider prov) throws Exception { Class<?> activeView = prov.getActiveView(); if (activeView == null || _view.isAssignableFrom(activeView)) { _delegate.serializeAsField(bean, gen, prov); } else { _delegate.serializeAsOmittedField(bean, gen, prov); } } @Override public void serializeAsElement(Object bean, JsonGenerator gen, SerializerProvider prov) throws Exception { Class<?> activeView = prov.getActiveView(); if (activeView == null || _view.isAssignableFrom(activeView)) { _delegate.serializeAsElement(bean, gen, prov); } else { _delegate.serializeAsPlaceholder(bean, gen, prov); } } @Override public void depositSchemaProperty(JsonObjectFormatVisitor v, SerializerProvider provider) throws JsonMappingException { Class<?> activeView = provider.getActiveView(); if (activeView == null || _view.isAssignableFrom(activeView)) { super.depositSchemaProperty(v, provider); } } } private final static class MultiView extends BeanPropertyWriter implements java.io.Serializable { private static final long serialVersionUID = 1L; protected final BeanPropertyWriter _delegate; protected final Class<?>[] _views; protected MultiView(BeanPropertyWriter delegate, Class<?>[] views) { super(delegate); _delegate = delegate; _views = views; } @Override public MultiView rename(NameTransformer transformer) { return new MultiView(_delegate.rename(transformer), _views); } @Override public void assignSerializer(JsonSerializer<Object> ser) { _delegate.assignSerializer(ser); } @Override public void assignNullSerializer(JsonSerializer<Object> nullSer) { _delegate.assignNullSerializer(nullSer); } @Override public void serializeAsField(Object bean, JsonGenerator gen, SerializerProvider prov) throws Exception { if (_inView(prov.getActiveView())) { _delegate.serializeAsField(bean, gen, prov); return; } _delegate.serializeAsOmittedField(bean, gen, prov); } @Override public void serializeAsElement(Object bean, JsonGenerator gen, SerializerProvider prov) throws Exception { if (_inView(prov.getActiveView())) { _delegate.serializeAsElement(bean, gen, prov); return; } _delegate.serializeAsPlaceholder(bean, gen, prov); } @Override public void depositSchemaProperty(JsonObjectFormatVisitor v, SerializerProvider provider) throws JsonMappingException { if (_inView(provider.getActiveView())) { super.depositSchemaProperty(v, provider); } } private final boolean _inView(Class<?> activeView) { if (activeView == null) { return true; } final int len = _views.length; for (int i = 0; i < len; ++i) { if (_views[i].isAssignableFrom(activeView)) { return true; } } return false; } } }
⏎ com/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter.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, 81300👍, 0💬
Popular Posts:
Apache Commons Lang 3 is the 3rd version of Apache Commons Lang, which provides a host of helper uti...
commons-io-1.4.jar is the JAR file for Commons IO 1.4, which is a library of utilities to assist wit...
What Is commons-codec-1.4.jar? commons-codec-1.4.jar is the JAR file for Apache Commons Codec 1.4, w...
JDK 11 jdk.rmic.jmod is the JMOD file for JDK 11 RMI (Remote Method Invocation) Compiler Tool tool, ...
What Is poi-scratchpad-3.5.jar? poi-scratchpad-3.5.jar is one of the JAR files for Apache POI 3.5, w...