-
Notifications
You must be signed in to change notification settings - Fork 0
/
resetter.go
35 lines (29 loc) · 957 Bytes
/
resetter.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package sku
import (
"github.com/friedenberg/zit/src/alfa/errors"
"github.com/friedenberg/zit/src/charlie/gattung"
"github.com/friedenberg/zit/src/foxtrot/metadatei"
)
var TransactedReseter resetter
type resetter struct{}
func (resetter) Reset(a *Transacted) {
a.Kopf.Reset()
a.ObjekteSha.Reset()
a.Kennung.SetGattung(gattung.Unknown)
metadatei.Resetter.Reset(&a.Metadatei)
a.TransactionIndex.Reset()
}
func (r resetter) ResetWith(a *Transacted, b Transacted) {
a.Kopf = b.Kopf
a.ObjekteSha = b.ObjekteSha
a.Kennung.ResetWithKennung(b.Kennung)
metadatei.Resetter.ResetWith(&a.Metadatei, b.Metadatei)
a.TransactionIndex.SetInt(b.TransactionIndex.Int())
}
func (resetter) ResetWithPtr(a *Transacted, b *Transacted) {
a.Kopf = b.Kopf
a.ObjekteSha = b.ObjekteSha
errors.PanicIfError(a.Kennung.ResetWithKennung(&b.Kennung))
metadatei.Resetter.ResetWithPtr(&a.Metadatei, &b.Metadatei)
a.TransactionIndex.SetInt(b.TransactionIndex.Int())
}