package checkers
Type Members
- trait BinaryChecker [InputL, InputR, Output] extends ConfigChecker with InputStoresChecker[InputL, InputR] with OutputStoreChecker[Output]
-
trait
ConfigChecker
extends AnyRef
Created by edmundlam on 8/18/17.
Created by edmundlam on 8/18/17.
This module contains traits which implement basic checking routines targeted at config files and input and output store types. These checking routines are expected to be ran before initialization of the sub-components of the pipes, to weed out malformed configs and store type incompatibility (between input/output DataStores and Computations/Platforms). The generic checks essentially imposes no constraints, hence does nothing. Override the appropriate checking routines to implement specific constraints on config, input and output data stores.
A note on 'type compatibility' check: the design choice of making this a 'dynamic' check was not taken lightly. While I love to attempt to make this statically typed (e.g., by annotating Computation class with DataStore types) but it would introduce too many type parameter clutter to the Computation/Platform classes. I thought that this (below) would be a fair compromise.
- trait InputStoreChecker [Input] extends AnyRef
- trait InputStoresChecker [InputL, InputR] extends AnyRef
- trait OutputStoreChecker [Output] extends AnyRef
- trait UnaryChecker [Input, Output] extends ConfigChecker with InputStoreChecker[Input] with OutputStoreChecker[Output]