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 Troubles 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 Troubles 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.