Module swim.kernel
Package swim.kernel

Interface Kernel

All Known Subinterfaces:
KernelBinding, KernelContext
All Known Implementing Classes:
BootKernel, KernelProxy

public interface Kernel
  • Method Summary

    Modifier and Type
    Method
    Description
    <A extends swim.api.agent.Agent>
    swim.api.agent.AgentFactory<A>
    createAgentFactory(Class<? extends A> agentClass)
     
    swim.api.agent.AgentFactory<?>
    createAgentFactory(swim.api.agent.AgentDef agentDef, ClassLoader classLoader)
     
    <P extends swim.api.plane.Plane>
    swim.api.plane.PlaneFactory<P>
    createPlaneFactory(Class<? extends P> planeClass)
     
    swim.api.plane.PlaneFactory<?>
    createPlaneFactory(swim.api.plane.PlaneDef planeDef, ClassLoader classLoader)
     
    swim.api.service.ServiceFactory<?>
    createServiceFactory(swim.api.service.ServiceDef serviceDef, ClassLoader classLoader)
     
    swim.api.agent.AgentDef
    defineAgent(swim.structure.Item agentConfig)
     
    swim.api.plane.PlaneDef
    definePlane(swim.structure.Item planeConfig)
     
    swim.api.service.ServiceDef
    defineService(swim.structure.Item serviceConfig)
     
    swim.api.space.SpaceDef
    defineSpace(swim.structure.Item spaceConfig)
     
    swim.api.service.Service
    getService(String serviceName)
     
    swim.api.space.Space
    getSpace(String spaceName)
     
    Returns a Kernel implementation with the combined capabilities of this Kernel implementation and the given kernel implementation.
    boolean
     
    double
    Returns the relative priority of this Kernel implementation.
    <S extends swim.api.service.Service>
    S
    openService(String serviceName, swim.api.service.ServiceFactory<S> serviceFactory)
     
    default swim.api.service.Service
    openService(swim.api.service.ServiceDef serviceDef)
     
    default swim.api.service.Service
    openService(swim.api.service.ServiceDef serviceDef, ClassLoader classLoader)
     
    swim.api.space.Space
    openSpace(swim.api.space.SpaceDef spaceDef)
     
    void
    run()
     
    void
     
    void
     
    <T> T
    unwrapKernel(Class<T> kernelClass)
     
  • Method Details

    • kernelPriority

      double kernelPriority()
      Returns the relative priority of this Kernel implementation. Kernel implementations with greater priority inject into kernel stacks before implementations with lower priority.
    • injectKernel

      Kernel injectKernel(Kernel kernel)
      Returns a Kernel implementation with the combined capabilities of this Kernel implementation and the given kernel implementation.
    • unwrapKernel

      <T> T unwrapKernel(Class<T> kernelClass)
    • defineService

      swim.api.service.ServiceDef defineService(swim.structure.Item serviceConfig)
    • createServiceFactory

      swim.api.service.ServiceFactory<?> createServiceFactory(swim.api.service.ServiceDef serviceDef, ClassLoader classLoader)
    • openService

      <S extends swim.api.service.Service> S openService(String serviceName, swim.api.service.ServiceFactory<S> serviceFactory)
    • openService

      default swim.api.service.Service openService(swim.api.service.ServiceDef serviceDef, ClassLoader classLoader)
    • openService

      default swim.api.service.Service openService(swim.api.service.ServiceDef serviceDef)
    • getService

      swim.api.service.Service getService(String serviceName)
    • defineSpace

      swim.api.space.SpaceDef defineSpace(swim.structure.Item spaceConfig)
    • openSpace

      swim.api.space.Space openSpace(swim.api.space.SpaceDef spaceDef)
    • getSpace

      swim.api.space.Space getSpace(String spaceName)
    • definePlane

      swim.api.plane.PlaneDef definePlane(swim.structure.Item planeConfig)
    • createPlaneFactory

      swim.api.plane.PlaneFactory<?> createPlaneFactory(swim.api.plane.PlaneDef planeDef, ClassLoader classLoader)
    • createPlaneFactory

      <P extends swim.api.plane.Plane> swim.api.plane.PlaneFactory<P> createPlaneFactory(Class<? extends P> planeClass)
    • defineAgent

      swim.api.agent.AgentDef defineAgent(swim.structure.Item agentConfig)
    • createAgentFactory

      swim.api.agent.AgentFactory<?> createAgentFactory(swim.api.agent.AgentDef agentDef, ClassLoader classLoader)
    • createAgentFactory

      <A extends swim.api.agent.Agent> swim.api.agent.AgentFactory<A> createAgentFactory(Class<? extends A> agentClass)
    • isStarted

      boolean isStarted()
    • start

      void start()
    • stop

      void stop()
    • run

      void run()