Added a top level Route struct
This commit is contained in:
parent
c892d24c2a
commit
ff7bf5fdf8
2 changed files with 101 additions and 4 deletions
1
route.go
Normal file
1
route.go
Normal file
|
@ -0,0 +1 @@
|
|||
package feragstring
|
|
@ -5,12 +5,96 @@ import "fmt"
|
|||
type RouteInfo struct {
|
||||
FeragMessage
|
||||
routeName string
|
||||
limit int
|
||||
maxStack int
|
||||
standard int
|
||||
parameterN int
|
||||
maxBundle int
|
||||
parameterSz int
|
||||
topsheetMarker int
|
||||
eaMarker int
|
||||
eaAddressDefinition int
|
||||
topsheetTemplateDirectory int
|
||||
editionName string
|
||||
productReferenceNumber int
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) ParameterSz() string {
|
||||
return fmt.Sprintf("+35%04d", ri.parameterSz)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetParameterSz(parameterSz int) {
|
||||
ri.parameterSz = parameterSz
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) ProductReferenceNumber() string {
|
||||
return fmt.Sprintf("+41%02d", ri.productReferenceNumber)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetProductReferenceNumber(productReferenceNumber int) {
|
||||
ri.productReferenceNumber = productReferenceNumber
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) TopsheetTemplateDirectory() string {
|
||||
return fmt.Sprintf("+56%03d", ri.topsheetTemplateDirectory)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetTopsheetTemplateDirectory(topsheetTemplateDirectory int) {
|
||||
ri.topsheetTemplateDirectory = topsheetTemplateDirectory
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) EaMarker() string {
|
||||
return fmt.Sprintf("+69%1d", ri.eaMarker)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetEaMarker(eaMarker int) {
|
||||
ri.eaMarker = eaMarker
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) MaxBundle() string {
|
||||
return fmt.Sprintf("+34%04d", ri.maxBundle)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetMaxBundle(maxBundle int) {
|
||||
ri.maxBundle = maxBundle
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) ParameterN() string {
|
||||
return fmt.Sprintf("+33%04d", ri.parameterN)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetParameterN(parameterN int) {
|
||||
ri.parameterN = parameterN
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) Standard() string {
|
||||
return fmt.Sprintf("+32%04d", ri.standard)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetStandard(standard int) {
|
||||
ri.standard = standard
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) MaxStack() string {
|
||||
return fmt.Sprintf("+31%04d", ri.maxStack)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetMaxStack(maxStack int) {
|
||||
ri.maxStack = maxStack
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) Limit() string {
|
||||
return fmt.Sprintf("+30%04d", ri.limit)
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) SetLimit(limit int) {
|
||||
ri.limit = limit
|
||||
}
|
||||
|
||||
func (ri *RouteInfo) EditionName() string {
|
||||
if ri.editionName == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("+20%-30s", ri.editionName)
|
||||
}
|
||||
|
||||
|
@ -19,6 +103,9 @@ func (ri *RouteInfo) SetEditionName(editionName string) {
|
|||
}
|
||||
|
||||
func (ri *RouteInfo) EaAddressDefinition() string {
|
||||
if ri.eaAddressDefinition == 0 {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("+91%06d", ri.eaAddressDefinition)
|
||||
}
|
||||
|
||||
|
@ -54,9 +141,18 @@ func NewRouteInfo() *RouteInfo {
|
|||
|
||||
func (ri *RouteInfo) Payload() string {
|
||||
data := ri.RouteName()
|
||||
data += ri.Limit()
|
||||
data += ri.MaxStack()
|
||||
data += ri.Standard()
|
||||
data += ri.ParameterN()
|
||||
data += ri.MaxBundle()
|
||||
data += ri.ParameterSz()
|
||||
data += ri.TopsheetMarker()
|
||||
data += ri.EaMarker()
|
||||
data += ri.EaAddressDefinition()
|
||||
data += ri.TopsheetTemplateDirectory()
|
||||
data += ri.EditionName()
|
||||
data += ri.ProductReferenceNumber()
|
||||
return data
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue