equal
deleted
inserted
replaced
46 } |
46 } |
47 def check_data: Data = check.get_data getOrElse api_error("missing data") |
47 def check_data: Data = check.get_data getOrElse api_error("missing data") |
48 def check_resource: Resource = check_data.resource |
48 def check_resource: Resource = check_data.resource |
49 def check_resources: List[Resource] = check_data.resources |
49 def check_resources: List[Resource] = check_data.resources |
50 |
50 |
|
51 def iterator: Iterator[Root] = |
|
52 { |
|
53 val init = Some(this) |
|
54 new Iterator[Root] { |
|
55 private var state: Option[Root] = init |
|
56 def hasNext: Boolean = state.nonEmpty |
|
57 def next(): Root = |
|
58 state match { |
|
59 case None => Iterator.empty.next() |
|
60 case Some(res) => |
|
61 state = res.get_next.map(_.get_root()) |
|
62 res |
|
63 } |
|
64 } |
|
65 } |
|
66 def iterator_data: Iterator[Data] = iterator.map(_.check_data) |
|
67 def iterator_resource: Iterator[Resource] = iterator.map(_.check_resource) |
|
68 def iterator_resources: Iterator[Resource] = iterator.flatMap(_.check_resources) |
|
69 |
51 override def toString: String = "Root(" + (if (ok) "ok" else "errors") + ")" |
70 override def toString: String = "Root(" + (if (ok) "ok" else "errors") + ")" |
52 } |
71 } |
53 |
72 |
54 sealed case class Links(json: JSON.T) |
73 sealed case class Links(json: JSON.T) |
55 { |
74 { |