gatk-3.8/scala/src/org/broadinstitute/sting/queue/function/QFunction.scala

29 lines
792 B
Scala
Raw Normal View History

package org.broadinstitute.sting.queue.function
import scala.collection.immutable.ListMap
/**
* The base interface for all functions in Queue.
* Inputs and outputs are specified as ListMaps of name -> value.
* The names are used for debugging.
* Inputs are matched to other outputs by using .equals()
*/
trait QFunction {
/**
* After a function is frozen no more updates are allowed by the user.
* The function is allow to make necessary updates internally to make sure
* the inputs and outputs will be equal to other inputs and outputs.
*/
def freeze = {}
/**
* ListMap of name -> value inputs for this function.
*/
def inputs: ListMap[String, Any]
/**
* ListMap of name -> value outputs for this function.
*/
def outputs: ListMap[String, Any]
}