Packages

  • package root
    Definition Classes
    root
  • package csw
    Definition Classes
    root
  • package params

    This project is intended to hold reusable models and params used throughout the csw source code.

    Params

    This project is intended to hold reusable models and params used throughout the csw source code.

    This also provides out of the box support to cater to the diverse communication requirements. Consumer of this library will be able to create Commands, Events, States to store ParameterSets.

    Imp Packages

    Commands and Events

    This packages contains classes, traits and models used to create *commands* and *events*. These are all based on type-safe keys and items (a set of values with optional units). Each key has a specific type and the key's values must be of that type.

    Two types of csw.params.commands.Command are supported:

    Following are the concrete commands supported by csw:

    Two types of csw.params.events.Event are supported:

    core

    This package supports serialization and deserialization of commands, events and state variables in JSON format csw.params.core.formats.JsonSupport.

    Scala and Java APIs

    All the param and event classes are immutable. The set methods return a new instance of the object with a new item added and the get methods return an Option, in case the Key is not found. There are also value methods that return a value directly, throwing an exception if the key or value is not found.

    Key Types

    A set of standard key types and matching items are defined. Each key accepts one or more values of the given type.

    Following csw.params.core.generics.KeyType are supported by csw:

    +--------------+-------------------------+---------------------------+
    |  Primitive   |      Scala KeyType      |       Java KeyType        |
    +--------------+-------------------------+---------------------------+
    | Boolean      | KeyType.BooleanKey      | JKeyType.BooleanKey      |
    | Character    | KeyType.CharKey         | JKeyType.JCharKey        |
    | Byte         | KeyType.ByteKey         | JKeyType.ByteKey         |
    | Short        | KeyType.ShortKey        | JKeyType.ShortKey        |
    | Long         | KeyType.LongKey         | JKeyType.LongKey         |
    | Int          | KeyType.IntKey          | JKeyType.IntKey          |
    | Float        | KeyType.FloatKey        | JKeyType.FloatKey        |
    | Double       | KeyType.DoubleKey       | JKeyType.DoubleKey       |
    | String       | KeyType.StringKey       | JKeyType.StringKey       |
    | UtcTime      | KeyType.UTCTimeKey      | JKeyType.UTCTimeKey      |
    | TaiTime      | KeyType.TAITimeKey      | JKeyType.TAITimeKey      |
    | ----------   | ----------              | ----------               |
    | ByteArray    | KeyType.ByteArrayKey    | JKeyType.ByteArrayKey    |
    | ShortArray   | KeyType.ShortArrayKey   | JKeyType.ShortArrayKey   |
    | LongArray    | KeyType.LongArrayKey    | JKeyType.LongArrayKey    |
    | IntArray     | KeyType.IntArrayKey     | JKeyType.IntArrayKey     |
    | FloatArray   | KeyType.FloatArrayKey   | JKeyType.FloatArrayKey   |
    | DoubleArray  | KeyType.DoubleArrayKey  | JKeyType.DoubleArrayKey  |
    | ----------   | ----------              | ----------               |
    | ByteMatrix   | KeyType.ByteMatrixKey   | JKeyType.ByteMatrixKey   |
    | ShortMatrix  | KeyType.ShortMatrixKey  | JKeyType.ShortMatrixKey  |
    | LongMatrix   | KeyType.LongMatrixKey   | JKeyType.LongMatrixKey   |
    | IntMatrix    | KeyType.IntMatrixKey    | JKeyType.IntMatrixKey    |
    | FloatMatrix  | KeyType.FloatMatrixKey  | JKeyType.FloatMatrixKey  |
    | DoubleMatrix | KeyType.DoubleMatrixKey | JKeyType.DoubleMatrixKey |
    | ----------   | ----------              | ----------               |
    | Choice       | KeyType.ChoiceKey       | JKeyType.ChoiceKey       |
    +--------------+-------------------------+---------------------------+

    Detailed information about creating Keys and Parameters can be found here: https://tmtsoftware.github.io/csw/services/messages/keys-parameters.html

    Detailed information about creating commands can be found here: https://tmtsoftware.github.io/csw/services/messages/commands.html

    Detailed information about creating events can be found here: https://tmtsoftware.github.io/csw/services/messages/events.html

    Definition Classes
    csw
  • package core
    Definition Classes
    params
  • package formats
    Definition Classes
    core
  • package generics
    Definition Classes
    core
  • ArrayKeyType
  • GChoiceKey
  • Key
  • KeyType
  • MatrixKeyType
  • Parameter
  • ParameterSetFilters
  • ParameterSetKeyData
  • ParameterSetType
  • SimpleKeyType
  • SimpleKeyTypeWithUnits
  • package models
    Definition Classes
    core
  • package states
    Definition Classes
    core
p

csw.params.core

generics

package generics

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. class ArrayKeyType[S] extends SimpleKeyType[ArrayData[S]]

    A KeyType that holds array

  2. class GChoiceKey extends Key[Choice]

    A key for a choice item similar to an enumeration

  3. case class Key[S] extends Product with Serializable

    A generic Key class.

    A generic Key class. Never meant to be instantiated directly. csw.params.core.generics.KeyType exposes allowed types of Keys and make method to create instances of Key.

  4. sealed class KeyType[S] extends EnumEntry with Serializable

    Generic marker class for creating various types of Keys.

    Generic marker class for creating various types of Keys.

    S

    the type of values that will sit against the key in Parameter

  5. class MatrixKeyType[S] extends SimpleKeyType[MatrixData[S]]

    A KeyType that holds Matrix

  6. case class Parameter[S](keyName: String, keyType: KeyType[S], items: ArraySeq[S], units: Units) extends Product with Serializable

    Parameter represents a KeyName, KeyType, array of values and units applicable to values.

    Parameter represents a KeyName, KeyType, array of values and units applicable to values. Parameter sits as payload for sending commands and events between components.

    S

    the type of items this parameter holds

    keyName

    the name of the key

    keyType

    reference to an object of type KeyType[S]

    items

    an Array of values of type S

    units

    applicable units

  7. trait ParameterSetKeyData extends AnyRef

    A trait to be mixed in that provides a parameter set and prefix info

  8. abstract class ParameterSetType[T <: ParameterSetType[T]] extends AnyRef

    The base trait for various parameter set types (commands or events)

    The base trait for various parameter set types (commands or events)

    T

    the subclass of ParameterSetType

  9. class SimpleKeyType[S] extends KeyType[S]

    SimpleKeyType with a name.

    SimpleKeyType with a name. Holds instances of primitives such as char, int, String etc.

    S

    the type of values that will sit against the key in Parameter

  10. class SimpleKeyTypeWithUnits[S] extends KeyType[S]

    A KeyType that allows name and unit to be specified during creation.

    A KeyType that allows name and unit to be specified during creation. Holds instances of primitives such as char, int, String etc.

    S

    the type of values that will sit against the key in Parameter

Value Members

  1. object KeyType extends Enum[KeyType[_]] with Serializable

    KeyTypes defined for consumption in Scala code

  2. object ParameterSetFilters

    A collection of Utility functions for filtering Commands and Parameters from an input sequence

Ungrouped