Class RendererRegistry

java.lang.Object
com.arbergashi.charts.internal.RendererRegistry

public final class RendererRegistry extends Object
Simple registry for renderer factories.

Design notes:

  • This registry is intentionally decoupled from concrete renderer packages.
  • Renderers (or a module/bootstrapper) should register themselves explicitly.
  • The registry does not attempt to Class.forName(...) arbitrary renderers.
Since:
2025-06-01
Version:
1.0.0
Author:
Arber Gashi
  • Method Details

    • register

      public static void register(String id, RendererDescriptor descriptor, Supplier<? extends ChartRenderer> factory)
    • create

      public static ChartRenderer create(String id)
      Creates a renderer instance by id.

      Compatibility: This method may return null if the id is not registered. Prefer createOptional(String) or require(String) in new code.

    • createOptional

      public static Optional<ChartRenderer> createOptional(String id)
      Creates a renderer instance by id.
      Parameters:
      id - registry id
      Returns:
      an Optional containing a new renderer instance if registered
    • require

      public static ChartRenderer require(String id)
      Strict variant: returns a renderer or throws if the id is not registered. This is preferred for framework integrations where missing renderers represent configuration errors.
    • descriptors

      public static Map<String, RendererDescriptor> descriptors()