com.rojoma.simplearm

v2

package v2

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

Type Members

  1. abstract class ExecutorShutdownTimeout extends AnyRef

    An instance of this must be implicitly visible in order to manage an ExecutorService.

  2. sealed trait LowPriorityImplicits extends AnyRef

  3. abstract class Managed[+A] extends AnyRef

  4. sealed trait MediumPriorityImplicits extends LowPriorityImplicits

  5. trait Resource[A] extends AnyRef

  6. final class ResourceScope extends AnyRef

    A (managable) object for managing resources with lifetimes that do not nest nicely.

    A (managable) object for managing resources with lifetimes that do not nest nicely.

    using(new ResourceScope) { rs =>
    val in = rs.open(new FileInputStream("a"))
    val out = rs.open(new FileOutputStream("b"))
    rs.close(in) // explicit close of a resource
    throw new Exception // resource scope ensures "out" is closed
    }

    Resource scopes may themselves be owned by other resource scopes. It is possible to build an object which contains complex sub-resources in this fashion.

    def allocateComplexThing() =
    using(new ResourceScope("temp")) { tmpScope =>
      new ComplexThing {
        // If ComplexThing's ctor throws, tmpScope will ensure cleanup
        val myScope = tmpScope.open(new ResourceScope("complex thing"))
        val sub1 = myScope.open(subResourceOne())
        val sub2 = myScope.open(subResourceTwo())
        // The very last thing the constructor does is unmanage
        // the scope and so take ownership.
        tmpScope.unmanage(myScope)
        def close() { myScope.close() }
      }
    }

    All methods on this class are thread-safe up to disposal of the ResourceScope itself.

Value Members

  1. package -impl

  2. object Resource extends MediumPriorityImplicits

  3. object ResourceScope

  4. def managed[A](resource: ⇒ A)(implicit arg0: Resource[A]): Managed[A]

  5. def unmanaged[A](a: A): Managed[A]

  6. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O, r16: ⇒ P, r17: ⇒ Q, r18: ⇒ R, r19: ⇒ S, r20: ⇒ T, r21: ⇒ U, r22: ⇒ V)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O], ev16: Resource[P], ev17: Resource[Q], ev18: Resource[R], ev19: Resource[S], ev20: Resource[T], ev21: Resource[U], ev22: Resource[V]): RR

  7. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O, r16: ⇒ P, r17: ⇒ Q, r18: ⇒ R, r19: ⇒ S, r20: ⇒ T, r21: ⇒ U)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O], ev16: Resource[P], ev17: Resource[Q], ev18: Resource[R], ev19: Resource[S], ev20: Resource[T], ev21: Resource[U]): RR

  8. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O, r16: ⇒ P, r17: ⇒ Q, r18: ⇒ R, r19: ⇒ S, r20: ⇒ T)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O], ev16: Resource[P], ev17: Resource[Q], ev18: Resource[R], ev19: Resource[S], ev20: Resource[T]): RR

  9. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O, r16: ⇒ P, r17: ⇒ Q, r18: ⇒ R, r19: ⇒ S)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O], ev16: Resource[P], ev17: Resource[Q], ev18: Resource[R], ev19: Resource[S]): RR

  10. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O, r16: ⇒ P, r17: ⇒ Q, r18: ⇒ R)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O], ev16: Resource[P], ev17: Resource[Q], ev18: Resource[R]): RR

  11. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O, r16: ⇒ P, r17: ⇒ Q)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O], ev16: Resource[P], ev17: Resource[Q]): RR

  12. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O, r16: ⇒ P)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O], ev16: Resource[P]): RR

  13. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N, r15: ⇒ O)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N], ev15: Resource[O]): RR

  14. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, N, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M, r14: ⇒ N)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M, N) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M], ev14: Resource[N]): RR

  15. def using[A, B, C, D, E, F, G, H, I, J, K, L, M, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L, r13: ⇒ M)(f: (A, B, C, D, E, F, G, H, I, J, K, L, M) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L], ev13: Resource[M]): RR

  16. def using[A, B, C, D, E, F, G, H, I, J, K, L, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K, r12: ⇒ L)(f: (A, B, C, D, E, F, G, H, I, J, K, L) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K], ev12: Resource[L]): RR

  17. def using[A, B, C, D, E, F, G, H, I, J, K, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J, r11: ⇒ K)(f: (A, B, C, D, E, F, G, H, I, J, K) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J], ev11: Resource[K]): RR

  18. def using[A, B, C, D, E, F, G, H, I, J, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I, r10: ⇒ J)(f: (A, B, C, D, E, F, G, H, I, J) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I], ev10: Resource[J]): RR

  19. def using[A, B, C, D, E, F, G, H, I, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H, r9: ⇒ I)(f: (A, B, C, D, E, F, G, H, I) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H], ev9: Resource[I]): RR

  20. def using[A, B, C, D, E, F, G, H, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G, r8: ⇒ H)(f: (A, B, C, D, E, F, G, H) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G], ev8: Resource[H]): RR

  21. def using[A, B, C, D, E, F, G, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F, r7: ⇒ G)(f: (A, B, C, D, E, F, G) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F], ev7: Resource[G]): RR

  22. def using[A, B, C, D, E, F, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E, r6: ⇒ F)(f: (A, B, C, D, E, F) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E], ev6: Resource[F]): RR

  23. def using[A, B, C, D, E, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D, r5: ⇒ E)(f: (A, B, C, D, E) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D], ev5: Resource[E]): RR

  24. def using[A, B, C, D, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C, r4: ⇒ D)(f: (A, B, C, D) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C], ev4: Resource[D]): RR

  25. def using[A, B, C, RR](r1: ⇒ A, r2: ⇒ B, r3: ⇒ C)(f: (A, B, C) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B], ev3: Resource[C]): RR

  26. def using[A, B, RR](r1: ⇒ A, r2: ⇒ B)(f: (A, B) ⇒ RR)(implicit ev1: Resource[A], ev2: Resource[B]): RR

  27. def using[A, RR](r1: ⇒ A)(f: (A) ⇒ RR)(implicit ev1: Resource[A]): RR

Inherited from AnyRef

Inherited from Any

Ungrouped