Package-level declarations

Types

Link copied to clipboard
abstract class AbstractComponent : Component

abstract base class for components

Link copied to clipboard
data class AnnotationDescriptor(val name: String, val parameters: List<ParameterValueDescriptor>) : Serializable
Link copied to clipboard
abstract class BaseDescriptor<T : Service>

A BaseDescriptor covers the meta-data for both services and components.

Link copied to clipboard
interface Channel : MethodInterceptor, InvocationHandler

A Channel is the communication mechanism used by the different Services.

Link copied to clipboard
data class ChannelAddress(val channel: String, val uri: URI) : Serializable

Components expose ChannelAddress es under which they can be called by establishing a Channel

Link copied to clipboard
interface ChannelFactory

A ChannelFactory is a factory for - guess what - Channels

Link copied to clipboard

A special InvocationHandler that delegates calls to a Channel

Link copied to clipboard
@Component
class ChannelManager : ApplicationContextAware

A ChannelManager is responsible for the lifecycle of Channels.

Link copied to clipboard
interface Component : Service

A Component is a container for Services

Link copied to clipboard
Link copied to clipboard
class ComponentDescriptor<T : Component>(componentInterface: Class<T>) : BaseDescriptor<T>

A ComponentDescriptor covers the meta-data associated with a Component

Link copied to clipboard

The health of a component

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
@Component
annotation class ComponentHost(val health: String = "/health")

Marks Component implementations

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class ComponentInterface(val name: String = "", val description: String = "", val services: Array<KClass<out Service>>)

Marks Component interfaces

Link copied to clipboard
@Component
class ComponentLocator : BeanFactoryPostProcessor, EnvironmentAware

A ComponentLocator is a special BeanFactoryPostProcessor that will scan the classpath in order to find Component interfaces annotated with ComponentInterface. ALl matches will be registered. The lifecycle is:

Link copied to clipboard
Link copied to clipboard

A ComponentRegistry is a registry for components.

Link copied to clipboard
@Description(value = "describes the status of a component")
enum ComponentStatus : Enum<ComponentStatus>

The different status of a component

Link copied to clipboard
Link copied to clipboard
data class InterfaceDescriptor(val name: String, val kind: String, val inherits: String?, val implements: List<String>, val annotations: List<AnnotationDescriptor>, val properties: List<PropertyDescriptor>, val methods: List<MethodDescriptor>) : Serializable
Link copied to clipboard
data class MethodDescriptor(val name: String, val returnType: TypeDescriptor, val parameters: List<ParameterDescriptor>, val annotations: List<AnnotationDescriptor>) : Serializable
Link copied to clipboard
data class ParameterDescriptor(val name: String, val type: TypeDescriptor, val annotations: List<AnnotationDescriptor>) : Serializable
Link copied to clipboard
data class ParameterValueDescriptor(val name: String, val type: TypeDescriptor, val value: Any?) : Serializable
Link copied to clipboard
data class PropertyDescriptor(val name: String, val type: TypeDescriptor?, val annotations: List<AnnotationDescriptor>) : Serializable
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class RegisterChannel(val value: String)

Registers a Channel class

Link copied to clipboard
data class Server(val host: String, val port: Int)
Link copied to clipboard
@Description(value = "Tagging interface for services")
interface Service

Tagging interface for services.

Link copied to clipboard
data class ServiceAddress(var component: String, var channel: String, var serviceInstances: List<ServiceInstance>)

A ServiceAddress is a resolved ChannelAddress

Link copied to clipboard
@Configuration
@ComponentScan
open class ServiceConfiguration
Link copied to clipboard
class ServiceDescriptor<T : Service>(componentDescriptor: ComponentDescriptor<Component>, serviceInterface: Class<T>) : BaseDescriptor<T>

A ServiceDescriptor is a BaseDescriptor that takes care of Services

Link copied to clipboard
Link copied to clipboard
@Component
class ServiceInstanceRegistry

ServiceInstanceRegistry is responsible to cache the current known service instances.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class ServiceInterface(val name: String = "", val description: String = "")

This annotation marks service interfaces

Link copied to clipboard
@Component
class ServiceManager : ApplicationContextAware

ServiceManager is the central building block that knows about all registered components and services + and is able to create the corresponding proxies.

Link copied to clipboard
class SpringChannelFactory(var channelManager: ChannelManager, beanDefinition: BeanDefinition) : ChannelFactory

Special ChannelFactory that utilizes spring to create instances of recorded BeanDefinition

Link copied to clipboard
Link copied to clipboard
data class TypeDescriptor(val name: String, val optional: Boolean, val parameter: List<TypeDescriptor>) : Serializable