Files
adif-api-reverse-engineering/apk_decompiled/sources/com/google/firebase/encoders/proto/ProtobufEncoder.java

84 lines
3.4 KiB
Java

package com.google.firebase.encoders.proto;
import com.google.firebase.encoders.EncodingException;
import com.google.firebase.encoders.ObjectEncoder;
import com.google.firebase.encoders.ObjectEncoderContext;
import com.google.firebase.encoders.ValueEncoder;
import com.google.firebase.encoders.config.Configurator;
import com.google.firebase.encoders.config.EncoderConfig;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes3.dex */
public class ProtobufEncoder {
private final ObjectEncoder<Object> fallbackEncoder;
private final Map<Class<?>, ObjectEncoder<?>> objectEncoders;
private final Map<Class<?>, ValueEncoder<?>> valueEncoders;
public ProtobufEncoder(Map<Class<?>, ObjectEncoder<?>> map, Map<Class<?>, ValueEncoder<?>> map2, ObjectEncoder<Object> objectEncoder) {
this.objectEncoders = map;
this.valueEncoders = map2;
this.fallbackEncoder = objectEncoder;
}
public static Builder builder() {
return new Builder();
}
public void encode(Object obj, OutputStream outputStream) throws IOException {
new ProtobufDataEncoderContext(outputStream, this.objectEncoders, this.valueEncoders, this.fallbackEncoder).encode(obj);
}
/* loaded from: classes3.dex */
public static final class Builder implements EncoderConfig<Builder> {
private static final ObjectEncoder<Object> DEFAULT_FALLBACK_ENCODER = new a(1);
private final Map<Class<?>, ObjectEncoder<?>> objectEncoders = new HashMap();
private final Map<Class<?>, ValueEncoder<?>> valueEncoders = new HashMap();
private ObjectEncoder<Object> fallbackEncoder = DEFAULT_FALLBACK_ENCODER;
public static /* synthetic */ void lambda$static$0(Object obj, ObjectEncoderContext objectEncoderContext) throws IOException {
throw new EncodingException("Couldn't find encoder for type " + obj.getClass().getCanonicalName());
}
public ProtobufEncoder build() {
return new ProtobufEncoder(new HashMap(this.objectEncoders), new HashMap(this.valueEncoders), this.fallbackEncoder);
}
public Builder configureWith(Configurator configurator) {
configurator.configure(this);
return this;
}
public Builder registerFallbackEncoder(ObjectEncoder<Object> objectEncoder) {
this.fallbackEncoder = objectEncoder;
return this;
}
@Override // com.google.firebase.encoders.config.EncoderConfig
public <U> Builder registerEncoder(Class<U> cls, ObjectEncoder<? super U> objectEncoder) {
this.objectEncoders.put(cls, objectEncoder);
this.valueEncoders.remove(cls);
return this;
}
@Override // com.google.firebase.encoders.config.EncoderConfig
public <U> Builder registerEncoder(Class<U> cls, ValueEncoder<? super U> valueEncoder) {
this.valueEncoders.put(cls, valueEncoder);
this.objectEncoders.remove(cls);
return this;
}
}
public byte[] encode(Object obj) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
encode(obj, byteArrayOutputStream);
} catch (IOException unused) {
}
return byteArrayOutputStream.toByteArray();
}
}