203 lines
7.2 KiB
Java
203 lines
7.2 KiB
Java
package com.google.firebase.firestore.model;
|
|
|
|
import com.airbnb.deeplinkdispatch.UrlTreeKt;
|
|
import o.sbb;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class MutableDocument implements Document {
|
|
private DocumentState documentState;
|
|
private DocumentType documentType;
|
|
private final DocumentKey key;
|
|
private SnapshotVersion readTime;
|
|
private ObjectValue value;
|
|
private SnapshotVersion version;
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes2.dex */
|
|
public enum DocumentState {
|
|
HAS_LOCAL_MUTATIONS,
|
|
HAS_COMMITTED_MUTATIONS,
|
|
SYNCED
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes2.dex */
|
|
public enum DocumentType {
|
|
INVALID,
|
|
FOUND_DOCUMENT,
|
|
NO_DOCUMENT,
|
|
UNKNOWN_DOCUMENT
|
|
}
|
|
|
|
private MutableDocument(DocumentKey documentKey) {
|
|
this.key = documentKey;
|
|
this.readTime = SnapshotVersion.NONE;
|
|
}
|
|
|
|
private MutableDocument(DocumentKey documentKey, DocumentType documentType, SnapshotVersion snapshotVersion, SnapshotVersion snapshotVersion2, ObjectValue objectValue, DocumentState documentState) {
|
|
this.key = documentKey;
|
|
this.version = snapshotVersion;
|
|
this.readTime = snapshotVersion2;
|
|
this.documentType = documentType;
|
|
this.documentState = documentState;
|
|
this.value = objectValue;
|
|
}
|
|
|
|
public static MutableDocument newInvalidDocument(DocumentKey documentKey) {
|
|
DocumentType documentType = DocumentType.INVALID;
|
|
SnapshotVersion snapshotVersion = SnapshotVersion.NONE;
|
|
return new MutableDocument(documentKey, documentType, snapshotVersion, snapshotVersion, new ObjectValue(), DocumentState.SYNCED);
|
|
}
|
|
|
|
public static MutableDocument newFoundDocument(DocumentKey documentKey, SnapshotVersion snapshotVersion, ObjectValue objectValue) {
|
|
return new MutableDocument(documentKey).convertToFoundDocument(snapshotVersion, objectValue);
|
|
}
|
|
|
|
public static MutableDocument newNoDocument(DocumentKey documentKey, SnapshotVersion snapshotVersion) {
|
|
return new MutableDocument(documentKey).convertToNoDocument(snapshotVersion);
|
|
}
|
|
|
|
public static MutableDocument newUnknownDocument(DocumentKey documentKey, SnapshotVersion snapshotVersion) {
|
|
return new MutableDocument(documentKey).convertToUnknownDocument(snapshotVersion);
|
|
}
|
|
|
|
public final MutableDocument convertToFoundDocument(SnapshotVersion snapshotVersion, ObjectValue objectValue) {
|
|
this.version = snapshotVersion;
|
|
this.documentType = DocumentType.FOUND_DOCUMENT;
|
|
this.value = objectValue;
|
|
this.documentState = DocumentState.SYNCED;
|
|
return this;
|
|
}
|
|
|
|
public final MutableDocument convertToNoDocument(SnapshotVersion snapshotVersion) {
|
|
this.version = snapshotVersion;
|
|
this.documentType = DocumentType.NO_DOCUMENT;
|
|
this.value = new ObjectValue();
|
|
this.documentState = DocumentState.SYNCED;
|
|
return this;
|
|
}
|
|
|
|
public final MutableDocument convertToUnknownDocument(SnapshotVersion snapshotVersion) {
|
|
this.version = snapshotVersion;
|
|
this.documentType = DocumentType.UNKNOWN_DOCUMENT;
|
|
this.value = new ObjectValue();
|
|
this.documentState = DocumentState.HAS_COMMITTED_MUTATIONS;
|
|
return this;
|
|
}
|
|
|
|
public final MutableDocument setHasCommittedMutations() {
|
|
this.documentState = DocumentState.HAS_COMMITTED_MUTATIONS;
|
|
return this;
|
|
}
|
|
|
|
public final MutableDocument setHasLocalMutations() {
|
|
this.documentState = DocumentState.HAS_LOCAL_MUTATIONS;
|
|
this.version = SnapshotVersion.NONE;
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final boolean hasLocalMutations() {
|
|
return this.documentState.equals(DocumentState.HAS_LOCAL_MUTATIONS);
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final boolean hasCommittedMutations() {
|
|
return this.documentState.equals(DocumentState.HAS_COMMITTED_MUTATIONS);
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final boolean hasPendingWrites() {
|
|
return hasLocalMutations() || hasCommittedMutations();
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final sbb getField(FieldPath fieldPath) {
|
|
return getData().get(fieldPath);
|
|
}
|
|
|
|
public final boolean isValidDocument() {
|
|
return !this.documentType.equals(DocumentType.INVALID);
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final boolean isFoundDocument() {
|
|
return this.documentType.equals(DocumentType.FOUND_DOCUMENT);
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final boolean isNoDocument() {
|
|
return this.documentType.equals(DocumentType.NO_DOCUMENT);
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final boolean isUnknownDocument() {
|
|
return this.documentType.equals(DocumentType.UNKNOWN_DOCUMENT);
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final MutableDocument mutableCopy() {
|
|
return new MutableDocument(this.key, this.documentType, this.version, this.readTime, this.value.m234clone(), this.documentState);
|
|
}
|
|
|
|
public final boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (obj == null || getClass() != obj.getClass()) {
|
|
return false;
|
|
}
|
|
MutableDocument mutableDocument = (MutableDocument) obj;
|
|
if (this.key.equals(mutableDocument.key) && this.version.equals(mutableDocument.version) && this.documentType.equals(mutableDocument.documentType) && this.documentState.equals(mutableDocument.documentState)) {
|
|
return this.value.equals(mutableDocument.value);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public final int hashCode() {
|
|
return this.key.hashCode();
|
|
}
|
|
|
|
public final String toString() {
|
|
StringBuilder sb = new StringBuilder("Document{key=");
|
|
sb.append(this.key);
|
|
sb.append(", version=");
|
|
sb.append(this.version);
|
|
sb.append(", readTime=");
|
|
sb.append(this.readTime);
|
|
sb.append(", type=");
|
|
sb.append(this.documentType);
|
|
sb.append(", documentState=");
|
|
sb.append(this.documentState);
|
|
sb.append(", value=");
|
|
sb.append(this.value);
|
|
sb.append(UrlTreeKt.componentParamSuffixChar);
|
|
return sb.toString();
|
|
}
|
|
|
|
public final MutableDocument setReadTime(SnapshotVersion snapshotVersion) {
|
|
this.readTime = snapshotVersion;
|
|
return this;
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final SnapshotVersion getVersion() {
|
|
return this.version;
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final SnapshotVersion getReadTime() {
|
|
return this.readTime;
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final DocumentKey getKey() {
|
|
return this.key;
|
|
}
|
|
|
|
@Override // com.google.firebase.firestore.model.Document
|
|
public final ObjectValue getData() {
|
|
return this.value;
|
|
}
|
|
}
|