Total Lines | 35 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | package sqlproxy |
||
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 |