core.node

## Package core.node

### Types

AbstractNode | `abstract class AbstractNode` A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.
AcceptsFileUpload | `interface AcceptsFileUpload` A service that implements AcceptsFileUpload can have new binary data provided to it via an HTTP upload.

AttachmentsClassLoader

`class AttachmentsClassLoader : SecureClassLoader`

A custom ClassLoader that knows how to load classes from a set of attachments. The attachments themselves only need to provide JAR streams, and so could be fetched from a database, local disk, etc. Constructing an AttachmentsClassLoader is somewhat expensive, as every attachment is scanned to ensure that there are no overlapping file paths.

CityDatabase | `object CityDatabase` A simple lookup table of city names to their coordinates. Lookups are case insensitive.
Node | `class Node : AbstractNode` A Node manages a standalone server that takes part in the P2P network. It creates the services found in ServiceHub, loads important data off disk and starts listening for connections.
NodeConfiguration | `interface NodeConfiguration`
NodeConfigurationFromConfig | `class NodeConfigurationFromConfig : NodeConfiguration`
NodeInfo | `data class NodeInfo` Info about a network node that acts on behalf of some form of contract party.
PhysicalLocation | `data class PhysicalLocation` A labelled WorldCoordinate, where the label is human meaningful. For example, the name of the nearest city. Labels should not refer to non-landmarks, for example, they should not contain the names of organisations.
ServiceHub | `interface ServiceHub` A service hub simply vends references to the other services a node has. Some of those services may be missing or mocked out. This class is useful to pass to chunks of pluggable code that might have need of many different kinds of functionality and you dont want to hard-code which types in the interface.
WorldCoordinate | `data class WorldCoordinate` A latitude/longitude pair.

### Exceptions

ConfigurationException | `class ConfigurationException : Exception`

### Functions

getValue | `operator fun <ERROR CLASS>.getValue(receiver: NodeConfigurationFromConfig, metadata: KProperty<*>): <ERROR CLASS>`