fork download
  1. final class Order private() {
  2. case class OrderLine(x: Int) { }
  3.  
  4. def this(makeOrderLines: { def apply(order: Order): Seq[order.OrderLine] }) = {
  5. this()
  6. _orderLines = makeOrderLines(this)
  7. }
  8.  
  9. private var _orderLines: Seq[OrderLine] = null
  10. def orderLines = _orderLines
  11. }
  12.  
  13. object Main extends App {
  14. val order = new Order(new {
  15. def apply(order: Order) =
  16. Seq(order.OrderLine(1), order.OrderLine(2))
  17. })
  18. println(order.orderLines)
  19. }
  20.  
Success #stdin #stdout 0.37s 382080KB
stdin
Standard input is empty
stdout
List(OrderLine(1), OrderLine(2))