Trait

com.cra.figaro.library.collection

Process

Related Doc: package collection

Permalink

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
Visibility
  1. Public
  2. All

Type Members

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

    Permalink

    Thrown if the index does not have an element.

Abstract Value Members

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

    Permalink

    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]]

    Permalink

    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

    Permalink

    Check whether the given index has an element.

Concrete Value Members

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

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

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

    Permalink

    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

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

    Permalink

    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]

    Permalink

    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

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

    Permalink

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

  9. def clone(): AnyRef

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. def flatMap[Value2](f: (Value) ⇒ Element[Value2]): Process[Index, Value2]

    Permalink

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

  14. def get(indices: Traversable[Index]): Map[Index, Element[Option[Value]]]

    Permalink

    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.

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

    Permalink

    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.

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

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

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

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

    Permalink

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

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

    Permalink
    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped