forked from quickfixgo/quickfix
/
AllocationACK.go
158 lines (133 loc) · 4.93 KB
/
AllocationACK.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
//Package allocationack msg type = P.
package allocationack
import (
"github.com/quickfixgo/quickfix"
"github.com/quickfixgo/quickfix/enum"
"github.com/quickfixgo/quickfix/field"
)
//Message is a AllocationACK wrapper for the generic Message type
type Message struct {
quickfix.Message
}
//ClientID is a non-required field for AllocationACK.
func (m Message) ClientID() (*field.ClientIDField, quickfix.MessageRejectError) {
f := &field.ClientIDField{}
err := m.Body.Get(f)
return f, err
}
//GetClientID reads a ClientID from AllocationACK.
func (m Message) GetClientID(f *field.ClientIDField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//ExecBroker is a non-required field for AllocationACK.
func (m Message) ExecBroker() (*field.ExecBrokerField, quickfix.MessageRejectError) {
f := &field.ExecBrokerField{}
err := m.Body.Get(f)
return f, err
}
//GetExecBroker reads a ExecBroker from AllocationACK.
func (m Message) GetExecBroker(f *field.ExecBrokerField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//AllocID is a required field for AllocationACK.
func (m Message) AllocID() (*field.AllocIDField, quickfix.MessageRejectError) {
f := &field.AllocIDField{}
err := m.Body.Get(f)
return f, err
}
//GetAllocID reads a AllocID from AllocationACK.
func (m Message) GetAllocID(f *field.AllocIDField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//TradeDate is a required field for AllocationACK.
func (m Message) TradeDate() (*field.TradeDateField, quickfix.MessageRejectError) {
f := &field.TradeDateField{}
err := m.Body.Get(f)
return f, err
}
//GetTradeDate reads a TradeDate from AllocationACK.
func (m Message) GetTradeDate(f *field.TradeDateField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//TransactTime is a non-required field for AllocationACK.
func (m Message) TransactTime() (*field.TransactTimeField, quickfix.MessageRejectError) {
f := &field.TransactTimeField{}
err := m.Body.Get(f)
return f, err
}
//GetTransactTime reads a TransactTime from AllocationACK.
func (m Message) GetTransactTime(f *field.TransactTimeField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//AllocStatus is a required field for AllocationACK.
func (m Message) AllocStatus() (*field.AllocStatusField, quickfix.MessageRejectError) {
f := &field.AllocStatusField{}
err := m.Body.Get(f)
return f, err
}
//GetAllocStatus reads a AllocStatus from AllocationACK.
func (m Message) GetAllocStatus(f *field.AllocStatusField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//AllocRejCode is a non-required field for AllocationACK.
func (m Message) AllocRejCode() (*field.AllocRejCodeField, quickfix.MessageRejectError) {
f := &field.AllocRejCodeField{}
err := m.Body.Get(f)
return f, err
}
//GetAllocRejCode reads a AllocRejCode from AllocationACK.
func (m Message) GetAllocRejCode(f *field.AllocRejCodeField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//Text is a non-required field for AllocationACK.
func (m Message) Text() (*field.TextField, quickfix.MessageRejectError) {
f := &field.TextField{}
err := m.Body.Get(f)
return f, err
}
//GetText reads a Text from AllocationACK.
func (m Message) GetText(f *field.TextField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//EncodedTextLen is a non-required field for AllocationACK.
func (m Message) EncodedTextLen() (*field.EncodedTextLenField, quickfix.MessageRejectError) {
f := &field.EncodedTextLenField{}
err := m.Body.Get(f)
return f, err
}
//GetEncodedTextLen reads a EncodedTextLen from AllocationACK.
func (m Message) GetEncodedTextLen(f *field.EncodedTextLenField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//EncodedText is a non-required field for AllocationACK.
func (m Message) EncodedText() (*field.EncodedTextField, quickfix.MessageRejectError) {
f := &field.EncodedTextField{}
err := m.Body.Get(f)
return f, err
}
//GetEncodedText reads a EncodedText from AllocationACK.
func (m Message) GetEncodedText(f *field.EncodedTextField) quickfix.MessageRejectError {
return m.Body.Get(f)
}
//New returns an initialized Message with specified required fields for AllocationACK.
func New(
allocid *field.AllocIDField,
tradedate *field.TradeDateField,
allocstatus *field.AllocStatusField) Message {
builder := Message{Message: quickfix.NewMessage()}
builder.Header.Set(field.NewBeginString(enum.BeginStringFIX42))
builder.Header.Set(field.NewMsgType("P"))
builder.Body.Set(allocid)
builder.Body.Set(tradedate)
builder.Body.Set(allocstatus)
return builder
}
//A RouteOut is the callback type that should be implemented for routing Message
type RouteOut func(msg Message, sessionID quickfix.SessionID) quickfix.MessageRejectError
//Route returns the beginstring, message type, and MessageRoute for this Mesage type
func Route(router RouteOut) (string, string, quickfix.MessageRoute) {
r := func(msg quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError {
return router(Message{msg}, sessionID)
}
return enum.BeginStringFIX42, "P", r
}