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       |
    | RaDec        | KeyType.RaDecKey        | JKeyType.RaDecKey        |
    | Struct       | KeyType.StructKey       | JKeyType.StructKey       |
    +--------------+-------------------------+---------------------------+

    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
  • package models
    Definition Classes
    core
  • Angle
  • ArrayData
  • CalibrationLevel
  • Choice
  • Choices
  • Coords
  • ExposureId
  • ExposureIdType
  • ExposureNumber
  • Id
  • JAngle
  • JCoords
  • JEqCoord
  • JStruct
  • MatrixData
  • ObsId
  • PMValue
  • ProgramId
  • ProperMotion
  • RaDec
  • Semester
  • SemesterId
  • Separator
  • StandaloneExposureId
  • Struct
  • TYP
  • TYPLevel
  • Units
  • package states
    Definition Classes
    core

package models

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Angle(uas: Long) extends Serializable with Ordered[Angle] with Product

    An wrapper for angle.

    An wrapper for angle. Normally angle would be stored in double as radians, but this introduces rounding errors. This class stores value in microarcseconds to prevent rounding errors.

    Usage examples: //import provides implicit conversions for numbers import Angle._ //use implicit conversions to construct angle from number val angle = 10.degree + 0.5.arcSec //convert value to radian an print it println(11.toRadian)

  2. case class ArrayData[T](data: ArraySeq[T]) extends Product with Serializable

    A top level key for a parameter set representing an array like collection.

    A top level key for a parameter set representing an array like collection.

    data

    input array

  3. sealed trait CalibrationLevel extends EnumEntry
  4. case class Choice(name: String) extends Product with Serializable

    Represents a single choice

    Represents a single choice

    name

    of the choice

  5. case class Choices(values: Set[Choice]) extends Product with Serializable

    Represents a set of choices

    Represents a set of choices

    values

    a Set of Choice

  6. case class ExposureId(obsId: ObsId, subsystem: Subsystem, det: String, typLevel: TYPLevel, exposureNumber: ExposureNumber) extends ExposureIdType with Product with Serializable
  7. sealed trait ExposureIdType extends AnyRef
  8. case class ExposureNumber(exposureNumber: Int, subArray: Option[Int] = None) extends Product with Serializable
  9. case class Id(id: String) extends Product with Serializable

    Implementation of unique id fulfilling TMT requirements (returned from a queue submit).

    Implementation of unique id fulfilling TMT requirements (returned from a queue submit).

    id

    a string representation of unique id

  10. case class MatrixData[T] extends Product with Serializable

    A top level key for a parameter set representing an matrix like collection.

  11. case class ObsId(programId: ProgramId, observationNumber: Int) extends Product with Serializable

    Represents a unique observation id

    Represents a unique observation id

    programId

    represents program Id

    observationNumber

    Unique observation number in pattern O followed by 3 digit number

  12. final case class PMValue(uaspyr: Long) extends AnyVal with Serializable with Ordered[PMValue] with Product
  13. case class ProgramId(semesterId: SemesterId, programNumber: Int) extends Product with Serializable

    Represents a unique program id

    Represents a unique program id

    semesterId

    semesterId for Program

    programNumber

    programNumber number in pattern P followed by 3 digit number

  14. case class ProperMotion(pmx: Double, pmy: Double) extends Product with Serializable
  15. case class RaDec(ra: Double, dec: Double) extends Product with Serializable

    Holds Ra(Right Ascension) and Dec(Declination) values

  16. sealed trait Semester extends EnumEntry
  17. case class SemesterId extends Product with Serializable

    Represents a unique semester id

  18. case class StandaloneExposureId(utcTime: String, subsystem: Subsystem, det: String, typLevel: TYPLevel, exposureNumber: ExposureNumber) extends ExposureIdType with Product with Serializable
  19. case class Struct extends ParameterSetType[Struct] with Product with Serializable

    A configuration for setting telescope and instrument parameters

  20. sealed abstract class TYP extends EnumEntry
  21. case class TYPLevel(typ: TYP, calibrationLevel: CalibrationLevel) extends Product with Serializable
  22. sealed abstract class Units extends EnumEntry

    A class representing units for TMT

Value Members

  1. object Angle extends Serializable
  2. object ArrayData extends Serializable
  3. object CalibrationLevel extends Enum[CalibrationLevel]
  4. object Choice extends Serializable

    Provides implicit conversion from String to Choice

  5. object Choices extends Serializable

    Provides a varargs constructor for Choices

  6. object Coords
  7. object ExposureId extends Serializable
  8. object ExposureNumber extends Serializable
  9. object Id extends Serializable
  10. object JAngle

    Java API for creating an Angle instance.

  11. object JCoords

    For the Java API

  12. object JEqCoord
  13. object JStruct

    A helper instance aJava

  14. object MatrixData extends Serializable
  15. object ObsId extends Serializable
  16. object ProgramId extends Serializable
  17. object ProperMotion extends Serializable
  18. object Semester extends Enum[Semester]
  19. object SemesterId extends Serializable
  20. object Separator
  21. object StandaloneExposureId extends Serializable
  22. object Struct extends Serializable
  23. object TYP extends Enum[TYP]
  24. object TYPLevel extends Serializable
  25. object Units extends Enum[Units]

Ungrouped