22
33import com .google .gson .Gson ;
44import lombok .*;
5+ import me .zort .sqllib .api .ObjectMapper ;
56import me .zort .sqllib .api .Query ;
67import me .zort .sqllib .api .StatementFactory ;
78import me .zort .sqllib .api .data .QueryResult ;
1415import me .zort .sqllib .internal .fieldResolver .ConstructorParameterResolver ;
1516import me .zort .sqllib .internal .fieldResolver .LinkedOneFieldResolver ;
1617import me .zort .sqllib .internal .impl .DefaultNamingStrategy ;
18+ import me .zort .sqllib .internal .impl .DefaultObjectMapper ;
1719import me .zort .sqllib .internal .impl .QueryResultImpl ;
1820import me .zort .sqllib .internal .query .*;
1921import me .zort .sqllib .internal .query .part .SetStatement ;
3537 */
3638public class SQLDatabaseConnectionImpl extends SQLDatabaseConnection {
3739
40+ // --***-- Default Constants --***--
41+
3842 public static boolean DEFAULT_AUTO_RECONNECT = true ;
3943 public static boolean DEFAULT_DEBUG = false ;
4044 public static boolean DEFAULT_LOG_SQL_ERRORS = true ;
4145 public static NamingStrategy DEFAULT_NAMING_STRATEGY = new DefaultNamingStrategy ();
4246 public static Gson DEFAULT_GSON = Defaults .DEFAULT_GSON ;
4347
48+ // --***-- Options & Utilities --***--
49+
4450 @ Getter
4551 private final SQLDatabaseOptions options ;
46- private final ObjectMapper objectMapper ;
52+ private transient ObjectMapper objectMapper ;
4753
4854 /**
4955 * Constructs new instance of this implementation with default
@@ -74,7 +80,7 @@ public SQLDatabaseConnectionImpl(SQLConnectionFactory connectionFactory, @Nullab
7480 );
7581
7682 this .options = options ;
77- this .objectMapper = new ObjectMapper (this );
83+ this .objectMapper = new DefaultObjectMapper (this );
7884
7985 // Default backup value resolvers.
8086 registerBackupValueResolver (new LinkedOneFieldResolver ());
@@ -84,7 +90,11 @@ public SQLDatabaseConnectionImpl(SQLConnectionFactory connectionFactory, @Nullab
8490 public void registerBackupValueResolver (@ NotNull ObjectMapper .FieldValueResolver resolver ) {
8591 Objects .requireNonNull (resolver , "Resolver cannot be null!" );
8692
87- objectMapper .getBackupValueResolvers ().add (resolver );
93+ objectMapper .registerBackupValueResolver (resolver );
94+ }
95+
96+ public void setObjectMapper (@ NotNull ObjectMapper objectMapper ) {
97+ this .objectMapper = Objects .requireNonNull (objectMapper , "Object mapper cannot be null!" );
8898 }
8999
90100 /**
0 commit comments