@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
/** * * * <pre> * A starting point for the query results. * </pre> * * <code>.google.firestore.v1beta1.Cursor start_at = 7;</code> */ public Builder mergeStartAt(com.google.firestore.v1beta1.Cursor value) { if (startAtBuilder_ == null) { if (startAt_ != null) { startAt_ = com.google.firestore.v1beta1.Cursor.newBuilder(startAt_) .mergeFrom(value) .buildPartial(); } else { startAt_ = value; } onChanged(); } else { startAtBuilder_.mergeFrom(value); } return this; } /**
/** * * * <pre> * A end point for the query results. * </pre> * * <code>.google.firestore.v1beta1.Cursor end_at = 8;</code> */ public Builder mergeEndAt(com.google.firestore.v1beta1.Cursor value) { if (endAtBuilder_ == null) { if (endAt_ != null) { endAt_ = com.google.firestore.v1beta1.Cursor.newBuilder(endAt_) .mergeFrom(value) .buildPartial(); } else { endAt_ = value; } onChanged(); } else { endAtBuilder_.mergeFrom(value); } return this; } /**
private Cursor createCursor(List<FieldOrder> order, Object[] fieldValues, boolean before) { Cursor.Builder result = Cursor.newBuilder(); Preconditions.checkState( fieldValues.length != 0, "At least one cursor value must be specified."); Preconditions.checkState( fieldValues.length <= order.size(), "Too many cursor values specified. The specified values must match the " + "orderBy() constraints of the query."); Iterator<FieldOrder> fieldOrderIterator = order.iterator(); for (Object fieldValue : fieldValues) { Object sanitizedValue; FieldPath fieldPath = fieldOrderIterator.next().fieldPath; if (fieldPath.equals(FieldPath.DOCUMENT_ID)) { sanitizedValue = convertReference(fieldValue); } else { sanitizedValue = CustomClassMapper.serialize(fieldValue); } Value encodedValue = UserDataConverter.encodeValue(fieldPath, sanitizedValue, UserDataConverter.ARGUMENT); if (encodedValue == null) { throw FirestoreException.invalidState( "Cannot use FieldValue.delete() or FieldValue.serverTimestamp() in a query boundary"); } result.addValues(encodedValue); } result.setBefore(before); return result.build(); }
public static StructuredQuery startAt(Value value, boolean before) { StructuredQuery.Builder structuredQuery = StructuredQuery.newBuilder(); structuredQuery.setStartAt(Cursor.newBuilder().setBefore(before).addValues(value)); return structuredQuery.build(); }
public static StructuredQuery endAt(Value value, boolean before) { StructuredQuery.Builder structuredQuery = StructuredQuery.newBuilder(); structuredQuery.setEndAt(Cursor.newBuilder().setBefore(before).addValues(value)); return structuredQuery.build(); }
private Cursor createCursor(List<FieldOrder> order, Object[] fieldValues, boolean before) { Cursor.Builder result = Cursor.newBuilder(); Preconditions.checkState( fieldValues.length != 0, "At least one cursor value must be specified."); Preconditions.checkState( fieldValues.length <= order.size(), "Too many cursor values specified. The specified values must match the " + "orderBy() constraints of the query."); Iterator<FieldOrder> fieldOrderIterator = order.iterator(); for (Object fieldValue : fieldValues) { Object sanitizedValue; FieldPath fieldPath = fieldOrderIterator.next().fieldPath; if (fieldPath.equals(FieldPath.DOCUMENT_ID)) { sanitizedValue = convertReference(fieldValue); } else { sanitizedValue = CustomClassMapper.serialize(fieldValue); } Value encodedValue = UserDataConverter.encodeValue(fieldPath, sanitizedValue, UserDataConverter.ARGUMENT); if (encodedValue == null) { throw FirestoreException.invalidState( "Cannot use FieldValue.delete() or FieldValue.serverTimestamp() in a query boundary"); } result.addValues(encodedValue); } result.setBefore(before); return result.build(); }