Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–728 unchanged (728 lines)
729 // One more thing: if implicit name matches property with a getter
730 // or field, we'll consider it property-based as well
731
732 // 25-May-2018, tatu: as per [databind#2051], looks like we have to get
733 // not implicit name, but name with possible strategy-based-rename
734// paramName = candidate.findImplicitParamName(0);
735 paramName = candidate.findImplicitParamName(0);
736 useProps = (paramName != null) && paramDef.couldSerialize();
737 }
738 if (useProps) {
739 SettableBeanProperty[] properties = new SettableBeanProperty[] {
740 constructCreatorProperty(ctxt, beanDesc, paramName, 0, param, injectId)
741 };
…lines 742–2178 unchanged (1437 lines)

After

…lines 1–728 unchanged (728 lines)
729 // One more thing: if implicit name matches property with a getter
730 // or field, we'll consider it property-based as well
731
732 // 25-May-2018, tatu: as per [databind#2051], looks like we have to get
733 // not implicit name, but name with possible strategy-based-rename
734// paramName = candidate.findImplicitParamName(0);
735 paramName = candidate.paramName(0);
736 useProps = (paramName != null) && paramDef.couldSerialize();
737 }
738 if (useProps) {
739 SettableBeanProperty[] properties = new SettableBeanProperty[] {
740 constructCreatorProperty(ctxt, beanDesc, paramName, 0, param, injectId)
741 };
…lines 742–2178 unchanged (1437 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "deser"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
identifier "atomic"
. "."
identifier "AtomicReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JacksonInject"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonCreator"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonIgnoreProperties"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonCreator"
. "."
identifier "Mode"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "JsonLocation"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "JsonParser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "DeserializerFactoryConfig"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "HandlerInstantiator"
; ";"
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "exc"
. "."
identifier "InvalidDefinitionException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "ext"
. "."
identifier "OptionalHandlerFactory"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "introspect"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "NamedType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeDeserializer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeResolverBuilder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "type"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
block_comment "/**\n * Abstract factory base class that can provide deserial"...
class_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
string_literal
" "\""
string_fragment "serial"
" "\""
) ")"
public "public"
abstract "abstract"
class "class"
identifier "BasicDeserializerFactory"
superclass
extends "extends"
type_identifier "DeserializerFactory"
super_interfaces
implements "implements"
type_list
scoped_type_identifier
scoped_type_identifier
type_identifier "java"
. "."
type_identifier "io"
. "."
type_identifier "Serializable"
class_body
{ "{"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_OBJECT"
= "="
class_literal
type_identifier "Object"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_STRING"
= "="
class_literal
type_identifier "String"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_CHAR_SEQUENCE"
= "="
class_literal
type_identifier "CharSequence"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_ITERABLE"
= "="
class_literal
type_identifier "Iterable"
. "."
class "class"
; ";"
field_declaration (+23 nodes collapsed)
block_comment "/**\n * We need a placeholder for creator properties that"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "PropertyName"
variable_declarator
identifier "UNWRAPPED_CREATOR_PARAM_NAME"
= "="
object_creation_expression
new "new"
type_identifier "PropertyName"
argument_list
( "("
string_literal
" "\""
string_fragment "@JsonUnwrapped"
" "\""
) ")"
; ";"
block_comment "/* We do some defaulting for abstract Map classes and\n *"...
field_declaration (+55 nodes collapsed)
static_initializer (+149 nodes collapsed)
block_comment "/* We do some defaulting for abstract Collection classes and"...
field_declaration (+55 nodes collapsed)
static_initializer (+163 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Configuration settings for this factory; immutabl"...
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "DeserializerFactoryConfig"
variable_declarator
identifier "_factoryConfig"
; ";"
block_comment "/*\n /****************************************************"...
constructor_declaration
modifiers
protected "protected"
identifier "BasicDeserializerFactory"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
constructor_body
{ "{"
expression_statement
assignment_expression
identifier "_factoryConfig"
= "="
identifier "config"
; ";"
} "}"
block_comment "/**\n * Method for getting current {@link DeserializerFac"...
method_declaration
modifiers
public "public"
type_identifier "DeserializerFactoryConfig"
identifier "getFactoryConfig"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_factoryConfig"
; ";"
} "}"
method_declaration
modifiers
protected "protected"
abstract "abstract"
type_identifier "DeserializerFactory"
identifier "withConfig"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+168 nodes collapsed)
block_comment "/**\n * Method that will find abstract type mapping for s"...
method_declaration (+123 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Value instantiator is created both based on creat"...
method_declaration (+341 nodes collapsed)
method_declaration (+210 nodes collapsed)
block_comment "/**\n * Method that will construct standard default {@lin"...
method_declaration (+203 nodes collapsed)
method_declaration (+307 nodes collapsed)
method_declaration (+290 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+1300 nodes collapsed)
block_comment "/**\n * Helper method called when there is the explicit \""...
method_declaration (+344 nodes collapsed)
block_comment "/**\n * Helper method called when there is the explicit \""...
method_declaration (+291 nodes collapsed)
block_comment "/**\n * Helper method called when there is the explicit \""...
method_declaration
modifiers
protected "protected"
void_type "void"
identifier "_addExplicitAnyCreator"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializationContext"
identifier "ctxt"
, ","
formal_parameter
type_identifier "BeanDescription"
identifier "beanDesc"
, ","
formal_parameter
type_identifier "CreatorCollector"
identifier "creators"
, ","
formal_parameter
type_identifier "CreatorCandidate"
identifier "candidate"
) ")"
throws
throws "throws"
type_identifier "JsonMappingException"
block
{ "{"
line_comment "// Looks like there's bit of magic regarding 1-parameter cre"...
if_statement (+100 nodes collapsed)
local_variable_declaration
type_identifier "AnnotatedParameter"
variable_declarator
identifier "param"
= "="
method_invocation
identifier "candidate"
. "."
identifier "parameter"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
local_variable_declaration
scoped_type_identifier
type_identifier "JacksonInject"
. "."
type_identifier "Value"
variable_declarator
identifier "injectId"
= "="
method_invocation
identifier "candidate"
. "."
identifier "injection"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
local_variable_declaration
type_identifier "PropertyName"
variable_declarator
identifier "paramName"
= "="
method_invocation
identifier "candidate"
. "."
identifier "explicitParamName"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
local_variable_declaration
type_identifier "BeanPropertyDefinition"
variable_declarator
identifier "paramDef"
= "="
method_invocation
identifier "candidate"
. "."
identifier "propertyDef"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
line_comment "// If there's injection or explicit name, should be properti"...
local_variable_declaration (+22 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
unary_expression
! "!"
identifier "useProps"
&& "&&"
parenthesized_expression
( "("
binary_expression
identifier "paramDef"
!= "!="
null_literal "null"
) ")"
) ")"
block
{ "{"
line_comment "// One more thing: if implicit name matches property with a "...
line_comment "// or field, we'll consider it property-based as well"
line_comment "// 25-May-2018, tatu: as per [databind#2051], looks like we "...
line_comment "// not implicit name, but name with possible strategy-bas"...
line_comment "// paramName = candidate.findImplicitParamName(0)"...
expression_statement
assignment_expression
identifier "paramName"
= "="
method_invocation
identifier "candidate"
. "."
identifier "findImplicitParamName"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
expression_statement (+21 nodes collapsed)
} "}"
if_statement (+67 nodes collapsed)
expression_statement
method_invocation
identifier "_handleSingleArgumentCreator"
argument_list
( "("
identifier "creators"
, ","
method_invocation
identifier "candidate"
. "."
identifier "creator"
argument_list
( "("
) ")"
, ","
true "true"
, ","
true "true"
) ")"
; ";"
line_comment "// one more thing: sever link to creator property, to avoid "...
line_comment "// problems with \"unresolved\" constructor property"
if_statement (+28 nodes collapsed)
} "}"
method_declaration (+151 nodes collapsed)
method_declaration (+407 nodes collapsed)
method_declaration (+1029 nodes collapsed)
method_declaration (+341 nodes collapsed)
line_comment "// 01-Dec-2016, tatu: As per [databind#265] we cannot yet su"...
line_comment "// of unwrapped values through creator properties, so fail"...
method_declaration (+61 nodes collapsed)
block_comment "/**\n * Method that will construct a property object that"...
method_declaration (+437 nodes collapsed)
method_declaration (+120 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+313 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+587 nodes collapsed)
method_declaration (+89 nodes collapsed)
line_comment "// Copied almost verbatim from \"createCollectionDeserializer"...
method_declaration (+217 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+769 nodes collapsed)
line_comment "// Copied almost verbatim from \"createMapDeserializer\" -- sh"...
method_declaration (+271 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method for constructing serializers of {@"...
method_declaration (+395 nodes collapsed)
method_declaration (+128 nodes collapsed)
method_declaration (+326 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+347 nodes collapsed)
block_comment "/**\n * Overridable method called after checking all othe"...
method_declaration (+55 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+256 nodes collapsed)
method_declaration (+481 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called to create a type information deseri"...
method_declaration (+131 nodes collapsed)
block_comment "/**\n * Method called to find and create a type informati"...
method_declaration (+144 nodes collapsed)
block_comment "/**\n * Helper method called to find one of default seria"...
method_declaration (+621 nodes collapsed)
method_declaration (+73 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+100 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+98 nodes collapsed)
method_declaration (+116 nodes collapsed)
method_declaration (+116 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Helper method called to check if a class or metho"...
method_declaration (+94 nodes collapsed)
block_comment "/**\n * Helper method called to check if a class or metho"...
method_declaration (+89 nodes collapsed)
block_comment "/**\n * @since 2.9\n */"
method_declaration (+94 nodes collapsed)
block_comment "/**\n * Helper method used to resolve additional type-rel"...
method_declaration (+381 nodes collapsed)
method_declaration (+125 nodes collapsed)
block_comment "/**\n * @since 2.9\n */"
method_declaration (+97 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called to see if given method has annotati"...
method_declaration (+78 nodes collapsed)
block_comment "/**\n * @deprecated since 2.8 call {@link #resolveMemberA"...
method_declaration (+46 nodes collapsed)
block_comment "/**\n * @deprecated since 2.8 call <code>findJsonValueMet"...
method_declaration (+62 nodes collapsed)
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "deser"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
identifier "atomic"
. "."
identifier "AtomicReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JacksonInject"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonCreator"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonIgnoreProperties"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonCreator"
. "."
identifier "Mode"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "JsonLocation"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "JsonParser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "DeserializerFactoryConfig"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "HandlerInstantiator"
; ";"
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "exc"
. "."
identifier "InvalidDefinitionException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "ext"
. "."
identifier "OptionalHandlerFactory"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "introspect"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "NamedType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeDeserializer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeResolverBuilder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "type"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
block_comment "/**\n * Abstract factory base class that can provide deserial"...
class_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
string_literal
" "\""
string_fragment "serial"
" "\""
) ")"
public "public"
abstract "abstract"
class "class"
identifier "BasicDeserializerFactory"
superclass
extends "extends"
type_identifier "DeserializerFactory"
super_interfaces
implements "implements"
type_list
scoped_type_identifier
scoped_type_identifier
type_identifier "java"
. "."
type_identifier "io"
. "."
type_identifier "Serializable"
class_body
{ "{"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_OBJECT"
= "="
class_literal
type_identifier "Object"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_STRING"
= "="
class_literal
type_identifier "String"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_CHAR_SEQUENCE"
= "="
class_literal
type_identifier "CharSequence"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_ITERABLE"
= "="
class_literal
type_identifier "Iterable"
. "."
class "class"
; ";"
field_declaration (+23 nodes collapsed)
block_comment "/**\n * We need a placeholder for creator properties that"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "PropertyName"
variable_declarator
identifier "UNWRAPPED_CREATOR_PARAM_NAME"
= "="
object_creation_expression
new "new"
type_identifier "PropertyName"
argument_list
( "("
string_literal
" "\""
string_fragment "@JsonUnwrapped"
" "\""
) ")"
; ";"
block_comment "/* We do some defaulting for abstract Map classes and\n *"...
field_declaration (+55 nodes collapsed)
static_initializer (+149 nodes collapsed)
block_comment "/* We do some defaulting for abstract Collection classes and"...
field_declaration (+55 nodes collapsed)
static_initializer (+163 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Configuration settings for this factory; immutabl"...
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "DeserializerFactoryConfig"
variable_declarator
identifier "_factoryConfig"
; ";"
block_comment "/*\n /****************************************************"...
constructor_declaration
modifiers
protected "protected"
identifier "BasicDeserializerFactory"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
constructor_body
{ "{"
expression_statement
assignment_expression
identifier "_factoryConfig"
= "="
identifier "config"
; ";"
} "}"
block_comment "/**\n * Method for getting current {@link DeserializerFac"...
method_declaration
modifiers
public "public"
type_identifier "DeserializerFactoryConfig"
identifier "getFactoryConfig"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_factoryConfig"
; ";"
} "}"
method_declaration
modifiers
protected "protected"
abstract "abstract"
type_identifier "DeserializerFactory"
identifier "withConfig"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+168 nodes collapsed)
block_comment "/**\n * Method that will find abstract type mapping for s"...
method_declaration (+123 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Value instantiator is created both based on creat"...
method_declaration (+341 nodes collapsed)
method_declaration (+210 nodes collapsed)
block_comment "/**\n * Method that will construct standard default {@lin"...
method_declaration (+203 nodes collapsed)
method_declaration (+307 nodes collapsed)
method_declaration (+290 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+1300 nodes collapsed)
block_comment "/**\n * Helper method called when there is the explicit \""...
method_declaration (+344 nodes collapsed)
block_comment "/**\n * Helper method called when there is the explicit \""...
method_declaration (+291 nodes collapsed)
block_comment "/**\n * Helper method called when there is the explicit \""...
method_declaration
modifiers
protected "protected"
void_type "void"
identifier "_addExplicitAnyCreator"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializationContext"
identifier "ctxt"
, ","
formal_parameter
type_identifier "BeanDescription"
identifier "beanDesc"
, ","
formal_parameter
type_identifier "CreatorCollector"
identifier "creators"
, ","
formal_parameter
type_identifier "CreatorCandidate"
identifier "candidate"
) ")"
throws
throws "throws"
type_identifier "JsonMappingException"
block
{ "{"
line_comment "// Looks like there's bit of magic regarding 1-parameter cre"...
if_statement (+100 nodes collapsed)
local_variable_declaration
type_identifier "AnnotatedParameter"
variable_declarator
identifier "param"
= "="
method_invocation
identifier "candidate"
. "."
identifier "parameter"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
local_variable_declaration
scoped_type_identifier
type_identifier "JacksonInject"
. "."
type_identifier "Value"
variable_declarator
identifier "injectId"
= "="
method_invocation
identifier "candidate"
. "."
identifier "injection"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
local_variable_declaration
type_identifier "PropertyName"
variable_declarator
identifier "paramName"
= "="
method_invocation
identifier "candidate"
. "."
identifier "explicitParamName"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
local_variable_declaration
type_identifier "BeanPropertyDefinition"
variable_declarator
identifier "paramDef"
= "="
method_invocation
identifier "candidate"
. "."
identifier "propertyDef"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
line_comment "// If there's injection or explicit name, should be properti"...
local_variable_declaration (+22 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
unary_expression
! "!"
identifier "useProps"
&& "&&"
parenthesized_expression
( "("
binary_expression
identifier "paramDef"
!= "!="
null_literal "null"
) ")"
) ")"
block
{ "{"
line_comment "// One more thing: if implicit name matches property with a "...
line_comment "// or field, we'll consider it property-based as well"
line_comment "// 25-May-2018, tatu: as per [databind#2051], looks like we "...
line_comment "// not implicit name, but name with possible strategy-bas"...
line_comment "// paramName = candidate.findImplicitParamName(0)"...
expression_statement
assignment_expression
identifier "paramName"
= "="
method_invocation
identifier "candidate"
. "."
identifier "paramName"
argument_list
( "("
decimal_integer_literal "0"
) ")"
; ";"
expression_statement (+21 nodes collapsed)
} "}"
if_statement (+67 nodes collapsed)
expression_statement
method_invocation
identifier "_handleSingleArgumentCreator"
argument_list
( "("
identifier "creators"
, ","
method_invocation
identifier "candidate"
. "."
identifier "creator"
argument_list
( "("
) ")"
, ","
true "true"
, ","
true "true"
) ")"
; ";"
line_comment "// one more thing: sever link to creator property, to avoid "...
line_comment "// problems with \"unresolved\" constructor property"
if_statement (+28 nodes collapsed)
} "}"
method_declaration (+151 nodes collapsed)
method_declaration (+407 nodes collapsed)
method_declaration (+1029 nodes collapsed)
method_declaration (+341 nodes collapsed)
line_comment "// 01-Dec-2016, tatu: As per [databind#265] we cannot yet su"...
line_comment "// of unwrapped values through creator properties, so fail"...
method_declaration (+61 nodes collapsed)
block_comment "/**\n * Method that will construct a property object that"...
method_declaration (+437 nodes collapsed)
method_declaration (+120 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+313 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+587 nodes collapsed)
method_declaration (+89 nodes collapsed)
line_comment "// Copied almost verbatim from \"createCollectionDeserializer"...
method_declaration (+217 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+769 nodes collapsed)
line_comment "// Copied almost verbatim from \"createMapDeserializer\" -- sh"...
method_declaration (+271 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method for constructing serializers of {@"...
method_declaration (+395 nodes collapsed)
method_declaration (+128 nodes collapsed)
method_declaration (+326 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+347 nodes collapsed)
block_comment "/**\n * Overridable method called after checking all othe"...
method_declaration (+55 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+256 nodes collapsed)
method_declaration (+481 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called to create a type information deseri"...
method_declaration (+131 nodes collapsed)
block_comment "/**\n * Method called to find and create a type informati"...
method_declaration (+144 nodes collapsed)
block_comment "/**\n * Helper method called to find one of default seria"...
method_declaration (+621 nodes collapsed)
method_declaration (+73 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+100 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+98 nodes collapsed)
method_declaration (+116 nodes collapsed)
method_declaration (+116 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Helper method called to check if a class or metho"...
method_declaration (+94 nodes collapsed)
block_comment "/**\n * Helper method called to check if a class or metho"...
method_declaration (+89 nodes collapsed)
block_comment "/**\n * @since 2.9\n */"
method_declaration (+94 nodes collapsed)
block_comment "/**\n * Helper method used to resolve additional type-rel"...
method_declaration (+381 nodes collapsed)
method_declaration (+125 nodes collapsed)
block_comment "/**\n * @since 2.9\n */"
method_declaration (+97 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called to see if given method has annotati"...
method_declaration (+78 nodes collapsed)
block_comment "/**\n * @deprecated since 2.8 call {@link #resolveMemberA"...
method_declaration (+46 nodes collapsed)
block_comment "/**\n * @deprecated since 2.8 call <code>findJsonValueMet"...
method_declaration (+62 nodes collapsed)
} "}"