nz.co.jedsimson.lgp.core.environment

Package nz.co.jedsimson.lgp.core.environment

Types

ComponentLoader

interface ComponentLoader<out TComponent> : Module

A Module that is able to load components.

ComponentLoaderBuilder

interface ComponentLoaderBuilder<out TComponentLoader>

A builder that can build a ComponentLoader.

CoreModuleType

enum class CoreModuleType : RegisteredModuleType

A mapping for core modules to a module type value.

DefaultValueProvider

interface DefaultValueProvider<out TValue>

An implementation will be able to provide default values to some consumer.

DefaultValueProviders

object DefaultValueProviders

A collection of useful DefaultValueProvider implementations.

Environment

open class Environment<TProgram, TOutput : Output<TProgram>>

A central repository for core components made available to the LGP system.

ModuleContainer

data class ModuleContainer<T, TOutput : Output<T>>

A container that provides modules that need to be registered with an environment.

RegisteredModuleType

interface RegisteredModuleType

Represents the different modules that are able to be registered with an environment.

Exceptions

MissingModuleException

class MissingModuleException : Exception

Exception thrown when no Module is registered for a requested RegisteredModuleType.

ModuleCastException

class ModuleCastException : Exception

Exception thrown when a Module is cast as a type that is not valid for it.