Total Lines | 35 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | package sqldb |
||
2 | |||
3 | import ( |
||
4 | "github.com/cdleo/go-commons/logger" |
||
5 | "github.com/cdleo/go-commons/sqlcommons" |
||
6 | "github.com/cdleo/go-sqldb/adapter" |
||
7 | ) |
||
8 | |||
9 | type SQLProxyBuilder struct { |
||
10 | proxy SQLProxy |
||
11 | } |
||
12 | |||
13 | func NewSQLProxyBuilder(connector sqlcommons.SQLConnector) *SQLProxyBuilder { |
||
14 | return &SQLProxyBuilder{ |
||
15 | proxy: SQLProxy{ |
||
16 | connector: connector, |
||
17 | translator: adapter.NewNoopAdapter(), |
||
18 | logger: logger.NewNoLogLogger(), |
||
19 | db: nil, |
||
20 | }, |
||
21 | } |
||
22 | } |
||
23 | |||
24 | func (s *SQLProxyBuilder) WithAdapter(translator sqlcommons.SQLAdapter) *SQLProxyBuilder { |
||
25 | s.proxy.translator = translator |
||
26 | return s |
||
27 | } |
||
28 | |||
29 | func (s *SQLProxyBuilder) WithLogger(logger logger.Logger) *SQLProxyBuilder { |
||
30 | s.proxy.logger = logger |
||
31 | return s |
||
32 | } |
||
33 | |||
34 | func (s *SQLProxyBuilder) Build() *SQLProxy { |
||
35 | return &s.proxy |
||
36 | } |
||
37 |