Skip to content

Commit 0a64b41

Browse files
committed
add README
1 parent ef54ae7 commit 0a64b41

35 files changed

+56
-39
lines changed

demo/src/test/java/com/jsoniter/demo/FieldMatching.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.jsoniter.demo;
22

33
import com.jsoniter.DecodingMode;
4-
import com.jsoniter.JsonException;
4+
import com.jsoniter.spi.JsonException;
55
import com.jsoniter.JsonIterator;
66
import com.jsoniter.annotation.JsonProperty;
77
import com.jsoniter.annotation.JsonObject;

src/main/java/com/jsoniter/CodegenAccess.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.jsoniter;
22

33
import com.jsoniter.spi.Decoder;
4+
import com.jsoniter.spi.JsonException;
45
import com.jsoniter.spi.JsoniterSpi;
56
import com.jsoniter.spi.TypeLiteral;
67

src/main/java/com/jsoniter/CodegenImplNative.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.jsoniter;
22

33
import com.jsoniter.any.Any;
4-
import com.jsoniter.spi.JsoniterSpi;
4+
import com.jsoniter.spi.JsonException;
55
import com.jsoniter.spi.TypeLiteral;
66

77
import java.lang.reflect.ParameterizedType;

src/main/java/com/jsoniter/CodegenImplObject.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import java.lang.reflect.Type;
66
import java.util.*;
7-
import java.util.zip.CRC32;
87

98
class CodegenImplObject {
109

@@ -217,7 +216,7 @@ private static void appendMissingRequiredProperties(StringBuilder lines, ClassDe
217216
}
218217
}
219218
if (desc.onMissingProperties == null || !desc.ctor.parameters.isEmpty()) {
220-
append(lines, "throw new com.jsoniter.JsonException(\"missing required properties: \" + missingFields);");
219+
append(lines, "throw new com.jsoniter.spi.JsonException(\"missing required properties: \" + missingFields);");
221220
} else {
222221
if (desc.onMissingProperties.field != null) {
223222
append(lines, String.format("obj.%s = missingFields;", desc.onMissingProperties.field.getName()));
@@ -230,7 +229,7 @@ private static void appendMissingRequiredProperties(StringBuilder lines, ClassDe
230229
private static void appendOnUnknownField(StringBuilder lines, ClassDescriptor desc) {
231230
if (desc.asExtraForUnknownProperties) {
232231
if (desc.onExtraProperties == null) {
233-
append(lines, "throw new com.jsoniter.JsonException('extra property: ' + field.toString());".replace('\'', '"'));
232+
append(lines, "throw new com.jsoniter.spi.JsonException('extra property: ' + field.toString());".replace('\'', '"'));
234233
} else {
235234
append(lines, "if (extra == null) { extra = new java.util.HashMap(); }");
236235
append(lines, "extra.put(field.toString(), iter.readAny());");
@@ -292,7 +291,7 @@ private static void addFieldDispatch(
292291
Binding field = (Binding) entry.getValue();
293292
if (field.asExtraWhenPresent) {
294293
append(lines, String.format(
295-
"throw new com.jsoniter.JsonException('extra property: %s');".replace('\'', '"'),
294+
"throw new com.jsoniter.spi.JsonException('extra property: %s');".replace('\'', '"'),
296295
field.name));
297296
} else if (field.shouldSkip) {
298297
append(lines, "iter.skip();");

src/main/java/com/jsoniter/JsonIterator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.jsoniter.annotation.JsoniterAnnotationSupport;
44
import com.jsoniter.any.Any;
5+
import com.jsoniter.spi.JsonException;
56
import com.jsoniter.spi.TypeLiteral;
67

78
import java.io.Closeable;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
there are 7 packages, listed in abstraction level order
2+
3+
# bottom abstraction
4+
5+
* spi: bottom of the abstraction
6+
7+
# concrete implementations
8+
9+
* iterator/any: these two packages are tangled together, doing decoding
10+
* output: doing encoding, should only depend on spi
11+
12+
# addons
13+
14+
* annotation: make spi accessible with annotation. everything here can be done using code
15+
* fuzzy: pre-defined decoders to work with messy input
16+
* extra: extra encoders/decoders, useful for a lot of people, but not all of them

src/main/java/com/jsoniter/ReflectionCollectionDecoder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.jsoniter;
22

33
import com.jsoniter.spi.Decoder;
4+
import com.jsoniter.spi.JsonException;
45
import com.jsoniter.spi.TypeLiteral;
56

67
import java.io.IOException;

src/main/java/com/jsoniter/ReflectionMapDecoder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.jsoniter;
22

33
import com.jsoniter.spi.Decoder;
4+
import com.jsoniter.spi.JsonException;
45
import com.jsoniter.spi.TypeLiteral;
56

67
import java.io.IOException;

src/main/java/com/jsoniter/StaticCodeGenerator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.jsoniter.output.EncodingMode;
44
import com.jsoniter.output.JsonStream;
55
import com.jsoniter.spi.CodegenConfig;
6+
import com.jsoniter.spi.JsonException;
67

78
import java.io.File;
89

src/main/java/com/jsoniter/annotation/JsoniterAnnotationSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.jsoniter.annotation;
22

3-
import com.jsoniter.JsonException;
3+
import com.jsoniter.spi.JsonException;
44
import com.jsoniter.spi.*;
55

66
import java.lang.annotation.Annotation;

0 commit comments

Comments
 (0)