summaryrefslogtreecommitdiff
path: root/src/main/java/moe/nea/pcj/json/JsonLikeOperations.java
blob: ffefedaa0f19120d670dcd9ee3448f5fcaceda49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package moe.nea.pcj.json;

import moe.nea.pcj.Operation;
import moe.nea.pcj.Result;
import moe.nea.pcj.Unit;

public interface JsonLikeOperations<Format> extends Operation<Format> {

	Format createNull(Unit value);

	Result<Unit, ? extends JsonLikeError> getNull(Format element);

	Format createNumeric(Number value);

	Result<Number, ? extends JsonLikeError> getNumeric(Format element);

	Format createString(String value);

	Result<String, ? extends JsonLikeError> getString(Format element);

	Format createBoolean(boolean value);

	Result<Boolean, ? extends JsonLikeError> getBoolean(Format format);

	RecordBuilder<Format> createObject();

	Result<? extends RecordView<Format>, ? extends JsonLikeError> getObject(Format format);

	ListBuilder<Format> createList();

	Result<? extends ListView<Format>, ? extends JsonLikeError> getList(Format format);
}