-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathProtoMap.java
More file actions
33 lines (22 loc) · 865 Bytes
/
Copy pathProtoMap.java
File metadata and controls
33 lines (22 loc) · 865 Bytes
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
33
package pronto;
import clojure.lang.Keyword;
import com.google.protobuf.GeneratedMessageV3;
/**
* Base functionality implemented by any generated proto-map.
* <p>
* Note: the ugly `pmap_` prefix in method names is a precaution to avoid
* a conflict with the `get<Field>` and `has<Field>` methods that are generated as part of
* the <Object>OrBuilder interfaces.
**/
public interface ProtoMap<T extends GeneratedMessageV3> {
boolean isMutable();
boolean pmap_hasField(Keyword key);
ProtoMap<T> clearField(Keyword key);
T pmap_getProto();
Keyword whichOneOf(Keyword key);
GeneratedMessageV3.Builder pmap_getBuilder();
ProtoMap<T> copy(GeneratedMessageV3.Builder builder);
ProtoMap<T> remap(ProtoMapper mapper);
ProtoMap<?> empty(Keyword keyword);
ProtoMap<?> fromBuilder(GeneratedMessageV3.Builder builder);
}