All Classes and Interfaces
Class
Description
Interface for objects that support being aborted.
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.
Before analytic events are recorded, they can be classified into
channels.
Implementation of
AnalyticsService
for use on non-primary
nodes.Analytics event that can either be used as a base class for event data or as
a wrapper for existing objects when they are to be recorded as events.
Analytics bean using during export.
An
AnalyticsExporter
is responsible for exporting analytics beans
to a destination.Priority levels for a
AnalyticsEvent
.Analytics record used to transfer the event to an external system and
for working with database entries.
Implementation of
AnalyticsService
for use on primary nodes.Interface for the analytics service.
JsonView class to expose data for recording analytic events.
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.
A subclass of
BrowserIntent
that generates an intent that is
targeted at a specific application.Bean representation of core app descriptor data so we can simply
deserialize the object instead of extracting each field individually.
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.
Callback for
AppService.whenAppStarted()
.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.
General purpose backoff algorithm class.
Class used to schedule callbacks based on a backoff algorithm.
Configuration for any of the available backoff delays.
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 database migration.
Base class for
Device
config beans.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.Base class for describing a kab in a manifest.
Base listener interface for
Pause
events.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.
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 board is ready for use.
Interface for
Trouble
s that implements the board iface.Message broker client to provide java access to broker messages.
Callback interface for receiving subscribed topics.
Subscription record from the
BrokerClient
used to unsubscribe.A logical browser control object.
Identifies a particular browser on a node.
A
BrowserIntent
is a generic way to describe how to
navigate a given browser to a particular page.Interface for resolving browser intents to either other
intents or a specific url.
Navigation request to point a given browser from
the specified node to a url.
Service that manages browsers connected to this service.
Interface for browser connections to plug into
BrowserService
by connecting to a Browser
object.Navigation request to point a given browser from
the specified node to the indicated url.
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.
Interface for objects that support being cancelled.
A
Unit
class that represents temperature in degrees Celsius.A
ChainedManifest
defines a collection of sections
that contains artifacts that are used to resolve external
references from a NodeManifest
.Builder to simplify the process of building a
ChainedManifest
.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.
A
SerialNumberProvider
implementation that uses a
config property to hold the serial number.ConfigBean for
ConfigSerialNumberProvider
.Server that runs on the primary node which performs additional management
of the
ConfigService
for use on kOS and within multi-node environments.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.
Bean that holds changes used to update a
MutableConfigSource
.Bean returned from fetching an individual config value
from
ConfigService
.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.Base exception for critical data errors.
Listener for critical data service events.
Exception indicating that critical data is not yet available.
Wrapper class for critical data.
Critical data service stores small amounts of critical data in various boards
within the system and uses a voting algorithm to decide which set of data is
correct.
Interface for objects that can store and retrieve critical data.
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.
System component used to create a DataSource or Jdbi instance for a SQLite database.
Interface used to migrate database content across schema versions.
Describes a date format for both Java and JavaScript.
Listener interface for day change events.
Utility class for day relative time operations.
ConfigSource that provides a sorted stack of sources.
A representation of the device.
Builder used to define a full kOS device installation.
Abstraction of a top level device manifest.
Base class for all future
DeviceManifest
implementations
which contains just the manifest version.Track device changes and send notifications.
High level information about the software installed on the device
grouped by node type.
JsonView class to expose data for the over arching view of the entire
device.
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.
Details about an ethernet interface.
Service that loads extensions at startup.
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.
Standard descriptor fragment for describing firmware within a KAB file.
Information about a single firmware entry in a kab file.
Service that handles updating firmware on update-capable devices.
Interface for any device that can have firmware updated.
Base class for
HardwareLink
that 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.
Class used to extract information from a manifest that identifies
the minimum information required to correctly install an update on
the primary node of a device such that the primary and all child
nodes in the device can be properly updated.
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.
Interface to be notified when a given websocket address is no longer valid.
IPV4 settings.
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.
Copy the contents of an existing KAB to a new KAB.
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 a KAB file.
Builder to make it easier to create a
KabOutputStream
.Loader that searches resources in a specified kab.
Interface for objects that can return kab files by id.
A collection of known KAB types.
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.
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.
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.
Builder for constructing localization data from a KAB when the KAB
doesn't contain a standard localization fragment in the descriptor.
Builder for a locale within a
NamespaceBuilder
.Builder for a namespace within a
LocalizationBuilder
.A context to facilitate the aggregation of language files that are
packaged in kabs using a standard
LocalizationDescriptorFragment
in a kab descriptor.Standard descriptor fragment for describing available languages resource.
Centralized localization service that provides discoverability of
registered
LocalizationContext
objects.Log level override for a single class/package or group.
Service that abstracts the adding and removing of log level overrides.
Representation of a kab file within a manifest.
Given a directory containing manifest kabs, organize the manifests
into chains that are compatible with the specified device type
and are complete.
Information about the device the manifest is for.
Information about a node that is part of the device.
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.
Available options for mounting external storage.
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.
Network connection information.
Information about an available network interface.
Interface names by category.
Available interface categories, which is one of the following:
INTERNAL : The interface is only used internally within the device.
Information about an available network interface.
A watch object that will receive change events for the associated interface.
Callback interface for interface events.
Service that configures network interfaces on nodes within the device.
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 for resolving a
NodeId
to an ip address on the local network.Information about the software running on a particular node type.
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.An artifact that the OTA service needs to download.
Interface for external component that can download a missing kab
used during OTA update.
State around a given kab that needs to be downloaded as part of the OTA
process.
Listener for OTA-related events.
Service that runs on the primary node to manage over the air updates.
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.Class that wraps another source.
Annotation that binds a method variable to a path parameter.
A
Pause
provides a simple way to allow an object to be externally
paused / resumed.Interface for objects that contain a
Pause
object.Listener interface for
Pause
pause events.Interface that allows objects that are used a reasons for a
Pause
to be converted to a string that can be used
for debugging / reporting.This class gathers KAB file permissions, then sets them for each KAB entry
in the
KabAccessProvider
interface's setAccess(KabEntry)
method.Parameters for requesting a ping operation.
Response for a ping operation.
Reader to load a private key stored in PKCS8 format.
Class that wraps another source.
A
Unit
class that represents pressure in pounds-per-square-inch (PSI).Reader to load a public key stored in PKCS8 format.
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.Access to the
RequestDispatcher
for very limited use cases.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.
Exception that contains a reason code and optional reason data.
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.
Annotation that binds a method variable to a request header value.
Enumeration containing the complete list of HTTP request methods.
Annotation that binds a method variable to a request node-id header value.
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.
Listener interface for
Pause
resume events.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.
A
SerialNumberProvider
implementation that reads
the serial number from /run/kos/serialNumber in the
constructor.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.Base exception for serial number related exceptions.
Listener for when the serial number is set.
Interface for fetching and storing a device serial number.
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
DeviceSoftwareInfo
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 objects 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.Tracks
StateAware
beans in the system and generates events
when StateAware
beans change.Wraps a
UdevDevice
and provides easy access to storage specific data.Listener for when a
StorageDevice
is added or removed.Size information for a storage mount.
Base listener for storage events.
Listener for when a
StorageDevice
is mounted or unmounted.Service that manages storage devices that are detected via udev
events, such as usb drives.
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
.Utility class that handles various string-based operations.
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.
Interface for objects that are both
Cancelable
and
Abortable
.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.
Tracks time changes, time drift and generates time related events.
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.
JsonView to expose data via troubles endpoints.
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".
A
Board
that supports firmware update.Information about a software update available on a storage device.
This service handles USB based updates to the device.
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.
Data class encapsulating the pieces that make up a kOS websocket network address.
Exception thrown whenever a poorly formatted or invalid
WebsocketAddr
is detected.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.
Details about a wifi interface.
Settings usec to configure wifi interface.
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.
Copy the contents of a zip file to a KAB.