handler_name.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // package handler_name -- имя функции обработчика
  2. package handler_name
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  6. )
  7. // AHandlerName -- имя функции обработчика.
  8. type AHandlerName string
  9. // IHandlerNameFix -- неизменяемое имя функции обработчика.
  10. type IHandlerNameFix interface {
  11. // String -- строковое представление имени функции обработчика.
  12. String() string
  13. // Get -- возвращает имя функции обработчика.
  14. Get() AHandlerName
  15. // Txt -- внутренне представление имени функции обработчика.
  16. Txt() defs.ITxtFix
  17. }
  18. // HandlerName -- имя функции обработчика.
  19. type HandlerName struct {
  20. val defs.ITxtFix
  21. }
  22. // NewHandlerName -- создать новое имя функции обработчика.
  23. func NewHandlerName(val AHandlerName) *HandlerName {
  24. helpers.Assert(val != "", "NewAHandlerName: val is empty")
  25. sf := &HandlerName{
  26. val: defs.TxtFix(val),
  27. }
  28. _ = IHandlerNameFix(sf)
  29. return sf
  30. }
  31. // Get -- получить значение.
  32. func (sf *HandlerName) Get() AHandlerName {
  33. return AHandlerName(sf.val.Get())
  34. }
  35. // String -- строковое представление.
  36. func (sf *HandlerName) String() string {
  37. return sf.val.String()
  38. }
  39. // Txt -- внутренне представление имени функции обработчика.
  40. func (sf *HandlerName) Txt() defs.ITxtFix {
  41. return sf.val
  42. }