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/std/MapProperty.java
package com.fasterxml.jackson.databind.ser.std;
import java.io.IOException;
import java.lang.annotation.Annotation;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.introspect.AnnotatedMember;
import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor;
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.ser.PropertyWriter;
/**
* Helper class needed to support flexible filtering of Map properties
* with generic JSON Filter functionality. Since {@link java.util.Map}s
* are not handled as a collection of properties by Jackson (unlike POJOs),
* bit more wrapping is required.
*/
public class MapProperty extends PropertyWriter
{
private static final long serialVersionUID = 1L;
private final static BeanProperty BOGUS_PROP = new BeanProperty.Bogus();
protected final TypeSerializer _typeSerializer;
protected final BeanProperty _property;
protected Object _key, _value;
protected JsonSerializer<Object> _keySerializer, _valueSerializer;
public MapProperty(TypeSerializer typeSer, BeanProperty prop)
{
super((prop == null) ? PropertyMetadata.STD_REQUIRED_OR_OPTIONAL : prop.getMetadata());
_typeSerializer = typeSer;
_property = (prop == null) ? BOGUS_PROP : prop;
}
/**
* Initialization method that needs to be called before passing
* property to filter.
*
* @since 2.9
*/
public void reset(Object key, Object value,
JsonSerializer<Object> keySer, JsonSerializer<Object> valueSer)
{
_key = key;
_value = value;
_keySerializer = keySer;
_valueSerializer = valueSer;
}
@Deprecated // since 2.9
public void reset(Object key,
JsonSerializer<Object> keySer, JsonSerializer<Object> valueSer)
{
reset(key, _value, keySer, valueSer);
}
@Override
public String getName() {
if (_key instanceof String) {
return (String) _key;
}
return String.valueOf(_key);
}
/**
* @since 2.9
*/
public Object getValue() {
return _value;
}
/**
* @since 2.9
*/
public void setValue(Object v) {
_value = v;
}
@Override
public PropertyName getFullName() {
return new PropertyName(getName());
}
@Override
public <A extends Annotation> A getAnnotation(Class<A> acls) {
return _property.getAnnotation(acls);
}
@Override
public <A extends Annotation> A getContextAnnotation(Class<A> acls) {
return _property.getContextAnnotation(acls);
}
@Override
public void serializeAsField(Object map, JsonGenerator gen,
SerializerProvider provider) throws IOException
{
_keySerializer.serialize(_key, gen, provider);
if (_typeSerializer == null) {
_valueSerializer.serialize(_value, gen, provider);
} else {
_valueSerializer.serializeWithType(_value, gen, provider, _typeSerializer);
}
}
@Override
public void serializeAsOmittedField(Object map, JsonGenerator gen,
SerializerProvider provider) throws Exception
{
if (!gen.canOmitFields()) {
gen.writeOmittedField(getName());
}
}
@Override
public void serializeAsElement(Object map, JsonGenerator gen,
SerializerProvider provider) throws Exception
{
if (_typeSerializer == null) {
_valueSerializer.serialize(_value, gen, provider);
} else {
_valueSerializer.serializeWithType(_value, gen, provider, _typeSerializer);
}
}
@Override
public void serializeAsPlaceholder(Object value, JsonGenerator gen,
SerializerProvider provider) throws Exception
{
gen.writeNull();
}
/*
/**********************************************************
/* Rest of BeanProperty, nop
/**********************************************************
*/
@Override
public void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor,
SerializerProvider provider)
throws JsonMappingException
{
_property.depositSchemaProperty(objectVisitor, provider);
}
@Override
@Deprecated
public void depositSchemaProperty(ObjectNode propertiesNode,
SerializerProvider provider) throws JsonMappingException {
// nothing to do here
}
@Override
public JavaType getType() {
return _property.getType();
}
@Override
public PropertyName getWrapperName() {
return _property.getWrapperName();
}
@Override
public AnnotatedMember getMember() {
return _property.getMember();
}
}
⏎ com/fasterxml/jackson/databind/ser/std/MapProperty.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, ≈156🔥, 0💬
Popular Posts:
How to download and install ojdbc7.jar for Oracle 12c R1? ojdbc8.jar for Oracle 12c R1 is a Java 7 a...
JUnit Source Code Files are provided in the source package file, junit-4.13.2-sources.jar .You can b...
What Is log4j-1.2.13.jar? I got the JAR file from logging-log4j-1.2.13.zip .log4j-1.2.13.jar is the ...
Rhino JavaScript Java Library is an open-source implementation of JavaScript written entirely in Jav...
What is the jaxp\SourceValidator.jav aprovided in the Apache Xerces package? I have Apache Xerces 2....