...
1 package exp
2
3 type (
4 TruncateClauses interface {
5 HasTable() bool
6 clone() *truncateClauses
7
8 Table() ColumnListExpression
9 SetTable(tables ColumnListExpression) TruncateClauses
10
11 Options() TruncateOptions
12 SetOptions(opts TruncateOptions) TruncateClauses
13 }
14 truncateClauses struct {
15 tables ColumnListExpression
16 options TruncateOptions
17 }
18 )
19
20 func NewTruncateClauses() TruncateClauses {
21 return &truncateClauses{}
22 }
23
24 func (tc *truncateClauses) HasTable() bool {
25 return tc.tables != nil
26 }
27
28 func (tc *truncateClauses) clone() *truncateClauses {
29 return &truncateClauses{
30 tables: tc.tables,
31 }
32 }
33
34 func (tc *truncateClauses) Table() ColumnListExpression {
35 return tc.tables
36 }
37 func (tc *truncateClauses) SetTable(tables ColumnListExpression) TruncateClauses {
38 ret := tc.clone()
39 ret.tables = tables
40 return ret
41 }
42
43 func (tc *truncateClauses) Options() TruncateOptions {
44 return tc.options
45 }
46 func (tc *truncateClauses) SetOptions(opts TruncateOptions) TruncateClauses {
47 ret := tc.clone()
48 ret.options = opts
49 return ret
50 }
51
View as plain text