Skip to content

Commit 41a7759

Browse files
committed
Update examples.
1 parent 128b51b commit 41a7759

2 files changed

Lines changed: 33 additions & 67 deletions

File tree

README.md

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -465,8 +465,8 @@ The `JSONEncoder` and `JSONDecoder` classes are used internally by `WebService`
465465
```java
466466
var map = mapOf(
467467
entry("vegetables", listOf(
468-
"carrots",
469-
"peas",
468+
"carrots",
469+
"peas",
470470
"potatoes"
471471
)),
472472
entry("desserts", listOf(
@@ -476,19 +476,24 @@ var map = mapOf(
476476
))
477477
);
478478

479-
try (var outputStream = Files.newOutputStream(file)) {
480-
var jsonEncoder = new JSONEncoder();
479+
var jsonEncoder = new JSONEncoder();
481480

482-
jsonEncoder.write(map, outputStream);
483-
}
484-
485-
try (var inputStream = Files.newInputStream(file)) {
486-
var jsonDecoder = new JSONDecoder();
481+
jsonEncoder.write(map, System.out);
482+
```
487483

488-
map = (Map<String, List<String>>)jsonDecoder.read(inputStream);
484+
```json
485+
{
486+
"vegetables": [
487+
"carrots",
488+
"peas",
489+
"potatoes"
490+
],
491+
"desserts": [
492+
"cookies",
493+
"cake",
494+
"ice cream"
495+
]
489496
}
490-
491-
System.out.println(map.get("vegetables").get(0)); // carrots
492497
```
493498

494499
## TextEncoder and TextDecoder
@@ -497,19 +502,13 @@ The `TextEncoder` and `TextDecoder` classes can be used to write and read plain
497502
```java
498503
var text = "Hello, World!";
499504

500-
try (var outputStream = Files.newOutputStream(file)) {
501-
var textEncoder = new TextEncoder();
502-
503-
textEncoder.write(text, outputStream);
504-
}
505-
506-
try (var inputStream = Files.newInputStream(file)) {
507-
var textDecoder = new TextDecoder();
505+
var textEncoder = new TextEncoder();
508506

509-
text = textDecoder.read(inputStream);
510-
}
507+
textEncoder.write(text, System.out);
508+
```
511509

512-
System.out.println(text); // Hello, World!
510+
```
511+
Hello, World!
513512
```
514513

515514
## CSVEncoder
@@ -536,9 +535,7 @@ var csvEncoder = new CSVEncoder(keys);
536535
csvEncoder.write(rows, System.out);
537536
```
538537

539-
This code would produce the following output:
540-
541-
```csv
538+
```
542539
"a","b","c"
543540
"hello",123,true
544541
"goodbye",456,false

kilo-test/src/test/java/org/httprpc/kilo/examples/Examples.java

Lines changed: 10 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.httprpc.kilo.io.JSONDecoder;
2121
import org.httprpc.kilo.io.JSONEncoder;
2222
import org.httprpc.kilo.io.TemplateEncoder;
23-
import org.httprpc.kilo.io.TextDecoder;
2423
import org.httprpc.kilo.io.TextEncoder;
2524
import org.httprpc.kilo.xml.ElementAdapter;
2625
import org.w3c.dom.Document;
@@ -29,7 +28,6 @@
2928
import java.io.IOException;
3029
import java.io.InputStreamReader;
3130
import java.net.URI;
32-
import java.nio.file.Files;
3331
import java.util.List;
3432
import java.util.Map;
3533
import java.util.MissingResourceException;
@@ -47,8 +45,8 @@ public interface Example {
4745
public static void main(String[] args) {
4846
execute("Math Service 1", Examples::mathService1);
4947
execute("Math Service 2", Examples::mathService2);
50-
execute("JSON Encoder", Examples::jsonEncoderAndDecoder);
51-
execute("Text Encoder/Decoder", Examples::textEncoderAndDecoder);
48+
execute("JSON Encoder", Examples::jsonEncoder);
49+
execute("Text Encoder", Examples::textEncoder);
5250
execute("CSV Encoder", Examples::csvEncoder);
5351
execute("Template Encoder", Examples::templateEncoder);
5452
execute("Adapt Bean", Examples::adaptBean);
@@ -102,10 +100,7 @@ public static void mathService2() throws IOException {
102100
System.out.println(webServiceProxy.invoke()); // 6.0
103101
}
104102

105-
@SuppressWarnings("unchecked")
106-
public static void jsonEncoderAndDecoder() throws IOException {
107-
var file = Files.createTempFile("kilo", ".json");
108-
103+
public static void jsonEncoder() throws IOException {
109104
var map = mapOf(
110105
entry("vegetables", listOf(
111106
"carrots",
@@ -119,47 +114,21 @@ public static void jsonEncoderAndDecoder() throws IOException {
119114
))
120115
);
121116

122-
try {
123-
try (var outputStream = Files.newOutputStream(file)) {
124-
var jsonEncoder = new JSONEncoder();
125-
126-
jsonEncoder.write(map, outputStream);
127-
}
117+
var jsonEncoder = new JSONEncoder();
128118

129-
try (var inputStream = Files.newInputStream(file)) {
130-
var jsonDecoder = new JSONDecoder();
119+
jsonEncoder.write(map, System.out);
131120

132-
map = (Map<String, List<String>>)jsonDecoder.read(inputStream);
133-
}
134-
135-
System.out.println(map.get("vegetables").getFirst()); // carrots
136-
} finally {
137-
Files.delete(file);
138-
}
121+
System.out.println();
139122
}
140123

141-
public static void textEncoderAndDecoder() throws IOException {
142-
var file = Files.createTempFile("kilo", ".txt");
143-
124+
public static void textEncoder() throws IOException {
144125
var text = "Hello, World!";
145126

146-
try {
147-
try (var outputStream = Files.newOutputStream(file)) {
148-
var textEncoder = new TextEncoder();
149-
150-
textEncoder.write(text, outputStream);
151-
}
127+
var textEncoder = new TextEncoder();
152128

153-
try (var inputStream = Files.newInputStream(file)) {
154-
var textDecoder = new TextDecoder();
129+
textEncoder.write(text, System.out);
155130

156-
text = textDecoder.read(inputStream);
157-
}
158-
159-
System.out.println(text); // Hello, World!
160-
} finally {
161-
Files.delete(file);
162-
}
131+
System.out.println();
163132
}
164133

165134
public static void csvEncoder() throws IOException {

0 commit comments

Comments
 (0)