aboutsummaryrefslogtreecommitdiff
path: root/service/path/path.go
diff options
context:
space:
mode:
Diffstat (limited to 'service/path/path.go')
-rw-r--r--service/path/path.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/service/path/path.go b/service/path/path.go
index c7773d12c..3b9ed6137 100644
--- a/service/path/path.go
+++ b/service/path/path.go
@@ -27,6 +27,10 @@ type Path interface {
// Path returns the string representation of the path.
// The returned string must be consistent for equal paths.
Path() string
+
+ // Base returns the path that this path derives from.
+ // If this path is a root, then Base returns nil.
+ Base() Path
}
// Value is the expanded Path interface for types that represent a reference to
@@ -34,11 +38,8 @@ type Path interface {
// The value referenced by this path may be a struct, array, slice, map or POD
// type.
type Value interface {
- binary.Object
-
- // Path returns the string representation of the path.
- // The returned string must be consistent for equal paths.
- Path() string
+ // Value extends the Path interface.
+ Path
// Field returns the path to the field value with the specified name on the
// struct object represented by this path.