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/ser/AnyGetterWriter.java
package com.fasterxml.jackson.databind.ser;
import java.util.Map;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.introspect.AnnotatedMember;
import com.fasterxml.jackson.databind.ser.std.MapSerializer;
/**
* Class similar to {@link BeanPropertyWriter}, but that will be used
* for serializing {@link com.fasterxml.jackson.annotation.JsonAnyGetter} annotated
* (Map) properties
*/
public class AnyGetterWriter
{
protected final BeanProperty _property;
/**
* Method (or field) that represents the "any getter"
*/
protected final AnnotatedMember _accessor;
protected JsonSerializer<Object> _serializer;
protected MapSerializer _mapSerializer;
@SuppressWarnings("unchecked")
public AnyGetterWriter(BeanProperty property,
AnnotatedMember accessor, JsonSerializer<?> serializer)
{
_accessor = accessor;
_property = property;
_serializer = (JsonSerializer<Object>) serializer;
if (serializer instanceof MapSerializer) {
_mapSerializer = (MapSerializer) serializer;
}
}
/**
* @since 2.8.3
*/
public void fixAccess(SerializationConfig config) {
_accessor.fixAccess(
config.isEnabled(MapperFeature.OVERRIDE_PUBLIC_ACCESS_MODIFIERS));
}
public void getAndSerialize(Object bean, JsonGenerator gen, SerializerProvider provider)
throws Exception
{
Object value = _accessor.getValue(bean);
if (value == null) {
return;
}
if (!(value instanceof Map<?,?>)) {
provider.reportBadDefinition(_property.getType(), String.format(
"Value returned by 'any-getter' %s() not java.util.Map but %s",
_accessor.getName(), value.getClass().getName()));
}
// 23-Feb-2015, tatu: Nasty, but has to do (for now)
if (_mapSerializer != null) {
_mapSerializer.serializeWithoutTypeInfo((Map<?,?>) value, gen, provider);
return;
}
_serializer.serialize(value, gen, provider);
}
/**
* @since 2.3
*/
public void getAndFilter(Object bean, JsonGenerator gen, SerializerProvider provider,
PropertyFilter filter)
throws Exception
{
Object value = _accessor.getValue(bean);
if (value == null) {
return;
}
if (!(value instanceof Map<?,?>)) {
provider.reportBadDefinition(_property.getType(),
String.format("Value returned by 'any-getter' (%s()) not java.util.Map but %s",
_accessor.getName(), value.getClass().getName()));
}
// 19-Oct-2014, tatu: Should we try to support @JsonInclude options here?
if (_mapSerializer != null) {
_mapSerializer.serializeFilteredAnyProperties(provider, gen, bean,(Map<?,?>) value,
filter, null);
return;
}
// ... not sure how custom handler would do it
_serializer.serialize(value, gen, provider);
}
// Note: NOT part of ResolvableSerializer...
@SuppressWarnings("unchecked")
public void resolve(SerializerProvider provider) throws JsonMappingException
{
// 05-Sep-2013, tatu: I _think_ this can be considered a primary property...
if (_serializer instanceof ContextualSerializer) {
JsonSerializer<?> ser = provider.handlePrimaryContextualization(_serializer, _property);
_serializer = (JsonSerializer<Object>) ser;
if (ser instanceof MapSerializer) {
_mapSerializer = (MapSerializer) ser;
}
}
}
}
⏎ com/fasterxml/jackson/databind/ser/AnyGetterWriter.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, ≈228🔥, 0💬
Popular Posts:
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java"....
Where to find answers to frequently asked questions on Downloading and Installing ojdbc.jar - JDBC D...
Java Cryptography Extension 1.6 JAR File Size and Download Location: File name: jce.jar, jce-1.6.jar...
Apache Neethi provides general framework for the programmers to use WS Policy. It is compliant with ...
How to show the XML parsing flow with sax\DocumentTracer.java provided in the Apache Xerces package?...