json/factory.go

47 lines
605 B
Go

package json
type NodeFactory func(typ NodeType) (Node, error)
type Node interface {
String() string
}
type ObjectNode interface {
Node
SetKeyValue(k string, v Node)
GetByKey(k string) (Node, bool)
}
type ArrayNode interface {
Node
Append(v Node)
Index(i int) Node
Len() int
}
type StringNode interface {
Node
SetString(v string)
GetString() string
}
type NumberNode interface {
Node
SetNumber(v float64)
GetNumber() float64
}
type BooleanNode interface {
Node
SetBool(v bool)
GetBool() bool
}
type NullNode interface {
Node
}
type AcceptParent interface {
SetParent(n Node)
}