| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- // package arch_use_group -- группа вариантов использования
- package arch_use_group
- import (
- "fmt"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/alias"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/types"
- "gitp78su.ipnodns.ru/svi/goarch/lev1/arch_node"
- "gitp78su.ipnodns.ru/svi/kern/v3"
- "gitp78su.ipnodns.ru/svi/kern/v3/krn/ktypes"
- )
- // ArchUseCaseGroup -- группа вариантов использования
- type ArchUseCaseGroup struct {
- *arch_node.ArchNode
- }
- var (
- hassert = kern.GetFnHassert()
- )
- // NewArchUseCaseGroup -- возвращает новую группу вариантов использования
- func NewArchUseCaseGroup(parentId alias.ArchId) *ArchUseCaseGroup {
- sf := &ArchUseCaseGroup{
- ArchNode: arch_node.NewArchNode("use_case_group", parentId),
- }
- sf.SelfCheck()
- _ = types.IArchUseGroup(sf)
- return sf
- }
- // Len -- заглушка на длину
- func (sf *ArchUseCaseGroup) Len() int {
- return 0
- }
- // InvarCheck -- проверка инвариантов
- func (sf *ArchUseCaseGroup) InvarCheck() ktypes.Option[error] {
- if sf.ArchNode == nil {
- err := fmt.Errorf("ArchUseCaseGroup.InvarCheck(): ArchNode==nil")
- return ktypes.NewSome(err)
- }
- return ktypes.NewNone[error]()
- }
- // Size -- возвращает размер
- //
- //go:fix inline
- // func (sf *ArchUseCaseGroup) Size() types.IViewSize {
- // return sf.Size_
- // }
- // Links -- заглушка на связи между объектами
- //
- //go:fix inline
- func (sf *ArchUseCaseGroup) Links() []alias.ArchId {
- return []alias.ArchId{sf.Id()}
- }
- // Check -- заглушка под проверку
- func (sf *ArchUseCaseGroup) SelfCheck() {
- hassert(sf.ArchNode != nil, "NewUseGroup(): IElemBase is nil")
- }
|