class_body
{ "{"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "serialVersionUID"
= "="
decimal_integer_literal "1"
; ";"
block_comment "/**\n * Like {@link BasicSerializerFactory}, this factory"...
field_declaration
modifiers
public "public"
final "final"
static "static"
type_identifier "BeanSerializerFactory"
variable_declarator
identifier "instance"
= "="
object_creation_expression
new "new"
type_identifier "BeanSerializerFactory"
argument_list
( "("
null_literal "null"
) ")"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Constructor for creating instances with specified"...
constructor_declaration
modifiers
protected "protected"
identifier "BeanSerializerFactory"
formal_parameters
( "("
formal_parameter
type_identifier "SerializerFactoryConfig"
identifier "config"
) ")"
constructor_body
{ "{"
explicit_constructor_invocation
super "super"
argument_list
( "("
identifier "config"
) ")"
; ";"
} "}"
block_comment "/**\n * Method used by module registration functionality,"...
method_declaration (+101 nodes collapsed)
method_declaration (+29 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Main serializer constructor method. We will have "...
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
string_literal
" "\""
string_fragment "unchecked"
" "\""
) ")"
public "public"
generic_type
type_identifier "JsonSerializer"
type_arguments
< "<"
type_identifier "Object"
> ">"
identifier "createSerializer"
formal_parameters
( "("
formal_parameter
type_identifier "SerializerProvider"
identifier "prov"
, ","
formal_parameter
type_identifier "JavaType"
identifier "origType"
) ")"
throws
throws "throws"
type_identifier "JsonMappingException"
block
{ "{"
line_comment "// Very first thing, let's check if there is explicit serial"...
local_variable_declaration
modifiers
final "final"
type_identifier "SerializationConfig"
variable_declarator
identifier "config"
= "="
method_invocation
identifier "prov"
. "."
identifier "getConfig"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
type_identifier "BeanDescription"
variable_declarator
identifier "beanDesc"
= "="
method_invocation
identifier "config"
. "."
identifier "introspect"
argument_list
( "("
identifier "origType"
) ")"
; ";"
local_variable_declaration (+26 nodes collapsed)
if_statement (+25 nodes collapsed)
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "staticTyping"
; ";"
line_comment "// Next: we may have annotations that further define types t"...
local_variable_declaration (+22 nodes collapsed)
if_statement (+67 nodes collapsed)
line_comment "// Slight detour: do we have a Converter to consider?"
local_variable_declaration
generic_type
type_identifier "Converter"
type_arguments
< "<"
type_identifier "Object"
, ","
type_identifier "Object"
> ">"
variable_declarator
identifier "conv"
= "="
method_invocation
identifier "beanDesc"
. "."
identifier "findSerializationConverter"
argument_list
( "("
) ")"
; ";"
if_statement (+37 nodes collapsed)
local_variable_declaration
type_identifier "JavaType"
variable_declarator
identifier "delegateType"
= "="
method_invocation
identifier "conv"
. "."
identifier "getOutputType"
argument_list
( "("
method_invocation
identifier "prov"
. "."
identifier "getTypeFactory"
argument_list
( "("
) ")"
) ")"
; ";"
line_comment "// One more twist, as per [Issue#288]; probably need to get "...
if_statement (+57 nodes collapsed)
line_comment "// [databind#731]: Should skip if nominally java.lang.Object"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression any 1:2
identifier "ser"
== "=="
null_literal "null"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "ser"
= "="
method_invocation
identifier "_createSerializer2"
argument_list
( "("
identifier "prov"
, ","
identifier "delegateType"
, ","
identifier "beanDesc"
, ","
true "true"
) ")"
; ";"
} "}"
return_statement
return "return"
object_creation_expression
new "new"
type_identifier "StdDelegatingSerializer"
argument_list
( "("
identifier "conv"
, ","
identifier "delegateType"
, ","
identifier "ser"
) ")"
; ";"
} "}"
method_declaration (+443 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method that will try to construct a {@link BeanSe"...
method_declaration (+87 nodes collapsed)
block_comment "/**\n * Method called to create a type information serial"...
method_declaration (+132 nodes collapsed)
block_comment "/**\n * Method called to create a type information serial"...
method_declaration (+145 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called to construct serializer for seriali"...
method_declaration (+737 nodes collapsed)
method_declaration (+450 nodes collapsed)
block_comment "/**\n * Method called to construct a filtered writer, for"...
method_declaration (+41 nodes collapsed)
method_declaration (+30 nodes collapsed)
method_declaration (+24 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Helper method used to skip processing for types t"...
method_declaration (+49 nodes collapsed)
block_comment "/**\n * Method used to collect all actual serializable pr"...
method_declaration (+412 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Overridable method that can filter out properties"...
method_declaration (+190 nodes collapsed)
block_comment "/**\n * Method called to handle view information for cons"...
method_declaration (+243 nodes collapsed)
block_comment "/**\n * Method that will apply by-type limitations (as pe"...
method_declaration (+305 nodes collapsed)
block_comment "/**\n * Helper method that will remove all properties tha"...
method_declaration (+112 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Secondary helper method for constructing {@link B"...
method_declaration (+329 nodes collapsed)
} "}"