|
6 | 6 | }
|
7 | 7 |
|
8 | 8 | <span class="keyword">interface</span> Order {
|
9 |
| - <span class="keyword">val</span> items: <span class="types">Map<String, Int></span> |
| 9 | + <span class="keyword">val</span> items: <span class="stdlib">Map</span><<span class="types">String, Int</span>> |
10 | 10 | }
|
11 | 11 |
|
12 |
| -<span class="keyword">class</span> IceCreamOrder(<span class="keyword">override val</span> items: <span class="types">Map<String, Int></span>) : Order |
| 12 | +<span class="keyword">class</span> IceCreamOrder(<span class="keyword">override val</span> items: <span class="stdlib">Map</span><<span class="types">String, Int</span>>) : Order |
13 | 13 |
|
14 | 14 | <span class="keyword">class</span> IceCreamVendor(<span class="keyword">override val</span> nextHandler: OrderHandler?) : OrderHandler {
|
15 | 15 | <span class="keyword">override fun</span> handleRequest(order: <span class="types">Order</span>) {
|
16 | 16 | <span class="keyword">val</span> orderSize = order.items.values.<span class="stdlib">sum()</span>
|
17 | 17 | <span class="keyword">if</span> (orderSize > <span class="literals">5</span>) {
|
18 | 18 | <span class="stdlib">println</span>(<span class="string">"Vendor: I'll have to get some"</span>)
|
19 |
| - nextHandler?.handleRequest(order) ?: <span class="stdlib">println</span>(<span class="string">"This is the end buddy"</span>) |
| 19 | + nextHandler?.handleRequest(order) ?: <span class="keyword">return</span> |
20 | 20 | } <span class="keyword">else</span> {
|
21 | 21 | <span class="stdlib">println</span>(<span class="string">"Order of <span class="string-template">${order.items.keys}</span> coming right up"</span>)
|
22 | 22 | }
|
|
28 | 28 | <span class="keyword">val</span> orderSize = order.items.values.<span class="stdlib">sum()</span>
|
29 | 29 | <span class="keyword">if</span> (orderSize > <span class="literals">10</span>) {
|
30 | 30 | <span class="stdlib">println</span>(<span class="string">"Retailer: Hmm guess I'll have to order more too"</span>)
|
31 |
| - nextHandler?.handleRequest(order) ?: <span class="stdlib">println</span>(<span class="string">"This is the end buddy"</span>) |
| 31 | + nextHandler?.handleRequest(order) ?: <span class="keyword">return</span> |
32 | 32 | } <span class="keyword">else</span> {
|
33 | 33 | <span class="stdlib">println</span>(<span class="string">"Order of <span class="string-template">${order.items.keys}</span> enroute to vendor"</span>)
|
34 | 34 | }
|
|
39 | 39 | <span class="keyword">override fun</span> handleRequest(order: <span class="types">Order</span>) {
|
40 | 40 | <span class="keyword">val</span> orderSize = order.items.values.<span class="stdlib">sum()</span>
|
41 | 41 | <span class="keyword">if</span> (orderSize > <span class="literals">100</span>) {
|
42 |
| - nextHandler?.handleRequest(order) ?: <span class="stdlib">println</span>(<span class="string">"This is the end buddy"</span>) |
| 42 | + nextHandler?.handleRequest(order) ?: <span class="keyword">return</span> |
43 | 43 | } <span class="keyword">else</span> {
|
44 | 44 | <span class="stdlib">println</span>(<span class="string">"Factory: Order of <span class="string-template">${order.items.keys}</span> coming enroute to retailer"</span>)
|
45 | 45 | }
|
|
0 commit comments