sqlProxyBuilder.go   A
last analyzed

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 22
dl 0
loc 35
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A sqldb.*SQLProxyBuilder.WithAdapter 0 3 1
A sqldb.NewSQLProxyBuilder 0 7 1
A sqldb.*SQLProxyBuilder.Build 0 2 1
A sqldb.*SQLProxyBuilder.WithLogger 0 3 1
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