|
26 | 26 | import org.springframework.data.util.Optionals;
|
27 | 27 | import org.springframework.lang.Nullable;
|
28 | 28 | import org.springframework.util.Assert;
|
| 29 | +import org.springframework.util.ObjectUtils; |
29 | 30 |
|
30 | 31 | import com.mongodb.client.model.ValidationAction;
|
31 | 32 | import com.mongodb.client.model.ValidationLevel;
|
@@ -62,8 +63,7 @@ public CollectionOptions(@Nullable Long size, @Nullable Long maxDocuments, @Null
|
62 | 63 | }
|
63 | 64 |
|
64 | 65 | private CollectionOptions(@Nullable Long size, @Nullable Long maxDocuments, @Nullable Boolean capped,
|
65 |
| - @Nullable Collation collation, ValidationOptions validationOptions, |
66 |
| - @Nullable TimeSeriesOptions timeSeriesOptions) { |
| 66 | + @Nullable Collation collation, ValidationOptions validationOptions, @Nullable TimeSeriesOptions timeSeriesOptions) { |
67 | 67 |
|
68 | 68 | this.maxDocuments = maxDocuments;
|
69 | 69 | this.size = size;
|
@@ -346,6 +346,56 @@ public Optional<TimeSeriesOptions> getTimeSeriesOptions() {
|
346 | 346 | return Optional.ofNullable(timeSeriesOptions);
|
347 | 347 | }
|
348 | 348 |
|
| 349 | + @Override |
| 350 | + public String toString() { |
| 351 | + return "CollectionOptions{" + "maxDocuments=" + maxDocuments + ", size=" + size + ", capped=" + capped |
| 352 | + + ", collation=" + collation + ", validationOptions=" + validationOptions + ", timeSeriesOptions=" |
| 353 | + + timeSeriesOptions + ", disableValidation=" |
| 354 | + + disableValidation() + ", strictValidation=" + strictValidation() + ", moderateValidation=" |
| 355 | + + moderateValidation() + ", warnOnValidationError=" + warnOnValidationError() + ", failOnValidationError=" |
| 356 | + + failOnValidationError() + '}'; |
| 357 | + } |
| 358 | + |
| 359 | + @Override |
| 360 | + public boolean equals(@Nullable Object o) { |
| 361 | + if (this == o) { |
| 362 | + return true; |
| 363 | + } |
| 364 | + if (o == null || getClass() != o.getClass()) { |
| 365 | + return false; |
| 366 | + } |
| 367 | + |
| 368 | + CollectionOptions that = (CollectionOptions) o; |
| 369 | + |
| 370 | + if (!ObjectUtils.nullSafeEquals(maxDocuments, that.maxDocuments)) { |
| 371 | + return false; |
| 372 | + } |
| 373 | + if (!ObjectUtils.nullSafeEquals(size, that.size)) { |
| 374 | + return false; |
| 375 | + } |
| 376 | + if (!ObjectUtils.nullSafeEquals(capped, that.capped)) { |
| 377 | + return false; |
| 378 | + } |
| 379 | + if (!ObjectUtils.nullSafeEquals(collation, that.collation)) { |
| 380 | + return false; |
| 381 | + } |
| 382 | + if (!ObjectUtils.nullSafeEquals(validationOptions, that.validationOptions)) { |
| 383 | + return false; |
| 384 | + } |
| 385 | + return ObjectUtils.nullSafeEquals(timeSeriesOptions, that.timeSeriesOptions); |
| 386 | + } |
| 387 | + |
| 388 | + @Override |
| 389 | + public int hashCode() { |
| 390 | + int result = ObjectUtils.nullSafeHashCode(maxDocuments); |
| 391 | + result = 31 * result + ObjectUtils.nullSafeHashCode(size); |
| 392 | + result = 31 * result + ObjectUtils.nullSafeHashCode(capped); |
| 393 | + result = 31 * result + ObjectUtils.nullSafeHashCode(collation); |
| 394 | + result = 31 * result + ObjectUtils.nullSafeHashCode(validationOptions); |
| 395 | + result = 31 * result + ObjectUtils.nullSafeHashCode(timeSeriesOptions); |
| 396 | + return result; |
| 397 | + } |
| 398 | + |
349 | 399 | /**
|
350 | 400 | * Encapsulation of ValidationOptions options.
|
351 | 401 | *
|
@@ -440,6 +490,40 @@ public Optional<ValidationAction> getValidationAction() {
|
440 | 490 | boolean isEmpty() {
|
441 | 491 | return !Optionals.isAnyPresent(getValidator(), getValidationAction(), getValidationLevel());
|
442 | 492 | }
|
| 493 | + |
| 494 | + @Override |
| 495 | + public String toString() { |
| 496 | + |
| 497 | + return "ValidationOptions{" + "validator=" + validator + ", validationLevel=" + validationLevel |
| 498 | + + ", validationAction=" + validationAction + '}'; |
| 499 | + } |
| 500 | + |
| 501 | + @Override |
| 502 | + public boolean equals(@Nullable Object o) { |
| 503 | + if (this == o) { |
| 504 | + return true; |
| 505 | + } |
| 506 | + if (o == null || getClass() != o.getClass()) { |
| 507 | + return false; |
| 508 | + } |
| 509 | + |
| 510 | + ValidationOptions that = (ValidationOptions) o; |
| 511 | + |
| 512 | + if (!ObjectUtils.nullSafeEquals(validator, that.validator)) { |
| 513 | + return false; |
| 514 | + } |
| 515 | + if (validationLevel != that.validationLevel) |
| 516 | + return false; |
| 517 | + return validationAction == that.validationAction; |
| 518 | + } |
| 519 | + |
| 520 | + @Override |
| 521 | + public int hashCode() { |
| 522 | + int result = ObjectUtils.nullSafeHashCode(validator); |
| 523 | + result = 31 * result + ObjectUtils.nullSafeHashCode(validationLevel); |
| 524 | + result = 31 * result + ObjectUtils.nullSafeHashCode(validationAction); |
| 525 | + return result; |
| 526 | + } |
443 | 527 | }
|
444 | 528 |
|
445 | 529 | /**
|
@@ -525,5 +609,40 @@ public String getMetaField() {
|
525 | 609 | public GranularityDefinition getGranularity() {
|
526 | 610 | return granularity;
|
527 | 611 | }
|
| 612 | + |
| 613 | + @Override |
| 614 | + public String toString() { |
| 615 | + |
| 616 | + return "TimeSeriesOptions{" + "timeField='" + timeField + '\'' + ", metaField='" + metaField + '\'' |
| 617 | + + ", granularity=" + granularity + '}'; |
| 618 | + } |
| 619 | + |
| 620 | + @Override |
| 621 | + public boolean equals(@Nullable Object o) { |
| 622 | + if (this == o) { |
| 623 | + return true; |
| 624 | + } |
| 625 | + if (o == null || getClass() != o.getClass()) { |
| 626 | + return false; |
| 627 | + } |
| 628 | + |
| 629 | + TimeSeriesOptions that = (TimeSeriesOptions) o; |
| 630 | + |
| 631 | + if (!ObjectUtils.nullSafeEquals(timeField, that.timeField)) { |
| 632 | + return false; |
| 633 | + } |
| 634 | + if (!ObjectUtils.nullSafeEquals(metaField, that.metaField)) { |
| 635 | + return false; |
| 636 | + } |
| 637 | + return ObjectUtils.nullSafeEquals(granularity, that.granularity); |
| 638 | + } |
| 639 | + |
| 640 | + @Override |
| 641 | + public int hashCode() { |
| 642 | + int result = ObjectUtils.nullSafeHashCode(timeField); |
| 643 | + result = 31 * result + ObjectUtils.nullSafeHashCode(metaField); |
| 644 | + result = 31 * result + ObjectUtils.nullSafeHashCode(granularity); |
| 645 | + return result; |
| 646 | + } |
528 | 647 | }
|
529 | 648 | }
|
0 commit comments