All Classes and Interfaces
Class
Description
Abstract base class that can be used for objects that need to be configurable.
Abstract base class for all services that are configurable.
Abstract base class for all services.
Abstract base class for all concrete VFSSource classes.
Specialized
SpawnProcess
designed around starting adapters.Class that supports single (one-shot) or recurring callbacks, allows the delay
to be adjusted while the timer is running, and has variance support to add
a degree of randomness to the timer.
Matcher that returns true if the logical AND of all child
matchers are true.
This interface provides callback methods for when routers are added or removed
from the forwarding table.
System component used to interact with applications running on nodes within a kOS cluster.
Class annotation that indicates that the class contains endpoints.
The
ApiEndpoint
annotation is used to declare and document an HTTP
(RESTful) endpoint.Data class used by ApiClient to make API calls to local and remote nodes.
Base class for all kOS applications.
Listener for Application-related events.
Class responsible for loading an application from the filesystem.
Wrapper for the system message broker that prefixes the topics
with the application id.
Service that manages applications within kOS.
An assembly is used to describe a collection of hardware that can be added
or removed as an atomic unit within kOS.
Interface for objects that are directly linked to an Assembly object.
Listener for Assembly-related events.
Manages assemblies in kOS.
Interface that is implemented by any bean that has attributes.
Annotation that informs the BeanContext that a dependent field needs its object
reference injected, which is also known as autowired.
Specialized list class supports autowiring.
Exception thrown when the web client/caller passes in invalid data.
A
Unit
class that represents pressure in bars.Base class for application configuration beans.
Base class for various callback classes.
Base class for
Device
config beans.Base class for all future
DeviceManifest
implementations
which contains just the manifest version.Base class for describing a kab in a manifest.
Base class for a region.
Class that tracks changes to values for a single bean during the configure/update process.
System component that provides a very lightweight IOC-style context.
Data class that contains updates to apply to a bean with the specified handle path.
Implementation of BinaryMsg for sessions.
Client for
BinaryMsg
protocol.Handler interface to register with a
BinaryMsgClient
.Handler interface to register with a
BinaryMsgClient
.Base exception for checked
BinaryMsg
exceptions.Session setup data for BinaryMsg connections.
Base class for a messaging interface over BinaryMsgSession.
Given the name of an interface from a BinaryMsgSession, return an instance
of BinaryMsgIface or null.
Interface for a BinaryMsgIface connection listener.
Listener for receiving a BinaryMsg.
Extends
ByteArrayOutputStream
so that it can automatically build
the correct header for the message.Implementation of the BinaryMsg protocol for adapters.
Can be attached to a BlinkConn to receive a callback when the
connection is closed.
A single blink connection.
Base class for blink identity information.
A protocol that sits on top of a connection and decodes the incoming data.
Session that sits on top of a connection and implements a particular protocol
as well as the api used to interact with the protocol.
Implementation of the
Blockable
interface.Interface that allows objects to be blocked.
Logical representation of a circuit board in the system.
Uniquely identifies a board in an assembly.
HardwareLink class for BoardIface devices.
Interface for board link / unlink callbacks.
Interface for
Trouble
s that implements the board iface.A logical browser control object.
Identifies a particular browser on a node.
Service that manages browsers connected to this service.
Interface for browser connections to plug into
BrowserService
by connecting to a Browser
object.Interface for operation supported by ByteOrderInputStream.
An input stream that reads objects in little or big endian format.
Interface for operation supported by ByteOrderOutputStream.
An output stream that writes objects in little or big endian format.
A
Unit
class that represents temperature in degrees Celsius.Base class for Chrome commands.
Loader that searches resources relative to a ClassLoader.
Matcher that returns true if the class of the trouble matches
the specified class or optionally a subclass.
Interface for objects that contain a
ConfigBean
.Optional base class for config beans.
Listener for changes to a given ConfigBean.
Listener for all config changes.
When beans are configured, the changes to the beans are recorded in this object.
Annotation that allows you to attach a description to a configuration property.
Exception thrown when an error occurs while loading configuration data.
Standard config formats.
Annotation that tells the configuration system to ignore the associated property.
Base class for describing options for a config property.
System service that manages all configuration data and can apply configuration data
on top of any ConfigAware object.
Interface that contains the source of configuration data.
Base class for all context exceptions.
Extension of
HandleAware
for objects that should be children of
the Handle
associated with a BeanContext
.Parser for converting string values to other formats.
Data conversion exception.
Interface to mark an
Assembly
as CoreAssembly
which will prevent
the assembly from being unloaded.Interface that allows a bean to accept callbacks from BeanContext when a child
context is destroyed.
Interface that allows a bean to accept callbacks from BeanContext when the
context is destroyed.
Interface that allows a bean to accept callbacks from the kOS BeanContext
after certain autowiring steps have completed.
Base interface for all context listeners.
Date format for "dd/MM/yy" Java format.
Date format for "MM/dd/yy" Java format.
Date format for "yyyy-MM-dd" Java format.
Interface used to migrate database content across schema versions.
Describes a date format for both Java and JavaScript.
Listener interface for day change events.
A representation of the device.
Abstraction of a top level device manifest.
Service that tracks the active manifest.
JsonView class to expose data for the over arching view of the entire
device.
InstallBuilder
where all the kabs associated with the install are
located in a specified directory.Implementation of
KabSource
that indexes the contents of the specified
directory.Loader that searches resources on the filesystem relative to a base directory.
Exception thrown when a there's an attempt to create a subscription to a topic
that already exists for the given session.
Exception thrown whenever BinaryMsg returns an error.
A
Unit
class that represents temperature in degrees Fahrenheit.A future that immediately fails when started.
Loader that searches resources on the filesystem.
Output stream that writes to a remote file server a FileSrv server.
Class that corresponds to a directory on a filesystem.
Service that handles updating firmware on update-capable devices.
Interface for any device that can have firmware updated.
Base class for
HardwareLink
can supports firmware update.Callback interface for firmware update events.
Interface for the actual update routine for a given device.
A
Unit
class that represents volume in fluid ounces.A mount object returned from FuseService when a mount is successful.
Service that mounts KAB files into the local filesystem via fuseMounter native
program.
Types of
FutureWork
callback events.A functional interface for associating runnable code with a future,
whether the primary code of the future or callbacks based on future events.
Possible
FutureWork
states, which are:
SUCCESS: the operation successfully ran to completion
FAIL: the operation ran to completion but failed
CANCEL: the operation was cancelled by the user
ABORT: the operation was aborted by the software
This is the kOS equivalent of Java's
FutureTask
.A
Unit
class that represents mass in grams.Building block for allocating a handle to an object.
Interface for objects that can be identified by a handle.
Interface for fetching beans by handles.
System wrapper around
HandleMgr
, as HandleMgr
should only be used by internal kOS code.Interface for
Trouble
s that implements the handle iface.Annotation that binds a method variable to a bean handle.
JsonView class to expose data from handles endpoints.
Base class that implements the backend protocol for a particular board.
Interface to add a new way of matching
HardwareLink
to a
Board
.Base interface for hardware related listeners.
Service that manages all external hardware.
Interface that abstracts out the common request methods used by the system dispatcher.
Interface that abstracts out the common response methods used by the system dispatcher.
Class that contains HTTP status code constants.
Matcher that returns true if any of the specified objects are in
the impact list of a trouble.
All inbound messages to the router are in text form since they originate from
a websocket message.
Builder used to define a kOS installation.
Base class for all future
DeviceManifest
implementations
which implements the @{code PrimaryManifestInstallView} interface
which is sufficient for a primary node to identify any missing
artifacts and install them, even if it doesn't understand the
actual manifest format.Exception thrown when the web request unexpectedly fails.
Exception thrown when there is an attempt to use an out-of-range API number for BinaryMsg.
Exception thrown when there is an attempt to use an invalid BinaryMsgIface.
Encapsulation of a descriptor file used by various resources such as
KAB files and assemblies.
Interface for objects that can return a
JsonDescriptor
.Data class that encapsulates information related to the return values
associated with JsonTemplate calls.
System component that provides an easy way to issue HTTP/REST calls, such at
GET, POST, PUT, and DELETE.
An object wrapper that applies a custom view to the object being
wrapped.
Custom serializer for JsonViewWrapper.
Cache for JSON writers used to serialize data.
Interface for applying access control information to a KabEntry before being written
to the KAB file.
Data class that contains information about a single entry in a KAB archive file.
Opens an existing archive file and provides access to its contents.
KetSet that loads key and cert from a STUIDO_KEY_SET kab file.
Output stream for creating an archive.
Builder to make it easier to create a KabOutputStream.
Interface for objects that can return kab files by id.
Class that wraps a KAB file.
Interface that provides access to a private key and cert that
are used to sign kabs in kos.
Wrapper around
KeyValService
that binds all accesses to a particular namespace.Controller that can wrap a
KeyValNameSpace
and make it accessible
via endpoints.Key/val storage service.
Data class encapsulating the pieces that make up a kOS network address.
Exception thrown whenever a poorly formatted or invalid KosAddress is detected.
Static accessor for a number of core kOS components that are so common
it's inefficient to inject them everywhere they're needed.
Marker interface for all standard kOS descriptor fragments.
Static accessor for a number of core kOS components that are so common
it's inefficient to inject them everywhere they're needed.
Standard descriptor fragment for describing available languages.
Class that contains the lifecycle of a single spawning of a process.
Matcher that returns true if any of the specified objects are in
the link list of a trouble.
Interface which allows lambdas to be used with fireEvent() methods.
Thread-safe listener list with lambda event support.
Interface for beans that are dynamically loaded and have require lifecycles
to prepare them.
Information about a manifest section that has a "kos.app." or "kos.autostart." prefix.
Representation of a kab file within a manifest.
Section within a node manifest.
Service that tracks the active manifest.
System component that provides the ability to publish (send) and subscribe to (receive)
messages over the kOS network.
Interface that defines the callback method that gets called when a broker
message matching a subscribed topic is fired (published).
A
MessageBroker
message forwarded to a subscriber, typically via the
MessageBrokerCallback
interface.Convert a Message to text.
Exception thrown whenever an attempt to migrate (either upgrade or rollback)
a database to a different schema fails.
A
Unit
class that represents volume in milliliters.Enumeration indicating the modes of operation that your kOS application can run in.
Class used to coordinate multiple asynchronous states to trigger a ready callback.
Specialized class that behaves like a map of lists,
which means that each key can hold multiple values.
Mutable source of configuration data.
Data class that provides the link between a logical directory name and
its corresponding physical location on the disk.
A nodeId is the combination of a node type and node name.
Exception thrown whenever a poorly formatted or invalid NodeId is detected.
Manifest that defines the state for a single node.
Service for interacting with nodeMgr clients within the cluster.
Service that tracks the active manifest.
Exception thrown when there is an attempt to use a BinaryMsgSession
object when one did not exist.
Exception thrown when the requested resource is not found.
Exception when trying to access board features when the board
doesn't have a hardware link.
Generated when trying to resolve a trouble that doesn't
implement ResolvableTrouble.
Class that describes the configuration data for numeric keypad data entry.
Class that describes the available options as a list of specific values.
Creates a numeric range based on dividing a given range into a fixed number
of values.
Creates a numeric range based on dividing a given range into the specified
interval.
Class that describes the configuration data for numeric keypad data entry.
UnitSystem variation of
OptionsList
which allows for
different lists by unit system name.UnitSystem variation of
OptionsRangeCount
that contains
a map of range data based on unit system names.UnitSystem variation of
OptionsRangeInterval
that
contains a map of range data based on unit system names.A
Unit
class that represents mass in ounces.Outbound messages passed to the router from java to be sent to another
node / client on the network.
Allows a collection of individual futures to be run in parallel, where the
overall state of
ParallelFuture
reflects the result of the child
futures.System component that is used to define well-known filesystem paths
by name, which are used with relative paths elsewhere in the code.
Class that wraps another source.
Annotation that binds a method variable to a path parameter.
This class gathers KAB file permissions, then sets them for each KAB entry
in the
KabAccessProvider
interface's setAccess(KabEntry)
method.Interface used to extract information from a manifest that identifies
the minimum information required to correctly install an updated on
the primary node of a device such that the primary and all child nodes
in the device can be properly updated.
Class that wraps another source.
A
Unit
class that represents pressure in pounds-per-square-inch (PSI).Class used to schedule a callback after a specified delay, but can be used
in three different ways:
Using
start()
, the timer acts like a typical timer that runs for
the specified delay.Interface indicating that the implementing bean supports the "ready" protocol.
Abstract convenience base class that incorporates both the
Ready
and ReadListener
interfaces.Interface providing a callback method that is attached to the
ReadyIndicator
to receive a ready notification.Class used by Ready beans to indicate when the bean has become ready.
When a bean implements this interface, then it receives callbacks when fields
annotated with WhenReady become "ready".
Optional data that is associated with a reason code.
Listener for region changes.
Provides access to region information.
Base class to hold application specific region settings.
Annotation indicating that the request's body should be parsed in
a request mapping and made available in the associated method parameter.
Base exception for all exceptions that can be thrown when a client makes a web request.
Enumeration containing the complete list of HTTP request methods.
Annotation that binds a method variable to a query parameter.
A wrapper around DeviceManifest that enumerates all node manifests and resolves
them which identifies all the locally installed kab files as well as any missing artifacts.
A resolved
ManifestArtifact
.A resolved version of a manifest section.
A wrapper around
NodeManifest
that provides a flat list of all referenced
artifacts and the associated locally installed KAB files.Exception generated when trying to resolve a trouble that is already
performing the resolve action.
Interface for loading resources from a filename.
List of resource loaders that act as a list of search paths for finding a
specified resource.
Data class that encapsulates the response from an HTTP/REST endpoint.
Data class that holds an HTTP/REST endpoint's version number, which is used in the ResponseEnvelope.
Abstract base class for all messages that pass through the router.
Represents a router connection which is the combination of address
and websocket connection to the router.
This is the core of the websocket router.
This interface provides callback methods for when routers are added or removed
from the forwarding table.
When a message is to be processed locally by the router it will search
the list of registered handlers for the message type and forward the
message to the handler for processing.
Base exception for runtime
BinaryMsg
exceptions.System component that provides access to standard thread pools used
throughout the kOS system.
Allows a list of individual futures to be run in sequence, where the
overall state of
SequencedFuture
reflects the result of the
sequence.Factory that is notified of serial devices and can return an adapter
for a given device to claim the device and have the adapter automatically
started.
Wraps a
UdevDevice
and provides easy access to serial specific data.Service that manages serial devices.
KeySet that is manually created from key and cert.
This class encompases the International System of Units, known by the abbreviation "SI".
Builder to construct a
SoftwareInfo
from a
ResolvedDeviceManifest
.Standard descriptor fragment that will be included when describing what
is in a kOS manifest.
Base exception for all spawn-related errors.
Exception thrown when a spawn attempt fails when either the specified path is
not found or is not executable.
Class that represents a single process that can be spawned.
Service that is used to start/stop native programs on this node or other
nodes using a spawn session.
Exception thrown when a spawn attempt fails because there was no response from the adapter.
Implementation of VFSSource that supports stacked sources.
Interface that can be added to object that are put into
BeanContext
to indicate that they contains a
StateBean
for use with StateService
.Base class for beans that hold state and can be broadcast via
message broker when they change.
Interface for being notified when a
StateBean
changes state.File finder that backs all the file managers.
Utility class that handles various string-based operations.
This streaming JSON reader allows callbacks to be attached to logical paths of data
in a JSON payload, which means that data can be extracted while the JSON is being parsed.
Callback interface for token matching in
StreamingJsonReader
.Base class for system applications, which simply adds convenience methods
to the base Application type.
Time format for "HH:mm" Java format, which is the 24-hour clock.
Time format for "hh:mm a" Java format, which is the 12-hour clock.
Listener interface for time/date change events.
Describes a time format for both Java and JavaScript.
Base listener interface for time events.
Exception thrown when a BinaryMsg response times out.
Listener interface for timezone change events.
Exception thrown when the BinaryMsg payload exceeds the maximum limit of 256K bytes.
Annotation that binds a method parameter to a special tracker variable.
Interface for objects that provide a tracker property.
Class that triggers a callback after the configured delay.
Base class for troubles.
Views used to serialize trouble data.
Interface that objects can implement to be notified when a trouble
is added / removed where the object is in the impacted list of the
trouble.
Adapter class for TroubleAware.
Base exception for troubles.
Base interface for all
Trouble
ifaces.Information about how to display a trouble to the user.
Simple implementation of
TroubleInfoFactory
that loads an array
of TroubleInfo
objects from a json stream.Interface to listen to trouble events.
Simple implementation TroubleListener which allows selective callbacks
to be overridden as needed.
Interface for defining custom logic for matching troubles.
Service that manages troubles.
Device from udev adapter.
Listener interface to listen to device adds and removes.
Listener interface to listen to device availability.
Base listener for udev events.
Interface that allows a
UdevDevice
to be claimed / released.All udev information about a node.
Service that manages events from udev adapter.
Exception thrown when the client making a web request doesn't have rights to the requested resource.
This class describes a single unit within a unit system.
This class contains a full description of a "unit system".
Base class for a for update tasks generated by a given
FirmwareUpdater
which
contains all the state necessary for the updater to actually perform the update
of the associated device.General-purpose URI builder class.
Data class that serves as a parameter for some UriBuilder methods.
This class encompases the United States (US) unit system.
Data class used track a current or new value verses a previous value.
Allows multiple VFS sources to be virtually mounted to form a virtual
read-only filesystem.
Interface for parent VFS nodes in a VFS hierarchy.
Interface for returning in input stream for a given path.
Websocket client with support for automatic reconnects using exponential backoff.
Interface to receive websocket connection events.
Interface for a websocket connection.
Interface that processes websocket connect events and is able to
close a connection if it doesn't have correct authentication.
Interface to receive websocket connection events.
Data class containing fields that identify a websocket endpoint.
Interface to receive websocket messages.
This is the front-end to the websocket router.
Annotation that monitors a field for when it becomes ready.
Exception from the XML code.
Factory for loading
BaseRegion
objects from one or more XML files.A few common utility methods for working with XML.