com.cra.figaro.library.collection

Process

trait Process[Index, Value] extends AnyRef

A Process maps indices to elements over values.

Elements, of course, have a universe. Wherever possible, operations on processes, such as getting elements, or mapping or chaining through a function, produce an element in the same universe as the original element. An exception is an element over an optional value created for an index out of range, which goes in the default universe, because there is no source element. Another exception is a fold operation on a container, which is given a universe (defaults to the current Universe.universe).

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Process
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class IndexOutOfRangeException(index: Index) extends RuntimeException with Product with Serializable

    Thrown if the index does not have an element.

Abstract Value Members

  1. abstract def generate(index: Index): Element[Value]

    Produce the element corresponding to the value of the process at the given index.

    Produce the element corresponding to the value of the process at the given index. This method can assume that the indices has already been range checked.

  2. abstract def generate(indices: List[Index]): Map[Index, Element[Value]]

    Produce the elements representing the value of the process at the given indices.

    Produce the elements representing the value of the process at the given indices. Ensures that any dependencies between the elements are represented. This method must be implemented by implementations of Process. The return value maps each provided index to the corresponding element. This method can assume that the indices has already been range checked.

  3. abstract def rangeCheck(index: Index): Boolean

    Check whether the given index has an element.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. def ++(that: Process[Index, Value]): Process[Index, Value]

    Returns a new process containing the elements of this process and the argument.

    Returns a new process containing the elements of this process and the argument. If an index is defined in both processes, the element of the argument is used.

  4. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  5. def apply(indices: Traversable[Index]): Map[Index, Element[Value]]

    Get the elements representing the value of the process at the given indices.

    Get the elements representing the value of the process at the given indices. Throws IndexOutOfRangeException if any index has no value.

  6. def apply(index: Index): Element[Value]

    Get an element representing the value of the process at the given index.

    Get an element representing the value of the process at the given index. Throws IndexOutOfRangeException if the index has no value.

    This apply method is cached, so calling process(index) always returns the same element.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def chain[Value2](f: (Value) ⇒ Element[Value2]): Process[Index, Value2]

    Chain every value in this process through the given function, returning a new process.

  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. def get(indices: Traversable[Index]): Map[Index, Element[Option[Value]]]

    Safely get the elements over optional values at all of the indices.

    Safely get the elements over optional values at all of the indices. Any index that is not in range will always have value None. Dependencies between elements for indices in range will be produced.

  14. def get(index: Index): Element[Option[Value]]

    Safely get an element over an optional value at the index.

    Safely get an element over an optional value at the index. If the index is in range, the value of the element will be Some(something). If the index is out of range, the value of the element will be None.

  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. def map[Value2](f: (Value) ⇒ Value2): Process[Index, Value2]

    Apply the given function to every value in this process, returning a new process.

  19. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  23. def toString(): String

    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped