Packages

  • package root
    Definition Classes
    root
  • package csw
    Definition Classes
    root
  • package messages

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

    Messages

    This project is intended to hold reusable models and messages 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.messages.commands.Command are supported:

    Following are the concrete commands supported by csw:

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

    Another important feature provided by *commands* package is csw.messages.commands.matchers.Matcher One of the use case for using matcher is when Assembly sends csw.messages.CommandMessage.Oneway command to HCD and in response to this command HCD keeps publishing its current state. Then Assembly can use Matcher with the matching definition as provided by csw.messages.commands.matchers.StateMatcher to match against the current states published by HCD.

    Location and Framework

    These packages contain reusable classes, traits and models. We are keeping all the models which are getting transferred over the wire and requires serialization and deserialization in csw-messages project. All the models are marked with csw.messages.TMTSerializable. csw.messages.TMTSerializable is a marker trait which extends scala.Serializable. This is configured to use kryo serialization. Also these models are being shared between multiple projects. csw-location, csw-framework and csw-logging depends on csw-messages project which uses these models.

    Location Service uses csw.messages.location.Connection model to register component/container of type:

    When you resolve/find a csw.messages.location.Connection, you get csw.messages.location.Location in return which can be one of below type:

    Framework package contains following actor messages:

    Params

    This package supports serialization and deserialization of commands, events and state variables in following formats:

    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.messages.params.generics.KeyType are supported by csw:

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

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

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

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

    Definition Classes
    csw
  • package location
    Definition Classes
    messages
  • object ComponentType extends Enum[ComponentType] with PlayJsonEnum[ComponentType] with Serializable
    Definition Classes
    location
  • Assembly
  • Container
  • HCD
  • Sequencer
  • Service

object Container extends ComponentType with Product with Serializable

Represents a container for components e.g assemblies and HCDs

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Container
  2. Product
  3. Equals
  4. ComponentType
  5. TMTSerializable
  6. Serializable
  7. Serializable
  8. Lowercase
  9. EnumEntry
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. def entryName: String
    Definition Classes
    Lowercase → EnumEntry
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. val messageManifest: String
    Definition Classes
    ComponentType
  13. def name: String

    The name of ComponentType e.g.

    The name of ComponentType e.g. for HCD components, the name will be represented as hcd.

    Definition Classes
    ComponentType
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Product

Inherited from Equals

Inherited from ComponentType

Inherited from TMTSerializable

Inherited from Serializable

Inherited from Serializable

Inherited from Lowercase

Inherited from EnumEntry

Inherited from AnyRef

Inherited from Any

Ungrouped