ScalaTransferExecutor

org.eso.ias.asce.transfer.ScalaTransferExecutor
abstract class ScalaTransferExecutor[T](cEleId: String, cEleRunningId: String, validityTimeFrame: Long, props: Properties) extends TransferExecutor

The ScalaTransferExecutor provides the interface for scala implementations of the transfer function.

Value parameters

cEleId:

The id of the ASCE

cEleRunningId:

the running ID of the ASCE

props:

The properties for the executor

validityTimeFrame:

The time frame (msec) to invalidate monitor points

Attributes

Graph
Supertypes
class TransferExecutor
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

def eval(compInputs: Map[String, IasIO[_]], actualOutput: IasIO[T]): IasIO[T]

Produces the output of the component by evaluating the inputs.

Produces the output of the component by evaluating the inputs.

IMPLEMENTATION NOTE The [[InOut]] is immutable. The easiest way to produce the output to return is to execute the methods of the actualOutput that returns a new InOut.

Value parameters

actualOutput:

the actual output of the ASCE

compInputs:

the inputs to the ASCE

Attributes

Returns

the computed value to set as output of the ASCE

def initialize(inputsInfo: Set[IasioInfo], outputInfo: IasioInfo): Unit

Initialize the transfer function

Initialize the transfer function

Value parameters

inputsInfo

The IDs and types of the inputs

outputInfo

The Id and type of thr output

Attributes

Concrete methods

final protected def getIdentifier(id: String): String

Value parameters

id

the id to translate, templated or not

Attributes

Returns

teh identifer translated if the ASCE is templated

final protected def getValue(inputs: Map[String, IasIO[_]], id: String, instance: Option[Int]): Option[IasIO[_]]

This method transparently returns a value from the passed ID and instance.

This method transparently returns a value from the passed ID and instance.

When an input is not templated, neither a template instance, then its value cabn be directly retrieved from the map of the inputs passed to [#eval]. But if the imput is templated or a templated instance then this method must be used.

If the ASCE is generated out of a template, its inputs can or cannot be generated out of the same template. In the latter, their identifiers must be enriched with the number of the instance of the ASCE. For templated inputs the number of the instance is not needed because it is the same instance number of the ASCE and it is known to the transfer function. The case of templated input instances is different because their instance number is defined in the configuration of the ASCE and not known in the transfer function so it must be esplicity passed by the caller.

For normal and templated inputs, the instance is empty. For templated inputs the instance can be passed if it is teh same of the ASCE. For templated input instances the instance number is required.

This method must be used also to get templated input instances from non templated ASCEs.

Value parameters

id

The (non templated) identifier of the value

inputs

the map of the inputs

instance

the optional instance nummber for templated input instances, not required for other cases

Attributes

Returns

the IASValue of the given ID, or None if not found in the Map

Inherited methods

def getTemplateInstance(): Optional[Integer]

Attributes

Inherited from:
TransferExecutor
def isTemplated(): Boolean

Attributes

Inherited from:
TransferExecutor
final def setTemplateInstance(x$0: Optional[Integer]): Unit

Attributes

Inherited from:
TransferExecutor
def shutdown(): Unit

Attributes

Inherited from:
TransferExecutor