Extending Global context
Zone handlers
The global context APIs treat the first path element of an access key as the name of a ZoneHandler (
/<zone>/<path>[#<value_path>]
). GC APIs then delegate store/retrieve operations to the corresponding zone handler.
Zone handlers are Java implementations of zero.core.context.zones.ZoneHandler . Zone handlers are registered via configuration, such as:
/config/zoneHandlers += {
"user" : "zero.core.context.zones.UserZoneHandler"
}
Type handlers
Type handlers are responsible for value manipulation, including appends. Type handlers are Java implementations of zero.core.context.zones.TypeHandler
To maintain support for nested value paths, implementations must consume their corresponding parameter from the value path and advance the valuePathOffset in parsedUri. See the source for zero.core.context.types.MapTypeHandler or zero.core.context.types.ListTypeHandler for specific examples.
Type handlers are registered by appending type/handler implementation key/value pairs to the map in the global context at /config/typeHandlers. For example, the handler implementation (zero.core.context.types.CommandTypeHandler) for the Command type (zero.core.context.types.commands.Command) is specified in configuration as: