Introduce Namer interface

This commit is contained in:
Wojciech Tyczyński 2022-01-13 15:04:52 +01:00
parent 0aaef27e59
commit c8ee055b73

View File

@ -284,14 +284,20 @@ type ResourceVersioner interface {
ResourceVersion(obj Object) (string, error)
}
// Namer provides methods for retrieving name and namespace of an API object.
type Namer interface {
// Name returns the name of a given object.
Name(obj Object) (string, error)
// Namespace returns the name of a given object.
Namespace(obj Object) (string, error)
}
// SelfLinker provides methods for setting and retrieving the SelfLink field of an API object.
type SelfLinker interface {
SelfLink(obj Object) (string, error)
// Knowing Name is sometimes necessary to use a SelfLinker.
Name(obj Object) (string, error)
// Knowing Namespace is sometimes necessary to use a SelfLinker
Namespace(obj Object) (string, error)
// Knowing Name or Namespace is sometimes necessary to use a SelfLinker.
Namer
}
// Object interface must be supported by all API types registered with Scheme. Since objects in a scheme are