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.scaladsl.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 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:

    • JSON : csw.messages.params.formats.JsonSupport
    • Kryo : csw.messages.params.generics.ParamSetSerializer
    • Protobuf : package pb contains utility and directory protobuf contains proto schema files.
    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
  • AkkaLocation
  • ComponentId
  • ComponentType
  • Connection
  • ConnectionInfo
  • ConnectionType
  • HttpLocation
  • Location
  • LocationRemoved
  • LocationUpdated
  • TcpLocation
  • TrackingEvent
  • TypedConnection

object ConnectionType extends Enum[ConnectionType] with PlayJsonEnum[ConnectionType] with Serializable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConnectionType
  2. Serializable
  3. Serializable
  4. PlayJsonEnum
  5. Enum
  6. AnyRef
  7. 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. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. macro def findValues: IndexedSeq[ConnectionType]
    Attributes
    protected
    Definition Classes
    Enum
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def indexOf(member: ConnectionType): Int
    Definition Classes
    Enum
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. implicit val jsonFormat: Format[ConnectionType]
    Definition Classes
    PlayJsonEnum
  15. final lazy val lowerCaseNamesToValuesMap: Map[String, ConnectionType]
    Definition Classes
    Enum
  16. lazy val namesToValuesMap: Map[String, ConnectionType]
    Definition Classes
    Enum
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final lazy val upperCaseNameValuesToMap: Map[String, ConnectionType]
    Definition Classes
    Enum
  23. def values: IndexedSeq[ConnectionType]

    Returns a sequence of all connection types

    Returns a sequence of all connection types

    Definition Classes
    ConnectionType → Enum
  24. final lazy val valuesToIndex: Map[ConnectionType, Int]
    Definition Classes
    Enum
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  28. def withName(name: String): ConnectionType
    Definition Classes
    Enum
    Annotations
    @SuppressWarnings()
  29. def withNameInsensitive(name: String): ConnectionType
    Definition Classes
    Enum
    Annotations
    @SuppressWarnings()
  30. def withNameInsensitiveOption(name: String): Option[ConnectionType]
    Definition Classes
    Enum
  31. def withNameLowercaseOnly(name: String): ConnectionType
    Definition Classes
    Enum
    Annotations
    @SuppressWarnings()
  32. def withNameLowercaseOnlyOption(name: String): Option[ConnectionType]
    Definition Classes
    Enum
  33. def withNameOption(name: String): Option[ConnectionType]
    Definition Classes
    Enum
  34. def withNameUppercaseOnly(name: String): ConnectionType
    Definition Classes
    Enum
    Annotations
    @SuppressWarnings()
  35. def withNameUppercaseOnlyOption(name: String): Option[ConnectionType]
    Definition Classes
    Enum
  36. object AkkaType extends ConnectionType with Product with Serializable

    Represents an Akka type of connection

  37. object HttpType extends ConnectionType with Product with Serializable

    Represents a HTTP type of connection

  38. object TcpType extends ConnectionType with Product with Serializable

    Represents a TCP type of connection

Inherited from Serializable

Inherited from Serializable

Inherited from PlayJsonEnum[ConnectionType]

Inherited from Enum[ConnectionType]

Inherited from AnyRef

Inherited from Any

Ungrouped