Documentation
¶
Overview ¶
Package plugin provides a plugin system for loading APOC function packages.
This package allows APOC function packages to be loaded/unloaded at runtime, enabling dynamic extension of Cypher query capabilities.
Index ¶
- type Plugin
- type PluginInfo
- type PluginManager
- func (pm *PluginManager) AllInfo() []*PluginInfo
- func (pm *PluginManager) Get(name string) (Plugin, bool)
- func (pm *PluginManager) Info(name string) (*PluginInfo, error)
- func (pm *PluginManager) IsLoaded(name string) bool
- func (pm *PluginManager) List() []string
- func (pm *PluginManager) Load(plugin Plugin) error
- func (pm *PluginManager) LoadAll(plugins []Plugin) error
- func (pm *PluginManager) Unload(name string) error
- func (pm *PluginManager) UnloadAll() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin interface {
// Name returns the plugin name (e.g., "coll", "text", "math")
Name() string
// Version returns the plugin version
Version() string
// Description returns a description of the plugin
Description() string
// Register registers all functions in this plugin
Register(reg *registry.FunctionRegistry) error
// Initialize initializes the plugin with storage
Initialize(store storage.Storage) error
// Cleanup cleans up plugin resources
Cleanup() error
}
Plugin represents a loadable APOC function package.
type PluginInfo ¶
PluginInfo returns information about a loaded plugin.
type PluginManager ¶
type PluginManager struct {
// contains filtered or unexported fields
}
PluginManager manages loaded plugins.
func GetGlobalManager ¶
func GetGlobalManager(store storage.Storage) *PluginManager
GetGlobalManager returns the global plugin manager.
func NewPluginManager ¶
func NewPluginManager(store storage.Storage) *PluginManager
NewPluginManager creates a new plugin manager.
func (*PluginManager) AllInfo ¶
func (pm *PluginManager) AllInfo() []*PluginInfo
AllInfo returns information about all loaded plugins.
func (*PluginManager) Get ¶
func (pm *PluginManager) Get(name string) (Plugin, bool)
Get retrieves a loaded plugin.
func (*PluginManager) Info ¶
func (pm *PluginManager) Info(name string) (*PluginInfo, error)
Info returns information about a loaded plugin.
func (*PluginManager) IsLoaded ¶
func (pm *PluginManager) IsLoaded(name string) bool
IsLoaded checks if a plugin is loaded.
func (*PluginManager) List ¶
func (pm *PluginManager) List() []string
List returns all loaded plugin names.
func (*PluginManager) Load ¶
func (pm *PluginManager) Load(plugin Plugin) error
Load loads a plugin and registers its functions.
func (*PluginManager) LoadAll ¶
func (pm *PluginManager) LoadAll(plugins []Plugin) error
LoadAll loads multiple plugins.
func (*PluginManager) Unload ¶
func (pm *PluginManager) Unload(name string) error
Unload unloads a plugin and unregisters its functions.
func (*PluginManager) UnloadAll ¶
func (pm *PluginManager) UnloadAll() error
UnloadAll unloads all plugins.