Passed
Push — main ( 9e2022...6ef1c9 )
by Christian
02:04 queued 14s
created

sqlproxy.NewSQLProxyBuilder   A

Complexity

Conditions 1

Size

Total Lines 7
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 7
nop 1
dl 0
loc 7
rs 10
c 0
b 0
f 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