├── .editorconfig ├── .evergreen ├── .evg.yml ├── git-archive.sh ├── javaConfig.bash ├── prepare-oidc-get-tokens-docker.sh ├── prepare-oidc-server-docker.sh ├── publish.sh ├── run-atlas-data-lake-test.sh ├── run-atlas-search-index-management-tests.sh ├── run-atlas-search-tests.sh ├── run-connectivity-tests.sh ├── run-csfle-aws-from-environment.sh ├── run-csfle-tests-with-mongocryptd.sh ├── run-deployed-lambda-aws-tests.sh ├── run-fle-on-demand-credential-test.sh ├── run-graalvm-native-image-app.sh ├── run-gssapi-auth-test.sh ├── run-kms-tls-tests.sh ├── run-kotlin-tests.sh ├── run-load-balancer-tests.sh ├── run-mongodb-aws-ecs-test.sh ├── run-mongodb-aws-test.sh ├── run-mongodb-oidc-test.sh ├── run-ocsp-test.sh ├── run-perf-tests.sh ├── run-plain-auth-test.sh ├── run-reactive-streams-tck-tests.sh ├── run-scala-tests.sh ├── run-serverless-tests.sh ├── run-socket-tests.sh ├── run-socks5-tests.sh ├── run-tests.sh ├── ssdlc-report.sh ├── static-checks.sh └── template_ssdlc_compliance_report.md ├── .git-blame-ignore-revs ├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ ├── bump-and-tag.sh │ ├── bump-version.sh │ └── release.yml ├── .gitignore ├── .gitmodules ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── THIRD-PARTY-NOTICES ├── bom └── build.gradle.kts ├── bson-kotlin ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── org │ │ └── bson │ │ └── codecs │ │ └── kotlin │ │ ├── ArrayCodec.kt │ │ ├── ArrayCodecProvider.kt │ │ ├── DataClassCodec.kt │ │ └── DataClassCodecProvider.kt │ └── test │ └── kotlin │ └── org │ └── bson │ └── codecs │ └── kotlin │ ├── DataClassCodecProviderTest.kt │ ├── DataClassCodecTest.kt │ └── samples │ └── DataClasses.kt ├── bson-kotlinx ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── org │ │ └── bson │ │ └── codecs │ │ └── kotlinx │ │ ├── BsonConfiguration.kt │ │ ├── BsonDecoder.kt │ │ ├── BsonEncoder.kt │ │ ├── BsonSerializers.kt │ │ ├── DateTimeSerializers.kt │ │ ├── JsonBsonDecoder.kt │ │ ├── JsonBsonEncoder.kt │ │ ├── KotlinSerializerCodec.kt │ │ ├── KotlinSerializerCodecProvider.kt │ │ └── utils │ │ ├── BsonCodecUtils.kt │ │ └── SerializationModuleUtils.kt │ └── test │ └── kotlin │ └── org │ └── bson │ └── codecs │ └── kotlinx │ ├── KotlinSerializerCodecProviderTest.kt │ ├── KotlinSerializerCodecTest.kt │ └── samples │ └── DataClasses.kt ├── bson-record-codec ├── build.gradle.kts └── src │ ├── main │ └── org │ │ └── bson │ │ └── codecs │ │ └── record │ │ ├── RecordCodec.java │ │ ├── RecordCodecProvider.java │ │ └── package-info.java │ └── test │ └── unit │ └── org │ └── bson │ └── codecs │ └── record │ ├── RecordCodecProviderTest.java │ ├── RecordCodecTest.java │ └── samples │ ├── TestRecordEmbedded.java │ ├── TestRecordParameterized.java │ ├── TestRecordWithIllegalBsonCreatorOnConstructor.java │ ├── TestRecordWithIllegalBsonCreatorOnMethod.java │ ├── TestRecordWithIllegalBsonDiscriminatorOnRecord.java │ ├── TestRecordWithIllegalBsonExtraElementsOnAccessor.java │ ├── TestRecordWithIllegalBsonExtraElementsOnComponent.java │ ├── TestRecordWithIllegalBsonIdOnAccessor.java │ ├── TestRecordWithIllegalBsonIdOnCanonicalConstructor.java │ ├── TestRecordWithIllegalBsonIgnoreOnAccessor.java │ ├── TestRecordWithIllegalBsonIgnoreOnComponent.java │ ├── TestRecordWithIllegalBsonPropertyOnAccessor.java │ ├── TestRecordWithIllegalBsonPropertyOnCanonicalConstructor.java │ ├── TestRecordWithIllegalBsonRepresentationOnAccessor.java │ ├── TestRecordWithListOfListOfRecords.java │ ├── TestRecordWithListOfRecords.java │ ├── TestRecordWithMapOfListOfRecords.java │ ├── TestRecordWithMapOfRecords.java │ ├── TestRecordWithNestedParameterized.java │ ├── TestRecordWithNestedParameterizedRecord.java │ ├── TestRecordWithNullableField.java │ ├── TestRecordWithParameterizedRecord.java │ ├── TestRecordWithPojoAnnotations.java │ ├── TestSelfReferentialHolderRecord.java │ └── TestSelfReferentialRecord.java ├── bson-scala ├── build.gradle.kts └── src │ ├── main │ ├── scala-2.13+ │ │ └── org │ │ │ └── mongodb │ │ │ └── scala │ │ │ └── bson │ │ │ └── collection │ │ │ ├── immutable │ │ │ └── Document.scala │ │ │ └── mutable │ │ │ └── Document.scala │ ├── scala-2.13- │ │ └── org │ │ │ └── mongodb │ │ │ └── scala │ │ │ └── bson │ │ │ └── collection │ │ │ ├── immutable │ │ │ └── Document.scala │ │ │ └── mutable │ │ │ └── Document.scala │ └── scala │ │ └── org │ │ └── mongodb │ │ └── scala │ │ └── bson │ │ ├── BsonElement.scala │ │ ├── BsonMagnets.scala │ │ ├── BsonTransformer.scala │ │ ├── BsonValue.scala │ │ ├── DefaultHelper.scala │ │ ├── annotations │ │ ├── BsonIgnore.scala │ │ └── BsonProperty.scala │ │ ├── codecs │ │ ├── DocumentCodecProvider.scala │ │ ├── ImmutableDocumentCodec.scala │ │ ├── IterableCodec.scala │ │ ├── IterableCodecProvider.scala │ │ ├── Macros.scala │ │ ├── MutableDocumentCodec.scala │ │ ├── macrocodecs │ │ │ ├── CaseClassCodec.scala │ │ │ ├── CaseClassProvider.scala │ │ │ └── MacroCodec.scala │ │ └── package.scala │ │ ├── collection │ │ ├── BaseDocument.scala │ │ └── package.scala │ │ ├── conversions │ │ └── package.scala │ │ └── package.scala │ └── test │ └── scala │ └── org │ └── mongodb │ └── scala │ └── bson │ ├── BaseSpec.scala │ ├── BsonTransformerSpec.scala │ ├── BsonValueSpec.scala │ ├── codecs │ ├── DocumentCodecProviderSpec.scala │ ├── ImmutableDocumentCodecSpec.scala │ ├── IterableCodecProviderSpec.scala │ ├── IterableCodecSpec.scala │ ├── MacrosSpec.scala │ ├── MutableDocumentCodecSpec.scala │ └── Registry.scala │ └── collections │ ├── DocumentImplicitTypeConversion.scala │ ├── ImmutableDocumentSpec.scala │ └── MutableDocumentSpec.scala ├── bson ├── build.gradle.kts └── src │ ├── main │ ├── org │ │ └── bson │ │ │ ├── AbstractBsonReader.java │ │ │ ├── AbstractBsonWriter.java │ │ │ ├── BSON.java │ │ │ ├── BSONCallback.java │ │ │ ├── BSONCallbackAdapter.java │ │ │ ├── BSONDecoder.java │ │ │ ├── BSONEncoder.java │ │ │ ├── BSONException.java │ │ │ ├── BSONObject.java │ │ │ ├── BasicBSONCallback.java │ │ │ ├── BasicBSONDecoder.java │ │ │ ├── BasicBSONEncoder.java │ │ │ ├── BasicBSONObject.java │ │ │ ├── BinaryVector.java │ │ │ ├── Bits.java │ │ │ ├── BsonArray.java │ │ │ ├── BsonBinary.java │ │ │ ├── BsonBinaryReader.java │ │ │ ├── BsonBinarySubType.java │ │ │ ├── BsonBinaryWriter.java │ │ │ ├── BsonBinaryWriterSettings.java │ │ │ ├── BsonBoolean.java │ │ │ ├── BsonContextType.java │ │ │ ├── BsonDateTime.java │ │ │ ├── BsonDbPointer.java │ │ │ ├── BsonDecimal128.java │ │ │ ├── BsonDocument.java │ │ │ ├── BsonDocumentReader.java │ │ │ ├── BsonDocumentWrapper.java │ │ │ ├── BsonDocumentWriter.java │ │ │ ├── BsonDouble.java │ │ │ ├── BsonElement.java │ │ │ ├── BsonInt32.java │ │ │ ├── BsonInt64.java │ │ │ ├── BsonInvalidOperationException.java │ │ │ ├── BsonJavaScript.java │ │ │ ├── BsonJavaScriptWithScope.java │ │ │ ├── BsonMaxKey.java │ │ │ ├── BsonMaximumSizeExceededException.java │ │ │ ├── BsonMinKey.java │ │ │ ├── BsonNull.java │ │ │ ├── BsonNumber.java │ │ │ ├── BsonObjectId.java │ │ │ ├── BsonReader.java │ │ │ ├── BsonReaderMark.java │ │ │ ├── BsonRegularExpression.java │ │ │ ├── BsonSerializationException.java │ │ │ ├── BsonString.java │ │ │ ├── BsonSymbol.java │ │ │ ├── BsonTimestamp.java │ │ │ ├── BsonType.java │ │ │ ├── BsonUndefined.java │ │ │ ├── BsonValue.java │ │ │ ├── BsonWriter.java │ │ │ ├── BsonWriterSettings.java │ │ │ ├── ByteBuf.java │ │ │ ├── ByteBufNIO.java │ │ │ ├── Document.java │ │ │ ├── EmptyBSONCallback.java │ │ │ ├── FieldNameValidator.java │ │ │ ├── Float32BinaryVector.java │ │ │ ├── Int8BinaryVector.java │ │ │ ├── LazyBSONCallback.java │ │ │ ├── LazyBSONDecoder.java │ │ │ ├── LazyBSONList.java │ │ │ ├── LazyBSONObject.java │ │ │ ├── NoOpFieldNameValidator.java │ │ │ ├── PackedBitBinaryVector.java │ │ │ ├── RawBsonArray.java │ │ │ ├── RawBsonDocument.java │ │ │ ├── RawBsonValueHelper.java │ │ │ ├── StringUtils.java │ │ │ ├── Transformer.java │ │ │ ├── UuidRepresentation.java │ │ │ ├── annotations │ │ │ ├── Beta.java │ │ │ ├── Reason.java │ │ │ └── package-info.java │ │ │ ├── assertions │ │ │ ├── Assertions.java │ │ │ └── package-info.java │ │ │ ├── codecs │ │ │ ├── AbstractCollectionCodec.java │ │ │ ├── AbstractMapCodec.java │ │ │ ├── AtomicBooleanCodec.java │ │ │ ├── AtomicIntegerCodec.java │ │ │ ├── AtomicLongCodec.java │ │ │ ├── BigDecimalCodec.java │ │ │ ├── BinaryCodec.java │ │ │ ├── BinaryVectorCodec.java │ │ │ ├── BooleanCodec.java │ │ │ ├── BsonArrayCodec.java │ │ │ ├── BsonBinaryCodec.java │ │ │ ├── BsonBooleanCodec.java │ │ │ ├── BsonCodec.java │ │ │ ├── BsonCodecProvider.java │ │ │ ├── BsonDBPointerCodec.java │ │ │ ├── BsonDateTimeCodec.java │ │ │ ├── BsonDecimal128Codec.java │ │ │ ├── BsonDocumentCodec.java │ │ │ ├── BsonDocumentWrapperCodec.java │ │ │ ├── BsonDoubleCodec.java │ │ │ ├── BsonInt32Codec.java │ │ │ ├── BsonInt64Codec.java │ │ │ ├── BsonJavaScriptCodec.java │ │ │ ├── BsonJavaScriptWithScopeCodec.java │ │ │ ├── BsonMaxKeyCodec.java │ │ │ ├── BsonMinKeyCodec.java │ │ │ ├── BsonNullCodec.java │ │ │ ├── BsonObjectIdCodec.java │ │ │ ├── BsonRegularExpressionCodec.java │ │ │ ├── BsonStringCodec.java │ │ │ ├── BsonSymbolCodec.java │ │ │ ├── BsonTimestampCodec.java │ │ │ ├── BsonTypeClassMap.java │ │ │ ├── BsonTypeCodecMap.java │ │ │ ├── BsonUndefinedCodec.java │ │ │ ├── BsonValueCodec.java │ │ │ ├── BsonValueCodecProvider.java │ │ │ ├── ByteArrayCodec.java │ │ │ ├── ByteCodec.java │ │ │ ├── CharacterCodec.java │ │ │ ├── CodeCodec.java │ │ │ ├── CodeWithScopeCodec.java │ │ │ ├── Codec.java │ │ │ ├── CollectibleCodec.java │ │ │ ├── CollectionCodec.java │ │ │ ├── CollectionCodecProvider.java │ │ │ ├── ContainerCodecHelper.java │ │ │ ├── DateCodec.java │ │ │ ├── Decimal128Codec.java │ │ │ ├── Decoder.java │ │ │ ├── DecoderContext.java │ │ │ ├── DocumentCodec.java │ │ │ ├── DocumentCodecProvider.java │ │ │ ├── DoubleCodec.java │ │ │ ├── Encoder.java │ │ │ ├── EncoderContext.java │ │ │ ├── EnumCodec.java │ │ │ ├── EnumCodecProvider.java │ │ │ ├── Float32BinaryVectorCodec.java │ │ │ ├── FloatCodec.java │ │ │ ├── IdGenerator.java │ │ │ ├── Int8VectorCodec.java │ │ │ ├── IntegerCodec.java │ │ │ ├── IterableCodec.java │ │ │ ├── IterableCodecProvider.java │ │ │ ├── JsonObjectCodec.java │ │ │ ├── JsonObjectCodecProvider.java │ │ │ ├── LongCodec.java │ │ │ ├── MapCodec.java │ │ │ ├── MapCodecProvider.java │ │ │ ├── MaxKeyCodec.java │ │ │ ├── MinKeyCodec.java │ │ │ ├── ObjectIdCodec.java │ │ │ ├── ObjectIdGenerator.java │ │ │ ├── OverridableUuidRepresentationCodec.java │ │ │ ├── OverridableUuidRepresentationUuidCodec.java │ │ │ ├── PackedBitBinaryVectorCodec.java │ │ │ ├── ParameterizedCollectionCodec.java │ │ │ ├── ParameterizedMapCodec.java │ │ │ ├── PatternCodec.java │ │ │ ├── RawBsonDocumentCodec.java │ │ │ ├── RepresentationConfigurable.java │ │ │ ├── ShortCodec.java │ │ │ ├── StringCodec.java │ │ │ ├── SymbolCodec.java │ │ │ ├── UuidCodec.java │ │ │ ├── UuidCodecHelper.java │ │ │ ├── UuidCodecProvider.java │ │ │ ├── ValueCodecProvider.java │ │ │ ├── configuration │ │ │ │ ├── CodecConfigurationException.java │ │ │ │ ├── CodecProvider.java │ │ │ │ ├── CodecRegistries.java │ │ │ │ ├── CodecRegistry.java │ │ │ │ ├── MapOfCodecsProvider.java │ │ │ │ ├── OverridableUuidRepresentationCodecProvider.java │ │ │ │ └── package-info.java │ │ │ ├── jsr310 │ │ │ │ ├── DateTimeBasedCodec.java │ │ │ │ ├── InstantCodec.java │ │ │ │ ├── Jsr310CodecProvider.java │ │ │ │ ├── LocalDateCodec.java │ │ │ │ ├── LocalDateTimeCodec.java │ │ │ │ ├── LocalTimeCodec.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── pojo │ │ │ │ ├── AutomaticPojoCodec.java │ │ │ │ ├── ClassModel.java │ │ │ │ ├── ClassModelBuilder.java │ │ │ │ ├── CollectionPropertyCodecProvider.java │ │ │ │ ├── Convention.java │ │ │ │ ├── ConventionAnnotationImpl.java │ │ │ │ ├── ConventionDefaultsImpl.java │ │ │ │ ├── ConventionObjectIdGeneratorsImpl.java │ │ │ │ ├── ConventionSetPrivateFieldImpl.java │ │ │ │ ├── ConventionUseGettersAsSettersImpl.java │ │ │ │ ├── Conventions.java │ │ │ │ ├── CreatorExecutable.java │ │ │ │ ├── DiscriminatorLookup.java │ │ │ │ ├── Either.java │ │ │ │ ├── EnumPropertyCodecProvider.java │ │ │ │ ├── FallbackPropertyCodecProvider.java │ │ │ │ ├── FieldPropertyAccessor.java │ │ │ │ ├── IdGenerator.java │ │ │ │ ├── IdGenerators.java │ │ │ │ ├── IdPropertyModelHolder.java │ │ │ │ ├── InstanceCreator.java │ │ │ │ ├── InstanceCreatorFactory.java │ │ │ │ ├── InstanceCreatorFactoryImpl.java │ │ │ │ ├── InstanceCreatorImpl.java │ │ │ │ ├── LazyMissingCodec.java │ │ │ │ ├── LazyPropertyModelCodec.java │ │ │ │ ├── MapPropertyCodecProvider.java │ │ │ │ ├── PojoBuilderHelper.java │ │ │ │ ├── PojoCodec.java │ │ │ │ ├── PojoCodecImpl.java │ │ │ │ ├── PojoCodecProvider.java │ │ │ │ ├── PojoSpecializationHelper.java │ │ │ │ ├── PropertyAccessor.java │ │ │ │ ├── PropertyAccessorImpl.java │ │ │ │ ├── PropertyCodecProvider.java │ │ │ │ ├── PropertyCodecRegistry.java │ │ │ │ ├── PropertyCodecRegistryImpl.java │ │ │ │ ├── PropertyMetadata.java │ │ │ │ ├── PropertyModel.java │ │ │ │ ├── PropertyModelBuilder.java │ │ │ │ ├── PropertyModelSerializationImpl.java │ │ │ │ ├── PropertyModelSerializationInlineImpl.java │ │ │ │ ├── PropertyReflectionUtils.java │ │ │ │ ├── PropertySerialization.java │ │ │ │ ├── TypeData.java │ │ │ │ ├── TypeParameterMap.java │ │ │ │ ├── TypeWithTypeParameters.java │ │ │ │ ├── annotations │ │ │ │ ├── BsonCreator.java │ │ │ │ ├── BsonDiscriminator.java │ │ │ │ ├── BsonExtraElements.java │ │ │ │ ├── BsonId.java │ │ │ │ ├── BsonIgnore.java │ │ │ │ ├── BsonProperty.java │ │ │ │ ├── BsonRepresentation.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── conversions │ │ │ ├── Bson.java │ │ │ └── package-info.java │ │ │ ├── diagnostics │ │ │ ├── Logger.java │ │ │ ├── Loggers.java │ │ │ ├── NoOpLogger.java │ │ │ ├── SLF4JLogger.java │ │ │ └── package-info.java │ │ │ ├── internal │ │ │ ├── BsonUtil.java │ │ │ ├── ChildCodecRegistry.java │ │ │ ├── CodecCache.java │ │ │ ├── CycleDetectingCodecRegistry.java │ │ │ ├── LazyCodec.java │ │ │ ├── NumberCodecHelper.java │ │ │ ├── ProvidersCodecRegistry.java │ │ │ ├── StringCodecHelper.java │ │ │ ├── UuidHelper.java │ │ │ └── vector │ │ │ │ └── BinaryVectorHelper.java │ │ │ ├── io │ │ │ ├── BasicOutputBuffer.java │ │ │ ├── BsonInput.java │ │ │ ├── BsonInputMark.java │ │ │ ├── BsonOutput.java │ │ │ ├── ByteBufferBsonInput.java │ │ │ ├── OutputBuffer.java │ │ │ └── package-info.java │ │ │ ├── json │ │ │ ├── Converter.java │ │ │ ├── DateTimeFormatter.java │ │ │ ├── ExtendedJsonBinaryConverter.java │ │ │ ├── ExtendedJsonDateTimeConverter.java │ │ │ ├── ExtendedJsonDecimal128Converter.java │ │ │ ├── ExtendedJsonDoubleConverter.java │ │ │ ├── ExtendedJsonInt32Converter.java │ │ │ ├── ExtendedJsonInt64Converter.java │ │ │ ├── ExtendedJsonMaxKeyConverter.java │ │ │ ├── ExtendedJsonMinKeyConverter.java │ │ │ ├── ExtendedJsonObjectIdConverter.java │ │ │ ├── ExtendedJsonRegularExpressionConverter.java │ │ │ ├── ExtendedJsonTimestampConverter.java │ │ │ ├── ExtendedJsonUndefinedConverter.java │ │ │ ├── JsonBooleanConverter.java │ │ │ ├── JsonBuffer.java │ │ │ ├── JsonDoubleConverter.java │ │ │ ├── JsonInt32Converter.java │ │ │ ├── JsonJavaScriptConverter.java │ │ │ ├── JsonMode.java │ │ │ ├── JsonNullConverter.java │ │ │ ├── JsonObject.java │ │ │ ├── JsonParseException.java │ │ │ ├── JsonReader.java │ │ │ ├── JsonScanner.java │ │ │ ├── JsonStreamBuffer.java │ │ │ ├── JsonStringBuffer.java │ │ │ ├── JsonStringConverter.java │ │ │ ├── JsonSymbolConverter.java │ │ │ ├── JsonToken.java │ │ │ ├── JsonTokenType.java │ │ │ ├── JsonWriter.java │ │ │ ├── JsonWriterSettings.java │ │ │ ├── LegacyExtendedJsonBinaryConverter.java │ │ │ ├── LegacyExtendedJsonDateTimeConverter.java │ │ │ ├── LegacyExtendedJsonRegularExpressionConverter.java │ │ │ ├── RelaxedExtendedJsonDateTimeConverter.java │ │ │ ├── RelaxedExtendedJsonDoubleConverter.java │ │ │ ├── RelaxedExtendedJsonInt64Converter.java │ │ │ ├── ShellBinaryConverter.java │ │ │ ├── ShellDateTimeConverter.java │ │ │ ├── ShellDecimal128Converter.java │ │ │ ├── ShellInt64Converter.java │ │ │ ├── ShellMaxKeyConverter.java │ │ │ ├── ShellMinKeyConverter.java │ │ │ ├── ShellObjectIdConverter.java │ │ │ ├── ShellRegularExpressionConverter.java │ │ │ ├── ShellTimestampConverter.java │ │ │ ├── ShellUndefinedConverter.java │ │ │ ├── StrictCharacterStreamJsonWriter.java │ │ │ ├── StrictCharacterStreamJsonWriterSettings.java │ │ │ ├── StrictJsonWriter.java │ │ │ ├── UuidStringValidator.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── types │ │ │ ├── BSONTimestamp.java │ │ │ ├── BasicBSONList.java │ │ │ ├── Binary.java │ │ │ ├── Code.java │ │ │ ├── CodeWScope.java │ │ │ ├── CodeWithScope.java │ │ │ ├── Decimal128.java │ │ │ ├── MaxKey.java │ │ │ ├── MinKey.java │ │ │ ├── ObjectId.java │ │ │ ├── StringRangeSet.java │ │ │ ├── Symbol.java │ │ │ └── package-info.java │ └── resources │ │ └── META-INF │ │ └── native-image │ │ ├── native-image.properties │ │ └── reflect-config.json │ └── test │ ├── resources │ ├── bson-binary-vector │ │ ├── float32.json │ │ ├── int8.json │ │ └── packed_bit.json │ └── bson │ │ ├── array.json │ │ ├── binary.json │ │ ├── boolean.json │ │ ├── code.json │ │ ├── code_w_scope.json │ │ ├── datetime.json │ │ ├── dbpointer.json │ │ ├── dbref.json │ │ ├── decimal128-1.json │ │ ├── decimal128-2.json │ │ ├── decimal128-3.json │ │ ├── decimal128-4.json │ │ ├── decimal128-5.json │ │ ├── decimal128-6.json │ │ ├── decimal128-7.json │ │ ├── document.json │ │ ├── double.json │ │ ├── int32.json │ │ ├── int64.json │ │ ├── maxkey.json │ │ ├── minkey.json │ │ ├── multi-type-deprecated.json │ │ ├── multi-type.json │ │ ├── null.json │ │ ├── oid.json │ │ ├── regex.json │ │ ├── string.json │ │ ├── symbol.json │ │ ├── timestamp.json │ │ ├── top.json │ │ └── undefined.json │ └── unit │ ├── org │ └── bson │ │ ├── BasicBSONDecoderSpecification.groovy │ │ ├── BasicBSONEncoderSpecification.groovy │ │ ├── BinaryVectorTest.java │ │ ├── BitsTest.java │ │ ├── BsonArraySpecification.groovy │ │ ├── BsonBinaryReaderSpecification.groovy │ │ ├── BsonBinaryReaderTest.java │ │ ├── BsonBinarySpecification.groovy │ │ ├── BsonBinarySubTypeSpecification.groovy │ │ ├── BsonBinaryTest.java │ │ ├── BsonBinaryWriterTest.java │ │ ├── BsonDocumentReaderSpecification.groovy │ │ ├── BsonDocumentSpecification.groovy │ │ ├── BsonDocumentTest.java │ │ ├── BsonDocumentWrapperSpecification.groovy │ │ ├── BsonDocumentWriterSpecification.groovy │ │ ├── BsonHelper.java │ │ ├── BsonNumberSpecification.groovy │ │ ├── BsonRegularExpressionSpecification.groovy │ │ ├── BsonTimestampSpecification.groovy │ │ ├── BsonValueSpecification.groovy │ │ ├── BsonWriterSpecification.groovy │ │ ├── DocumentTest.java │ │ ├── GenericBsonTest.java │ │ ├── LazyBSONDecoderTest.java │ │ ├── LazyBSONListTest.java │ │ ├── LazyBSONObjectSpecification.groovy │ │ ├── LimitedLookaheadMarkSpecification.groovy │ │ ├── RawBsonArraySpecification.groovy │ │ ├── RawBsonDocumentSpecification.groovy │ │ ├── codecs │ │ ├── AtomicCodecSpecification.groovy │ │ ├── AtomicIntegerCodecTest.java │ │ ├── AtomicLongCodecTest.java │ │ ├── BigDecimalCodecSpecification.groovy │ │ ├── BinaryBinaryVectorCodecTest.java │ │ ├── BsonCodecProviderSpecification.groovy │ │ ├── BsonCodecSpecification.groovy │ │ ├── BsonDocumentCodecSpecification.groovy │ │ ├── BsonDocumentSubclass.java │ │ ├── BsonTypeClassMapSpecification.groovy │ │ ├── BsonTypeCodecMapSpecification.groovy │ │ ├── BsonValueCodecProviderSpecification.groovy │ │ ├── ByteCodecTest.java │ │ ├── CharacterCodecSpecification.groovy │ │ ├── CodeWithScopeSpecification.groovy │ │ ├── CodecTestCase.java │ │ ├── CodecTestUtil.java │ │ ├── CollectionCodecProviderTest.java │ │ ├── CollectionCodecSpecification.groovy │ │ ├── DocumentCodecSpecification.groovy │ │ ├── DocumentCodecTest.java │ │ ├── DoubleCodecTest.java │ │ ├── EnumCodecProviderTest.java │ │ ├── EnumCodecTest.java │ │ ├── FloatCodecTest.java │ │ ├── IntegerCodecTest.java │ │ ├── IterableCodecProviderSpecification.groovy │ │ ├── IterableCodecSpecification.groovy │ │ ├── JsonObjectCodecProviderTest.java │ │ ├── JsonObjectCodecSpecification.groovy │ │ ├── LongCodecTest.java │ │ ├── MapCodecProviderTest.java │ │ ├── MapCodecSpecification.groovy │ │ ├── OverridableUuidRepresentationUuidCodecSpecification.groovy │ │ ├── RawBsonDocumentCodecSpecification.groovy │ │ ├── ShortCodecTest.java │ │ ├── SimpleEnum.java │ │ ├── StringCodecTest.java │ │ ├── UndefinedCodecSpecification.groovy │ │ ├── UuidCodecSpecification.groovy │ │ ├── ValueCodecProviderSpecification.groovy │ │ ├── configuration │ │ │ └── CodeRegistriesSpecification.groovy │ │ ├── jsr310 │ │ │ ├── InstantCodecSpecification.groovy │ │ │ ├── Jsr310CodecProviderSpecification.groovy │ │ │ ├── JsrSpecification.groovy │ │ │ ├── LocalDateCodecSpecification.groovy │ │ │ ├── LocalDateTimeCodecSpecification.groovy │ │ │ └── LocalTimeCodecSpecification.groovy │ │ └── pojo │ │ │ ├── ClassModelBuilderTest.java │ │ │ ├── ClassModelTest.java │ │ │ ├── ConventionsTest.java │ │ │ ├── IdGeneratorsTest.java │ │ │ ├── PojoCodecCyclicalLookupTest.java │ │ │ ├── PojoCodecProviderTest.java │ │ │ ├── PojoCustomTest.java │ │ │ ├── PojoRoundTripTest.java │ │ │ ├── PojoTestCase.java │ │ │ ├── PropertyModelBuilderTest.java │ │ │ ├── PropertyModelTest.java │ │ │ ├── TypeDataTest.java │ │ │ ├── TypeParameterMapTest.java │ │ │ └── entities │ │ │ ├── AbstractCollectionSpecificReturnTypeCreatorModel.java │ │ │ ├── AbstractInterfaceModel.java │ │ │ ├── AsymmetricalCreatorModel.java │ │ │ ├── AsymmetricalIgnoreModel.java │ │ │ ├── AsymmetricalModel.java │ │ │ ├── BaseField.java │ │ │ ├── BsonIdModel.java │ │ │ ├── BsonRepresentationUnsupportedInt.java │ │ │ ├── BsonRepresentationUnsupportedString.java │ │ │ ├── CollectionNestedPojoModel.java │ │ │ ├── CollectionSpecificReturnTypeCreatorModel.java │ │ │ ├── CollectionSpecificReturnTypeModel.java │ │ │ ├── ConcreteAndNestedAbstractInterfaceModel.java │ │ │ ├── ConcreteCollectionsModel.java │ │ │ ├── ConcreteField.java │ │ │ ├── ConcreteInterfaceGenericModel.java │ │ │ ├── ConcreteModel.java │ │ │ ├── ConcreteStandAloneAbstractInterfaceModel.java │ │ │ ├── ConstructorNotPublicModel.java │ │ │ ├── ContainsAlternativeMapAndCollectionModel.java │ │ │ ├── ConventionModel.java │ │ │ ├── ConverterModel.java │ │ │ ├── CustomPropertyCodecOptionalModel.java │ │ │ ├── DuplicateAnnotationAllowedModel.java │ │ │ ├── FieldAndPropertyTypeMismatchModel.java │ │ │ ├── GenericBaseModel.java │ │ │ ├── GenericHolderModel.java │ │ │ ├── GenericTreeModel.java │ │ │ ├── ImmutableList.java │ │ │ ├── InterfaceBasedModel.java │ │ │ ├── InterfaceGenericModel.java │ │ │ ├── InterfaceModelA.java │ │ │ ├── InterfaceModelAbstract.java │ │ │ ├── InterfaceModelB.java │ │ │ ├── InterfaceModelC.java │ │ │ ├── InterfaceModelImpl.java │ │ │ ├── InterfaceUpperBoundsModel.java │ │ │ ├── InterfaceUpperBoundsModelAbstract.java │ │ │ ├── InterfaceUpperBoundsModelAbstractImpl.java │ │ │ ├── InterfaceWithDefaultMethodModelImpl.java │ │ │ ├── InterfaceWithOverrideDefaultMethodModelImpl.java │ │ │ ├── InvalidCollection.java │ │ │ ├── InvalidCollectionModel.java │ │ │ ├── InvalidGetterAndSetterModel.java │ │ │ ├── InvalidMapModel.java │ │ │ ├── InvalidMapPropertyCodecProvider.java │ │ │ ├── InvalidSetterArgsModel.java │ │ │ ├── ListGenericExtendedModel.java │ │ │ ├── ListGenericModel.java │ │ │ ├── ListListGenericExtendedModel.java │ │ │ ├── ListListGenericModel.java │ │ │ ├── ListMapGenericExtendedModel.java │ │ │ ├── ListMapGenericModel.java │ │ │ ├── MapGenericExtendedModel.java │ │ │ ├── MapGenericModel.java │ │ │ ├── MapListGenericExtendedModel.java │ │ │ ├── MapListGenericModel.java │ │ │ ├── MapMapGenericExtendedModel.java │ │ │ ├── MapMapGenericModel.java │ │ │ ├── MapStringObjectModel.java │ │ │ ├── MultipleBoundsLevel1.java │ │ │ ├── MultipleBoundsLevel2.java │ │ │ ├── MultipleBoundsLevel3.java │ │ │ ├── MultipleBoundsModel.java │ │ │ ├── MultipleLevelGenericModel.java │ │ │ ├── NestedFieldReusingClassTypeParameter.java │ │ │ ├── NestedGenericHolderFieldWithMultipleTypeParamsModel.java │ │ │ ├── NestedGenericHolderMapModel.java │ │ │ ├── NestedGenericHolderModel.java │ │ │ ├── NestedGenericHolderSimpleGenericsModel.java │ │ │ ├── NestedGenericTreeModel.java │ │ │ ├── NestedMultipleLevelGenericModel.java │ │ │ ├── NestedReusedGenericsModel.java │ │ │ ├── NestedSelfReferentialGenericHolderModel.java │ │ │ ├── NestedSelfReferentialGenericModel.java │ │ │ ├── NestedSimpleIdModel.java │ │ │ ├── Optional.java │ │ │ ├── OptionalPropertyCodecProvider.java │ │ │ ├── PrimitivesModel.java │ │ │ ├── PrivateSetterFieldModel.java │ │ │ ├── PropertyReusingClassTypeParameter.java │ │ │ ├── PropertySelectionModel.java │ │ │ ├── PropertyWithMultipleTypeParamsModel.java │ │ │ ├── ReusedGenericsModel.java │ │ │ ├── SelfReferentialGenericModel.java │ │ │ ├── ShapeHolderCircleModel.java │ │ │ ├── ShapeHolderModel.java │ │ │ ├── ShapeModelAbstract.java │ │ │ ├── ShapeModelCircle.java │ │ │ ├── ShapeModelRectangle.java │ │ │ ├── SimpleEnumModel.java │ │ │ ├── SimpleGenericsModel.java │ │ │ ├── SimpleIdImmutableModel.java │ │ │ ├── SimpleIdModel.java │ │ │ ├── SimpleModel.java │ │ │ ├── SimpleNestedPojoModel.java │ │ │ ├── SimpleWithStaticModel.java │ │ │ ├── TreeWithIdModel.java │ │ │ ├── UpperBoundsConcreteModel.java │ │ │ ├── UpperBoundsModel.java │ │ │ ├── conventions │ │ │ ├── AnnotationAbstract.java │ │ │ ├── AnnotationBsonPropertyIdModel.java │ │ │ ├── AnnotationBsonRepresentation.java │ │ │ ├── AnnotationCollision.java │ │ │ ├── AnnotationDefaultsModel.java │ │ │ ├── AnnotationInheritedModel.java │ │ │ ├── AnnotationModel.java │ │ │ ├── AnnotationNameCollision.java │ │ │ ├── AnnotationWithObjectIdModel.java │ │ │ ├── AnnotationWriteCollision.java │ │ │ ├── BsonExtraElementsInvalidModel.java │ │ │ ├── BsonExtraElementsMapModel.java │ │ │ ├── BsonExtraElementsModel.java │ │ │ ├── BsonIgnoreDuplicatePropertyMultipleTypes.java │ │ │ ├── BsonIgnoreInvalidMapModel.java │ │ │ ├── BsonIgnoreSyntheticProperty.java │ │ │ ├── BsonRepresentationModel.java │ │ │ ├── CollectionDiscriminatorAbstractClassesModel.java │ │ │ ├── CollectionDiscriminatorInterfacesModel.java │ │ │ ├── CollectionNameModel.java │ │ │ ├── CollectionsGetterImmutableModel.java │ │ │ ├── CollectionsGetterMutableModel.java │ │ │ ├── CollectionsGetterNonEmptyModel.java │ │ │ ├── CollectionsGetterNullModel.java │ │ │ ├── CreatorAllFinalFieldsModel.java │ │ │ ├── CreatorConstructorIdModel.java │ │ │ ├── CreatorConstructorLegacyBsonPropertyModel.java │ │ │ ├── CreatorConstructorModel.java │ │ │ ├── CreatorConstructorNoKnownIdModel.java │ │ │ ├── CreatorConstructorPrimitivesModel.java │ │ │ ├── CreatorConstructorRenameModel.java │ │ │ ├── CreatorConstructorThrowsExceptionModel.java │ │ │ ├── CreatorInSuperClassModel.java │ │ │ ├── CreatorInSuperClassModelImpl.java │ │ │ ├── CreatorInvalidConstructorModel.java │ │ │ ├── CreatorInvalidMethodModel.java │ │ │ ├── CreatorInvalidMethodReturnTypeModel.java │ │ │ ├── CreatorInvalidMultipleConstructorsModel.java │ │ │ ├── CreatorInvalidMultipleCreatorsModel.java │ │ │ ├── CreatorInvalidMultipleStaticCreatorsModel.java │ │ │ ├── CreatorInvalidTypeConstructorModel.java │ │ │ ├── CreatorInvalidTypeMethodModel.java │ │ │ ├── CreatorMethodModel.java │ │ │ ├── CreatorMethodThrowsExceptionModel.java │ │ │ ├── CreatorNoArgsConstructorModel.java │ │ │ ├── CreatorNoArgsMethodModel.java │ │ │ ├── DiscriminatorNameModel.java │ │ │ ├── FieldStorageModel.java │ │ │ ├── InterfaceModel.java │ │ │ ├── InterfaceModelImplA.java │ │ │ ├── InterfaceModelImplB.java │ │ │ ├── MapGetterImmutableModel.java │ │ │ ├── MapGetterMutableModel.java │ │ │ ├── MapGetterNonEmptyModel.java │ │ │ ├── MapGetterNullModel.java │ │ │ ├── PropertyNameModel.java │ │ │ ├── Subclass1Model.java │ │ │ ├── Subclass2Model.java │ │ │ ├── SuperClassModel.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ ├── internal │ │ ├── BsonUtilTest.java │ │ ├── CodecCacheSpecification.groovy │ │ ├── Holder.java │ │ ├── ProvidersCodecRegistrySpecification.groovy │ │ └── UuidHelperSpecification.groovy │ │ ├── io │ │ ├── BasicOutputBufferSpecification.groovy │ │ ├── BasicOutputBufferTest.java │ │ └── ByteBufferBsonInputSpecification.groovy │ │ ├── json │ │ ├── JsonObjectTest.java │ │ ├── JsonReaderSpecification.groovy │ │ ├── JsonReaderTest.java │ │ ├── JsonScannerTest.java │ │ ├── JsonStreamBufferTest.java │ │ ├── JsonStringBufferTest.java │ │ ├── JsonWriterSettingsSpecification.groovy │ │ ├── JsonWriterSpecification.groovy │ │ ├── JsonWriterTest.java │ │ ├── StrictCharacterStreamJsonWriterSpecification.groovy │ │ └── UuidStringValidatorTest.java │ │ ├── types │ │ ├── BSONBsonTimestampTest.java │ │ ├── BasicBSONListSpecification.groovy │ │ ├── Decimal128Test.java │ │ ├── DocumentSpecification.groovy │ │ ├── ObjectIdTest.java │ │ └── StringRangeSetSpecification.groovy │ │ └── vector │ │ └── BinaryVectorGenericBsonTest.java │ └── util │ ├── GroovyHelpers.java │ ├── Hex.java │ ├── JsonPoweredTestHelper.java │ └── ThreadTestHelpers.java ├── build.gradle.kts ├── buildSrc ├── build.gradle.kts ├── settings.gradle.kts └── src │ └── main │ ├── java │ └── com │ │ └── mongodb │ │ └── doclet │ │ ├── AtlasManualTaglet.java │ │ ├── DocTaglet.java │ │ ├── DochubTaglet.java │ │ ├── ManualTaglet.java │ │ └── ServerReleaseTaglet.java │ └── kotlin │ ├── ProjectExtensions.kt │ ├── conventions │ ├── Companion.kt │ ├── bnd.gradle.kts │ ├── codenarc.gradle.kts │ ├── detekt.gradle.kts │ ├── dokka.gradle.kts │ ├── git-version.gradle.kts │ ├── javadoc.gradle.kts │ ├── optional.gradle.kts │ ├── publishing.gradle.kts │ ├── scaladoc.gradle.kts │ ├── spotbugs.gradle.kts │ ├── spotless.gradle.kts │ ├── test-artifacts-runtime-dependencies.gradle.kts │ ├── test-artifacts.gradle.kts │ ├── test-include-optionals.gradle.kts │ ├── testing-base.gradle.kts │ ├── testing-integration.gradle.kts │ ├── testing-junit-vintage.gradle.kts │ ├── testing-junit.gradle.kts │ ├── testing-mockito.gradle.kts │ ├── testing-spock-exclude-slow.gradle.kts │ └── testing-spock.gradle.kts │ └── project │ ├── Companion.kt │ ├── base.gradle.kts │ ├── java.gradle.kts │ ├── kotlin.gradle.kts │ └── scala.gradle.kts ├── config ├── LICENSE ├── checkstyle │ ├── checkstyle.xml │ └── suppressions.xml ├── codenarc │ └── codenarc.xml ├── detekt │ ├── baseline.xml │ └── detekt.yml ├── mongodb.license ├── scala │ └── scalafmt.conf ├── spock │ ├── ExcludeSlow.groovy │ └── OnlySlow.groovy └── spotbugs │ └── exclude.xml ├── driver-benchmarks ├── build.gradle.kts └── src │ ├── main │ └── com │ │ └── mongodb │ │ └── benchmark │ │ ├── benchmarks │ │ ├── AbstractBsonDocumentBenchmark.java │ │ ├── AbstractCollectionWriteBenchmark.java │ │ ├── AbstractFindBenchmark.java │ │ ├── AbstractGridFSBenchmark.java │ │ ├── AbstractMongoBenchmark.java │ │ ├── AbstractWriteBenchmark.java │ │ ├── BenchmarkSuite.java │ │ ├── BsonDecodingBenchmark.java │ │ ├── BsonEncodingBenchmark.java │ │ ├── FindManyBenchmark.java │ │ ├── FindOneBenchmark.java │ │ ├── GridFSDownloadBenchmark.java │ │ ├── GridFSMultiFileDownloadBenchmark.java │ │ ├── GridFSMultiFileUploadBenchmark.java │ │ ├── GridFSUploadBenchmark.java │ │ ├── IdRemover.java │ │ ├── InsertManyBenchmark.java │ │ ├── InsertOneBenchmark.java │ │ ├── MultiFileExportBenchmark.java │ │ ├── MultiFileImportBenchmark.java │ │ ├── RunCommandBenchmark.java │ │ ├── UnsafeByteArrayOutputStream.java │ │ ├── bulk │ │ │ ├── ClientBulkWriteBenchmark.java │ │ │ ├── CollectionBulkWriteBenchmark.java │ │ │ ├── MixedClientBulkWriteBenchmark.java │ │ │ └── MixedCollectionBulkWriteBenchmark.java │ │ └── netty │ │ │ └── BenchmarkNettyProviderSuite.java │ │ ├── framework │ │ ├── Benchmark.java │ │ ├── BenchmarkResult.java │ │ ├── BenchmarkResultWriter.java │ │ ├── BenchmarkRunner.java │ │ ├── EvergreenBenchmarkResultWriter.java │ │ ├── MinimalTextBasedBenchmarkResultWriter.java │ │ ├── MongoCryptBenchmarkRunner.java │ │ ├── MongocryptBecnhmarkResult.java │ │ └── TextBasedBenchmarkResultWriter.java │ │ └── jmh │ │ └── codec │ │ ├── BsonArrayCodecBenchmark.java │ │ ├── BsonDocumentBenchmark.java │ │ ├── BsonUtils.java │ │ └── package-info.java │ └── resources │ ├── keyDocument.json │ └── logback.xml ├── driver-core ├── .gitignore ├── build.gradle.kts └── src │ ├── main │ ├── com │ │ └── mongodb │ │ │ ├── AuthenticationMechanism.java │ │ │ ├── AutoEncryptionSettings.java │ │ │ ├── AwsCredential.java │ │ │ ├── BSONTimestampCodec.java │ │ │ ├── BasicDBList.java │ │ │ ├── BasicDBObject.java │ │ │ ├── BasicDBObjectBuilder.java │ │ │ ├── BasicDBObjectFactory.java │ │ │ ├── Block.java │ │ │ ├── ClientBulkWriteException.java │ │ │ ├── ClientEncryptionSettings.java │ │ │ ├── ClientSessionOptions.java │ │ │ ├── ConnectionString.java │ │ │ ├── ContextProvider.java │ │ │ ├── CreateIndexCommitQuorum.java │ │ │ ├── CursorType.java │ │ │ ├── DBObject.java │ │ │ ├── DBObjectCodec.java │ │ │ ├── DBObjectCodecProvider.java │ │ │ ├── DBObjectFactory.java │ │ │ ├── DBRef.java │ │ │ ├── DBRefCodec.java │ │ │ ├── DBRefCodecProvider.java │ │ │ ├── DocumentToDBRefTransformer.java │ │ │ ├── DuplicateKeyException.java │ │ │ ├── ErrorCategory.java │ │ │ ├── ExplainVerbosity.java │ │ │ ├── Function.java │ │ │ ├── Jep395RecordCodecProvider.java │ │ │ ├── KerberosSubjectProvider.java │ │ │ ├── KotlinCodecProvider.java │ │ │ ├── LoggerSettings.java │ │ │ ├── MongoBulkWriteException.java │ │ │ ├── MongoChangeStreamException.java │ │ │ ├── MongoClientException.java │ │ │ ├── MongoClientSettings.java │ │ │ ├── MongoCommandException.java │ │ │ ├── MongoCompressor.java │ │ │ ├── MongoConfigurationException.java │ │ │ ├── MongoConnectionPoolClearedException.java │ │ │ ├── MongoCredential.java │ │ │ ├── MongoCursorNotFoundException.java │ │ │ ├── MongoDriverInformation.java │ │ │ ├── MongoException.java │ │ │ ├── MongoExecutionTimeoutException.java │ │ │ ├── MongoGridFSException.java │ │ │ ├── MongoIncompatibleDriverException.java │ │ │ ├── MongoInternalException.java │ │ │ ├── MongoInterruptedException.java │ │ │ ├── MongoNamespace.java │ │ │ ├── MongoNodeIsRecoveringException.java │ │ │ ├── MongoNotPrimaryException.java │ │ │ ├── MongoOperationTimeoutException.java │ │ │ ├── MongoQueryException.java │ │ │ ├── MongoSecurityException.java │ │ │ ├── MongoServerException.java │ │ │ ├── MongoServerUnavailableException.java │ │ │ ├── MongoSocketClosedException.java │ │ │ ├── MongoSocketException.java │ │ │ ├── MongoSocketOpenException.java │ │ │ ├── MongoSocketReadException.java │ │ │ ├── MongoSocketReadTimeoutException.java │ │ │ ├── MongoSocketWriteException.java │ │ │ ├── MongoSocketWriteTimeoutException.java │ │ │ ├── MongoTimeoutException.java │ │ │ ├── MongoUpdatedEncryptedFieldsException.java │ │ │ ├── MongoWriteConcernException.java │ │ │ ├── MongoWriteException.java │ │ │ ├── ReadConcern.java │ │ │ ├── ReadConcernLevel.java │ │ │ ├── ReadPreference.java │ │ │ ├── ReadPreferenceHedgeOptions.java │ │ │ ├── RequestContext.java │ │ │ ├── ServerAddress.java │ │ │ ├── ServerApi.java │ │ │ ├── ServerApiVersion.java │ │ │ ├── ServerCursor.java │ │ │ ├── SubjectProvider.java │ │ │ ├── Tag.java │ │ │ ├── TagSet.java │ │ │ ├── TaggableReadPreference.java │ │ │ ├── TransactionOptions.java │ │ │ ├── UnixServerAddress.java │ │ │ ├── WriteConcern.java │ │ │ ├── WriteConcernException.java │ │ │ ├── WriteConcernResult.java │ │ │ ├── WriteError.java │ │ │ ├── annotations │ │ │ ├── Alpha.java │ │ │ ├── Beta.java │ │ │ ├── Evolving.java │ │ │ ├── Immutable.java │ │ │ ├── NotThreadSafe.java │ │ │ ├── Reason.java │ │ │ ├── Sealed.java │ │ │ ├── ThreadSafe.java │ │ │ └── package-info.java │ │ │ ├── assertions │ │ │ ├── Assertions.java │ │ │ └── package-info.java │ │ │ ├── bulk │ │ │ ├── BulkWriteError.java │ │ │ ├── BulkWriteInsert.java │ │ │ ├── BulkWriteResult.java │ │ │ ├── BulkWriteUpsert.java │ │ │ ├── WriteConcernError.java │ │ │ └── package-info.java │ │ │ ├── client │ │ │ ├── cursor │ │ │ │ ├── TimeoutMode.java │ │ │ │ └── package-info.java │ │ │ ├── gridfs │ │ │ │ ├── codecs │ │ │ │ │ ├── GridFSFileCodec.java │ │ │ │ │ ├── GridFSFileCodecProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ └── model │ │ │ │ │ ├── GridFSDownloadOptions.java │ │ │ │ │ ├── GridFSFile.java │ │ │ │ │ ├── GridFSUploadOptions.java │ │ │ │ │ └── package-info.java │ │ │ ├── model │ │ │ │ ├── Accumulators.java │ │ │ │ ├── Aggregates.java │ │ │ │ ├── ApproximateQuantileMethod.java │ │ │ │ ├── BsonField.java │ │ │ │ ├── BucketAutoOptions.java │ │ │ │ ├── BucketGranularity.java │ │ │ │ ├── BucketOptions.java │ │ │ │ ├── BuildersHelper.java │ │ │ │ ├── BulkWriteOptions.java │ │ │ │ ├── ChangeStreamPreAndPostImagesOptions.java │ │ │ │ ├── ClusteredIndexOptions.java │ │ │ │ ├── Collation.java │ │ │ │ ├── CollationAlternate.java │ │ │ │ ├── CollationCaseFirst.java │ │ │ │ ├── CollationMaxVariable.java │ │ │ │ ├── CollationStrength.java │ │ │ │ ├── CountOptions.java │ │ │ │ ├── CreateCollectionOptions.java │ │ │ │ ├── CreateEncryptedCollectionParams.java │ │ │ │ ├── CreateIndexOptions.java │ │ │ │ ├── CreateViewOptions.java │ │ │ │ ├── DeleteManyModel.java │ │ │ │ ├── DeleteOneModel.java │ │ │ │ ├── DeleteOptions.java │ │ │ │ ├── DropCollectionOptions.java │ │ │ │ ├── DropIndexOptions.java │ │ │ │ ├── EstimatedDocumentCountOptions.java │ │ │ │ ├── Facet.java │ │ │ │ ├── Field.java │ │ │ │ ├── Filters.java │ │ │ │ ├── FindOneAndDeleteOptions.java │ │ │ │ ├── FindOneAndReplaceOptions.java │ │ │ │ ├── FindOneAndUpdateOptions.java │ │ │ │ ├── GeoNearConstructibleBson.java │ │ │ │ ├── GeoNearOptions.java │ │ │ │ ├── GraphLookupOptions.java │ │ │ │ ├── IndexModel.java │ │ │ │ ├── IndexOptionDefaults.java │ │ │ │ ├── IndexOptions.java │ │ │ │ ├── Indexes.java │ │ │ │ ├── InsertManyOptions.java │ │ │ │ ├── InsertOneModel.java │ │ │ │ ├── InsertOneOptions.java │ │ │ │ ├── MapReduceAction.java │ │ │ │ ├── MergeOptions.java │ │ │ │ ├── MongoTimeUnit.java │ │ │ │ ├── Projections.java │ │ │ │ ├── PushOptions.java │ │ │ │ ├── QuantileMethod.java │ │ │ │ ├── QuantileMethodBson.java │ │ │ │ ├── RenameCollectionOptions.java │ │ │ │ ├── ReplaceOneModel.java │ │ │ │ ├── ReplaceOptions.java │ │ │ │ ├── ReturnDocument.java │ │ │ │ ├── SearchIndexModel.java │ │ │ │ ├── SearchIndexType.java │ │ │ │ ├── SearchIndexTypeBson.java │ │ │ │ ├── SimpleExpression.java │ │ │ │ ├── Sorts.java │ │ │ │ ├── TextSearchOptions.java │ │ │ │ ├── TimeSeriesGranularity.java │ │ │ │ ├── TimeSeriesOptions.java │ │ │ │ ├── UnwindOptions.java │ │ │ │ ├── UpdateManyModel.java │ │ │ │ ├── UpdateOneModel.java │ │ │ │ ├── UpdateOptions.java │ │ │ │ ├── Updates.java │ │ │ │ ├── ValidationAction.java │ │ │ │ ├── ValidationLevel.java │ │ │ │ ├── ValidationOptions.java │ │ │ │ ├── Variable.java │ │ │ │ ├── Window.java │ │ │ │ ├── WindowOutputField.java │ │ │ │ ├── WindowOutputFields.java │ │ │ │ ├── Windows.java │ │ │ │ ├── WriteModel.java │ │ │ │ ├── bulk │ │ │ │ │ ├── BaseClientDeleteOptions.java │ │ │ │ │ ├── BaseClientUpdateOptions.java │ │ │ │ │ ├── BaseClientUpsertableWriteModelOptions.java │ │ │ │ │ ├── BaseClientWriteModelOptions.java │ │ │ │ │ ├── ClientBulkWriteOptions.java │ │ │ │ │ ├── ClientBulkWriteResult.java │ │ │ │ │ ├── ClientDeleteManyOptions.java │ │ │ │ │ ├── ClientDeleteOneOptions.java │ │ │ │ │ ├── ClientDeleteResult.java │ │ │ │ │ ├── ClientInsertOneResult.java │ │ │ │ │ ├── ClientNamespacedDeleteManyModel.java │ │ │ │ │ ├── ClientNamespacedDeleteOneModel.java │ │ │ │ │ ├── ClientNamespacedInsertOneModel.java │ │ │ │ │ ├── ClientNamespacedReplaceOneModel.java │ │ │ │ │ ├── ClientNamespacedUpdateManyModel.java │ │ │ │ │ ├── ClientNamespacedUpdateOneModel.java │ │ │ │ │ ├── ClientNamespacedWriteModel.java │ │ │ │ │ ├── ClientReplaceOneOptions.java │ │ │ │ │ ├── ClientUpdateManyOptions.java │ │ │ │ │ ├── ClientUpdateOneOptions.java │ │ │ │ │ ├── ClientUpdateResult.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── changestream │ │ │ │ │ ├── ChangeStreamDocument.java │ │ │ │ │ ├── ChangeStreamDocumentCodec.java │ │ │ │ │ ├── FullDocument.java │ │ │ │ │ ├── FullDocumentBeforeChange.java │ │ │ │ │ ├── OperationType.java │ │ │ │ │ ├── OperationTypeCodec.java │ │ │ │ │ ├── SplitEvent.java │ │ │ │ │ ├── TruncatedArray.java │ │ │ │ │ ├── UpdateDescription.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── densify │ │ │ │ │ ├── DateDensifyRange.java │ │ │ │ │ ├── DensifyConstructibleBson.java │ │ │ │ │ ├── DensifyOptions.java │ │ │ │ │ ├── DensifyRange.java │ │ │ │ │ ├── NumberDensifyRange.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── fill │ │ │ │ │ ├── FillConstructibleBson.java │ │ │ │ │ ├── FillConstructibleBsonElement.java │ │ │ │ │ ├── FillOptions.java │ │ │ │ │ ├── FillOutputField.java │ │ │ │ │ ├── LinearFillOutputField.java │ │ │ │ │ ├── LocfFillOutputField.java │ │ │ │ │ ├── ValueFillOutputField.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── geojson │ │ │ │ │ ├── CoordinateReferenceSystem.java │ │ │ │ │ ├── CoordinateReferenceSystemType.java │ │ │ │ │ ├── GeoJsonObjectType.java │ │ │ │ │ ├── Geometry.java │ │ │ │ │ ├── GeometryCollection.java │ │ │ │ │ ├── LineString.java │ │ │ │ │ ├── MultiLineString.java │ │ │ │ │ ├── MultiPoint.java │ │ │ │ │ ├── MultiPolygon.java │ │ │ │ │ ├── NamedCoordinateReferenceSystem.java │ │ │ │ │ ├── Point.java │ │ │ │ │ ├── Polygon.java │ │ │ │ │ ├── PolygonCoordinates.java │ │ │ │ │ ├── Position.java │ │ │ │ │ ├── codecs │ │ │ │ │ │ ├── AbstractGeometryCodec.java │ │ │ │ │ │ ├── GeoJsonCodecProvider.java │ │ │ │ │ │ ├── GeometryCodec.java │ │ │ │ │ │ ├── GeometryCollectionCodec.java │ │ │ │ │ │ ├── GeometryDecoderHelper.java │ │ │ │ │ │ ├── GeometryEncoderHelper.java │ │ │ │ │ │ ├── LineStringCodec.java │ │ │ │ │ │ ├── MultiLineStringCodec.java │ │ │ │ │ │ ├── MultiPointCodec.java │ │ │ │ │ │ ├── MultiPolygonCodec.java │ │ │ │ │ │ ├── NamedCoordinateReferenceSystemCodec.java │ │ │ │ │ │ ├── PointCodec.java │ │ │ │ │ │ ├── PolygonCodec.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── mql │ │ │ │ │ ├── Branches.java │ │ │ │ │ ├── BranchesIntermediary.java │ │ │ │ │ ├── BranchesTerminal.java │ │ │ │ │ ├── ExpressionCodecProvider.java │ │ │ │ │ ├── MqlArray.java │ │ │ │ │ ├── MqlBoolean.java │ │ │ │ │ ├── MqlDate.java │ │ │ │ │ ├── MqlDocument.java │ │ │ │ │ ├── MqlEntry.java │ │ │ │ │ ├── MqlExpression.java │ │ │ │ │ ├── MqlExpressionCodec.java │ │ │ │ │ ├── MqlInteger.java │ │ │ │ │ ├── MqlMap.java │ │ │ │ │ ├── MqlNumber.java │ │ │ │ │ ├── MqlString.java │ │ │ │ │ ├── MqlUnchecked.java │ │ │ │ │ ├── MqlValue.java │ │ │ │ │ ├── MqlValues.java │ │ │ │ │ ├── SwitchCase.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── search │ │ │ │ │ ├── AddSearchScoreExpression.java │ │ │ │ │ ├── ApproximateVectorSearchOptions.java │ │ │ │ │ ├── AutocompleteSearchOperator.java │ │ │ │ │ ├── CompoundSearchOperator.java │ │ │ │ │ ├── CompoundSearchOperatorBase.java │ │ │ │ │ ├── ConstantSearchScore.java │ │ │ │ │ ├── ConstantSearchScoreExpression.java │ │ │ │ │ ├── DateNearSearchOperator.java │ │ │ │ │ ├── DateRangeConstructibleBsonElement.java │ │ │ │ │ ├── DateRangeSearchOperator.java │ │ │ │ │ ├── DateRangeSearchOperatorBase.java │ │ │ │ │ ├── DateSearchFacet.java │ │ │ │ │ ├── EqualsSearchOperator.java │ │ │ │ │ ├── ExactVectorSearchOptions.java │ │ │ │ │ ├── ExistsSearchOperator.java │ │ │ │ │ ├── FacetSearchCollector.java │ │ │ │ │ ├── FieldSearchPath.java │ │ │ │ │ ├── FilterCompoundSearchOperator.java │ │ │ │ │ ├── FunctionSearchScore.java │ │ │ │ │ ├── FuzzySearchOptions.java │ │ │ │ │ ├── GaussSearchScoreExpression.java │ │ │ │ │ ├── GeoNearSearchOperator.java │ │ │ │ │ ├── InSearchOperator.java │ │ │ │ │ ├── Log1pSearchScoreExpression.java │ │ │ │ │ ├── LogSearchScoreExpression.java │ │ │ │ │ ├── LowerBoundSearchCount.java │ │ │ │ │ ├── MoreLikeThisSearchOperator.java │ │ │ │ │ ├── MultiplySearchScoreExpression.java │ │ │ │ │ ├── MustCompoundSearchOperator.java │ │ │ │ │ ├── MustNotCompoundSearchOperator.java │ │ │ │ │ ├── NumberNearSearchOperator.java │ │ │ │ │ ├── NumberRangeConstructibleBsonElement.java │ │ │ │ │ ├── NumberRangeSearchOperator.java │ │ │ │ │ ├── NumberRangeSearchOperatorBase.java │ │ │ │ │ ├── NumberSearchFacet.java │ │ │ │ │ ├── PathBoostSearchScore.java │ │ │ │ │ ├── PathSearchScoreExpression.java │ │ │ │ │ ├── PhraseConstructibleBsonElement.java │ │ │ │ │ ├── PhraseSearchOperator.java │ │ │ │ │ ├── QueryStringSearchOperator.java │ │ │ │ │ ├── RangeConstructibleBsonElement.java │ │ │ │ │ ├── RegexSearchOperator.java │ │ │ │ │ ├── RelevanceSearchScoreExpression.java │ │ │ │ │ ├── SearchCollector.java │ │ │ │ │ ├── SearchConstructibleBson.java │ │ │ │ │ ├── SearchConstructibleBsonElement.java │ │ │ │ │ ├── SearchCount.java │ │ │ │ │ ├── SearchFacet.java │ │ │ │ │ ├── SearchHighlight.java │ │ │ │ │ ├── SearchOperator.java │ │ │ │ │ ├── SearchOptions.java │ │ │ │ │ ├── SearchPath.java │ │ │ │ │ ├── SearchScore.java │ │ │ │ │ ├── SearchScoreExpression.java │ │ │ │ │ ├── ShouldCompoundSearchOperator.java │ │ │ │ │ ├── StringSearchFacet.java │ │ │ │ │ ├── TextSearchOperator.java │ │ │ │ │ ├── TotalSearchCount.java │ │ │ │ │ ├── ValueBoostSearchScore.java │ │ │ │ │ ├── VectorSearchConstructibleBson.java │ │ │ │ │ ├── VectorSearchOptions.java │ │ │ │ │ ├── WildcardSearchOperator.java │ │ │ │ │ ├── WildcardSearchPath.java │ │ │ │ │ └── package-info.java │ │ │ │ └── vault │ │ │ │ │ ├── DataKeyOptions.java │ │ │ │ │ ├── EncryptOptions.java │ │ │ │ │ ├── RangeOptions.java │ │ │ │ │ ├── RewrapManyDataKeyOptions.java │ │ │ │ │ ├── RewrapManyDataKeyResult.java │ │ │ │ │ └── package-info.java │ │ │ └── result │ │ │ │ ├── DeleteResult.java │ │ │ │ ├── InsertManyResult.java │ │ │ │ ├── InsertOneResult.java │ │ │ │ ├── UpdateResult.java │ │ │ │ └── package-info.java │ │ │ ├── connection │ │ │ ├── AsyncCompletionHandler.java │ │ │ ├── AsyncTransportSettings.java │ │ │ ├── ClusterConnectionMode.java │ │ │ ├── ClusterDescription.java │ │ │ ├── ClusterId.java │ │ │ ├── ClusterSettings.java │ │ │ ├── ClusterType.java │ │ │ ├── ConnectionDescription.java │ │ │ ├── ConnectionId.java │ │ │ ├── ConnectionPoolSettings.java │ │ │ ├── NettyTransportSettings.java │ │ │ ├── ProxySettings.java │ │ │ ├── ServerConnectionState.java │ │ │ ├── ServerDescription.java │ │ │ ├── ServerId.java │ │ │ ├── ServerMonitoringMode.java │ │ │ ├── ServerSettings.java │ │ │ ├── ServerType.java │ │ │ ├── ServerVersion.java │ │ │ ├── SocketSettings.java │ │ │ ├── SslSettings.java │ │ │ ├── TopologyVersion.java │ │ │ ├── TransportSettings.java │ │ │ └── package-info.java │ │ │ ├── event │ │ │ ├── ClusterClosedEvent.java │ │ │ ├── ClusterDescriptionChangedEvent.java │ │ │ ├── ClusterListener.java │ │ │ ├── ClusterOpeningEvent.java │ │ │ ├── CommandEvent.java │ │ │ ├── CommandFailedEvent.java │ │ │ ├── CommandListener.java │ │ │ ├── CommandStartedEvent.java │ │ │ ├── CommandSucceededEvent.java │ │ │ ├── ConnectionCheckOutFailedEvent.java │ │ │ ├── ConnectionCheckOutStartedEvent.java │ │ │ ├── ConnectionCheckedInEvent.java │ │ │ ├── ConnectionCheckedOutEvent.java │ │ │ ├── ConnectionClosedEvent.java │ │ │ ├── ConnectionCreatedEvent.java │ │ │ ├── ConnectionPoolClearedEvent.java │ │ │ ├── ConnectionPoolClosedEvent.java │ │ │ ├── ConnectionPoolCreatedEvent.java │ │ │ ├── ConnectionPoolListener.java │ │ │ ├── ConnectionPoolReadyEvent.java │ │ │ ├── ConnectionReadyEvent.java │ │ │ ├── ServerClosedEvent.java │ │ │ ├── ServerDescriptionChangedEvent.java │ │ │ ├── ServerHeartbeatFailedEvent.java │ │ │ ├── ServerHeartbeatStartedEvent.java │ │ │ ├── ServerHeartbeatSucceededEvent.java │ │ │ ├── ServerListener.java │ │ │ ├── ServerMonitorListener.java │ │ │ ├── ServerOpeningEvent.java │ │ │ └── package-info.java │ │ │ ├── internal │ │ │ ├── ExceptionUtils.java │ │ │ ├── ExpirableValue.java │ │ │ ├── HexUtils.java │ │ │ ├── IgnorableRequestContext.java │ │ │ ├── Iterables.java │ │ │ ├── Locks.java │ │ │ ├── ResourceUtil.java │ │ │ ├── TimeoutContext.java │ │ │ ├── TimeoutSettings.java │ │ │ ├── VisibleForTesting.java │ │ │ ├── async │ │ │ │ ├── AsyncAggregateResponseBatchCursor.java │ │ │ │ ├── AsyncBatchCursor.java │ │ │ │ ├── AsyncConsumer.java │ │ │ │ ├── AsyncFunction.java │ │ │ │ ├── AsyncRunnable.java │ │ │ │ ├── AsyncSupplier.java │ │ │ │ ├── ErrorHandlingResultCallback.java │ │ │ │ ├── MutableValue.java │ │ │ │ ├── SingleResultCallback.java │ │ │ │ ├── function │ │ │ │ │ ├── AsyncCallbackBiFunction.java │ │ │ │ │ ├── AsyncCallbackFunction.java │ │ │ │ │ ├── AsyncCallbackLoop.java │ │ │ │ │ ├── AsyncCallbackRunnable.java │ │ │ │ │ ├── AsyncCallbackSupplier.java │ │ │ │ │ ├── LoopState.java │ │ │ │ │ ├── RetryState.java │ │ │ │ │ ├── RetryingAsyncCallbackSupplier.java │ │ │ │ │ ├── RetryingSyncSupplier.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── authentication │ │ │ │ ├── AwsCredentialHelper.java │ │ │ │ ├── AwsSdkV1CredentialSupplier.java │ │ │ │ ├── AwsSdkV2CredentialSupplier.java │ │ │ │ ├── AzureCredentialHelper.java │ │ │ │ ├── BuiltInAwsCredentialSupplier.java │ │ │ │ ├── CredentialInfo.java │ │ │ │ ├── GcpCredentialHelper.java │ │ │ │ ├── HttpHelper.java │ │ │ │ ├── NativeAuthenticationHelper.java │ │ │ │ ├── SaslPrep.java │ │ │ │ └── package-info.java │ │ │ ├── binding │ │ │ │ ├── AbstractReferenceCounted.java │ │ │ │ ├── AsyncClusterAwareReadWriteBinding.java │ │ │ │ ├── AsyncClusterBinding.java │ │ │ │ ├── AsyncConnectionSource.java │ │ │ │ ├── AsyncReadBinding.java │ │ │ │ ├── AsyncReadWriteBinding.java │ │ │ │ ├── AsyncWriteBinding.java │ │ │ │ ├── BindingContext.java │ │ │ │ ├── ClusterAwareReadWriteBinding.java │ │ │ │ ├── ClusterBinding.java │ │ │ │ ├── ConnectionSource.java │ │ │ │ ├── ReadBinding.java │ │ │ │ ├── ReadWriteBinding.java │ │ │ │ ├── ReferenceCounted.java │ │ │ │ ├── SingleServerBinding.java │ │ │ │ ├── TransactionContext.java │ │ │ │ ├── WriteBinding.java │ │ │ │ └── package-info.java │ │ │ ├── bulk │ │ │ │ ├── DeleteRequest.java │ │ │ │ ├── IndexRequest.java │ │ │ │ ├── InsertRequest.java │ │ │ │ ├── UpdateRequest.java │ │ │ │ ├── WriteRequest.java │ │ │ │ ├── WriteRequestWithIndex.java │ │ │ │ └── package-info.java │ │ │ ├── capi │ │ │ │ ├── MongoCryptHelper.java │ │ │ │ └── package-info.java │ │ │ ├── client │ │ │ │ ├── model │ │ │ │ │ ├── AbstractConstructibleBson.java │ │ │ │ │ ├── AbstractConstructibleBsonElement.java │ │ │ │ │ ├── AggregationLevel.java │ │ │ │ │ ├── CountStrategy.java │ │ │ │ │ ├── FindOptions.java │ │ │ │ │ ├── ToMap.java │ │ │ │ │ ├── Util.java │ │ │ │ │ ├── bulk │ │ │ │ │ │ ├── AbstractClientDeleteModel.java │ │ │ │ │ │ ├── AbstractClientDeleteOptions.java │ │ │ │ │ │ ├── AbstractClientNamespacedWriteModel.java │ │ │ │ │ │ ├── AbstractClientUpdateModel.java │ │ │ │ │ │ ├── AbstractClientUpdateOptions.java │ │ │ │ │ │ ├── AcknowledgedSummaryClientBulkWriteResult.java │ │ │ │ │ │ ├── AcknowledgedVerboseClientBulkWriteResult.java │ │ │ │ │ │ ├── ClientWriteModel.java │ │ │ │ │ │ ├── ConcreteClientBulkWriteOptions.java │ │ │ │ │ │ ├── ConcreteClientDeleteManyModel.java │ │ │ │ │ │ ├── ConcreteClientDeleteManyOptions.java │ │ │ │ │ │ ├── ConcreteClientDeleteOneModel.java │ │ │ │ │ │ ├── ConcreteClientDeleteOneOptions.java │ │ │ │ │ │ ├── ConcreteClientDeleteResult.java │ │ │ │ │ │ ├── ConcreteClientInsertOneModel.java │ │ │ │ │ │ ├── ConcreteClientInsertOneResult.java │ │ │ │ │ │ ├── ConcreteClientNamespacedDeleteManyModel.java │ │ │ │ │ │ ├── ConcreteClientNamespacedDeleteOneModel.java │ │ │ │ │ │ ├── ConcreteClientNamespacedInsertOneModel.java │ │ │ │ │ │ ├── ConcreteClientNamespacedReplaceOneModel.java │ │ │ │ │ │ ├── ConcreteClientNamespacedUpdateManyModel.java │ │ │ │ │ │ ├── ConcreteClientNamespacedUpdateOneModel.java │ │ │ │ │ │ ├── ConcreteClientReplaceOneModel.java │ │ │ │ │ │ ├── ConcreteClientReplaceOneOptions.java │ │ │ │ │ │ ├── ConcreteClientUpdateManyModel.java │ │ │ │ │ │ ├── ConcreteClientUpdateManyOptions.java │ │ │ │ │ │ ├── ConcreteClientUpdateOneModel.java │ │ │ │ │ │ ├── ConcreteClientUpdateOneOptions.java │ │ │ │ │ │ ├── ConcreteClientUpdateResult.java │ │ │ │ │ │ ├── UnacknowledgedClientBulkWriteResult.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── changestream │ │ │ │ │ │ ├── ChangeStreamLevel.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── package-info.java │ │ │ │ └── vault │ │ │ │ │ ├── EncryptOptionsHelper.java │ │ │ │ │ └── package-info.java │ │ │ ├── connection │ │ │ │ ├── AbstractMultiServerCluster.java │ │ │ │ ├── AbstractProtocolExecutor.java │ │ │ │ ├── AbstractReferenceCounted.java │ │ │ │ ├── AsyncConnection.java │ │ │ │ ├── AsynchronousChannelStream.java │ │ │ │ ├── AsynchronousClusterEventListener.java │ │ │ │ ├── AsynchronousSocketChannelStream.java │ │ │ │ ├── AsynchronousSocketChannelStreamFactory.java │ │ │ │ ├── AsynchronousSocketChannelStreamFactoryFactory.java │ │ │ │ ├── Authenticator.java │ │ │ │ ├── AuthorizationHeader.java │ │ │ │ ├── AwsAuthenticator.java │ │ │ │ ├── BaseCluster.java │ │ │ │ ├── BsonWriterDecorator.java │ │ │ │ ├── BsonWriterHelper.java │ │ │ │ ├── BufferProvider.java │ │ │ │ ├── BulkWriteBatchCombiner.java │ │ │ │ ├── ByteBufBsonArray.java │ │ │ │ ├── ByteBufBsonDocument.java │ │ │ │ ├── ByteBufBsonHelper.java │ │ │ │ ├── ByteBufferBsonOutput.java │ │ │ │ ├── ClientMetadataHelper.java │ │ │ │ ├── Cluster.java │ │ │ │ ├── ClusterClock.java │ │ │ │ ├── ClusterClockAdvancingSessionContext.java │ │ │ │ ├── ClusterDescriptionHelper.java │ │ │ │ ├── ClusterableServer.java │ │ │ │ ├── ClusterableServerFactory.java │ │ │ │ ├── CommandEventSender.java │ │ │ │ ├── CommandHelper.java │ │ │ │ ├── CommandMessage.java │ │ │ │ ├── CommandProtocol.java │ │ │ │ ├── CommandProtocolImpl.java │ │ │ │ ├── CompositeByteBuf.java │ │ │ │ ├── CompressedHeader.java │ │ │ │ ├── CompressedMessage.java │ │ │ │ ├── Compressor.java │ │ │ │ ├── ConcurrentPool.java │ │ │ │ ├── Connection.java │ │ │ │ ├── ConnectionFactory.java │ │ │ │ ├── ConnectionGenerationSupplier.java │ │ │ │ ├── ConnectionPool.java │ │ │ │ ├── DecimalFormatHelper.java │ │ │ │ ├── DefaultAuthenticator.java │ │ │ │ ├── DefaultClusterFactory.java │ │ │ │ ├── DefaultClusterableServerFactory.java │ │ │ │ ├── DefaultConnectionFactory.java │ │ │ │ ├── DefaultConnectionPool.java │ │ │ │ ├── DefaultDnsSrvRecordMonitor.java │ │ │ │ ├── DefaultDnsSrvRecordMonitorFactory.java │ │ │ │ ├── DefaultInetAddressResolver.java │ │ │ │ ├── DefaultSdamServerDescriptionManager.java │ │ │ │ ├── DefaultServer.java │ │ │ │ ├── DefaultServerConnection.java │ │ │ │ ├── DefaultServerMonitor.java │ │ │ │ ├── DescriptionHelper.java │ │ │ │ ├── DnsMultiServerCluster.java │ │ │ │ ├── DnsSrvRecordInitializer.java │ │ │ │ ├── DnsSrvRecordMonitor.java │ │ │ │ ├── DnsSrvRecordMonitorFactory.java │ │ │ │ ├── DomainNameUtils.java │ │ │ │ ├── DualMessageSequences.java │ │ │ │ ├── EventHelper.java │ │ │ │ ├── ExponentiallyWeightedMovingAverage.java │ │ │ │ ├── ExtendedAsynchronousByteChannel.java │ │ │ │ ├── FaasEnvironment.java │ │ │ │ ├── FieldTrackingBsonWriter.java │ │ │ │ ├── FutureAsyncCompletionHandler.java │ │ │ │ ├── GSSAPIAuthenticator.java │ │ │ │ ├── IdHoldingBsonWriter.java │ │ │ │ ├── IndexMap.java │ │ │ │ ├── InetAddressUtils.java │ │ │ │ ├── InternalConnection.java │ │ │ │ ├── InternalConnectionFactory.java │ │ │ │ ├── InternalConnectionInitializationDescription.java │ │ │ │ ├── InternalConnectionInitializer.java │ │ │ │ ├── InternalConnectionPoolSettings.java │ │ │ │ ├── InternalOperationContextFactory.java │ │ │ │ ├── InternalStreamConnection.java │ │ │ │ ├── InternalStreamConnectionFactory.java │ │ │ │ ├── InternalStreamConnectionInitializer.java │ │ │ │ ├── LevelCountingBsonWriter.java │ │ │ │ ├── LoadBalancedCluster.java │ │ │ │ ├── LoadBalancedClusterableServerFactory.java │ │ │ │ ├── LoadBalancedServer.java │ │ │ │ ├── LoggingCommandEventSender.java │ │ │ │ ├── MessageHeader.java │ │ │ │ ├── MessageSequences.java │ │ │ │ ├── MessageSettings.java │ │ │ │ ├── MongoCredentialWithCache.java │ │ │ │ ├── MongoWriteConcernWithResponseException.java │ │ │ │ ├── MultiServerCluster.java │ │ │ │ ├── NoOpCommandEventSender.java │ │ │ │ ├── NoOpSessionContext.java │ │ │ │ ├── OidcAuthenticator.java │ │ │ │ ├── OpCode.java │ │ │ │ ├── OperationContext.java │ │ │ │ ├── PlainAuthenticator.java │ │ │ │ ├── Pool.java │ │ │ │ ├── PowerOfTwoBufferPool.java │ │ │ │ ├── ProtocolExecutor.java │ │ │ │ ├── ProtocolHelper.java │ │ │ │ ├── ReadConcernAwareNoOpSessionContext.java │ │ │ │ ├── ReadConcernHelper.java │ │ │ │ ├── ReplyHeader.java │ │ │ │ ├── ReplyMessage.java │ │ │ │ ├── RequestMessage.java │ │ │ │ ├── ResponseBuffers.java │ │ │ │ ├── RoundTripTimeSampler.java │ │ │ │ ├── SaslAuthenticator.java │ │ │ │ ├── ScramShaAuthenticator.java │ │ │ │ ├── SdamServerDescriptionManager.java │ │ │ │ ├── Server.java │ │ │ │ ├── ServerAddressHelper.java │ │ │ │ ├── ServerDescriptionHelper.java │ │ │ │ ├── ServerMonitor.java │ │ │ │ ├── ServerMonitoringModeUtil.java │ │ │ │ ├── ServerTuple.java │ │ │ │ ├── ServerTypeHelper.java │ │ │ │ ├── SingleServerCluster.java │ │ │ │ ├── SnappyCompressor.java │ │ │ │ ├── SocketStream.java │ │ │ │ ├── SocketStreamFactory.java │ │ │ │ ├── SocketStreamHelper.java │ │ │ │ ├── SocksSocket.java │ │ │ │ ├── SpeculativeAuthenticator.java │ │ │ │ ├── SplittablePayload.java │ │ │ │ ├── SplittablePayloadBsonWriter.java │ │ │ │ ├── SslHelper.java │ │ │ │ ├── Stream.java │ │ │ │ ├── StreamFactory.java │ │ │ │ ├── StreamFactoryFactory.java │ │ │ │ ├── StreamFactoryHelper.java │ │ │ │ ├── Time.java │ │ │ │ ├── TlsChannelStreamFactoryFactory.java │ │ │ │ ├── TopologyVersionHelper.java │ │ │ │ ├── UnixSocketChannelStream.java │ │ │ │ ├── UsageTrackingInternalConnection.java │ │ │ │ ├── X509Authenticator.java │ │ │ │ ├── ZlibCompressor.java │ │ │ │ ├── ZstdCompressor.java │ │ │ │ ├── netty │ │ │ │ │ ├── NettyByteBuf.java │ │ │ │ │ ├── NettyStream.java │ │ │ │ │ ├── NettyStreamFactory.java │ │ │ │ │ ├── NettyStreamFactoryFactory.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── tlschannel │ │ │ │ │ ├── BufferAllocator.java │ │ │ │ │ ├── ClientTlsChannel.java │ │ │ │ │ ├── DirectBufferAllocator.java │ │ │ │ │ ├── HeapBufferAllocator.java │ │ │ │ │ ├── NeedsReadException.java │ │ │ │ │ ├── NeedsTaskException.java │ │ │ │ │ ├── NeedsWriteException.java │ │ │ │ │ ├── ServerTlsChannel.java │ │ │ │ │ ├── SniSslContextFactory.java │ │ │ │ │ ├── TlsChannel.java │ │ │ │ │ ├── TlsChannelBuilder.java │ │ │ │ │ ├── TlsChannelCallbackException.java │ │ │ │ │ ├── TlsChannelFlowControlException.java │ │ │ │ │ ├── TrackingAllocator.java │ │ │ │ │ ├── WouldBlockException.java │ │ │ │ │ ├── async │ │ │ │ │ ├── AsynchronousTlsChannel.java │ │ │ │ │ ├── AsynchronousTlsChannelGroup.java │ │ │ │ │ ├── ExtendedAsynchronousByteChannel.java │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── impl │ │ │ │ │ ├── BufferHolder.java │ │ │ │ │ ├── ByteBufferSet.java │ │ │ │ │ ├── ByteBufferUtil.java │ │ │ │ │ ├── TlsChannelImpl.java │ │ │ │ │ └── TlsExplorer.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── util │ │ │ │ │ ├── DirectBufferDeallocator.java │ │ │ │ │ └── Util.java │ │ │ ├── diagnostics │ │ │ │ └── logging │ │ │ │ │ ├── Logger.java │ │ │ │ │ ├── Loggers.java │ │ │ │ │ ├── NoOpLogger.java │ │ │ │ │ ├── SLF4JLogger.java │ │ │ │ │ └── package-info.java │ │ │ ├── dns │ │ │ │ ├── DefaultDnsResolver.java │ │ │ │ ├── DnsResolver.java │ │ │ │ ├── JndiDnsClient.java │ │ │ │ └── package-info.java │ │ │ ├── event │ │ │ │ ├── ClusterListenerMulticaster.java │ │ │ │ ├── CommandListenerMulticaster.java │ │ │ │ ├── ConnectionPoolListenerMulticaster.java │ │ │ │ ├── EventListenerHelper.java │ │ │ │ ├── EventReasonMessageResolver.java │ │ │ │ ├── ServerListenerMulticaster.java │ │ │ │ ├── ServerMonitorListenerMulticaster.java │ │ │ │ └── package-info.java │ │ │ ├── function │ │ │ │ ├── CheckedConsumer.java │ │ │ │ ├── CheckedFunction.java │ │ │ │ ├── CheckedRunnable.java │ │ │ │ ├── CheckedSupplier.java │ │ │ │ └── package-info.java │ │ │ ├── graalvm │ │ │ │ └── substitution │ │ │ │ │ └── UnixServerAddressSubstitution.java │ │ │ ├── inject │ │ │ │ ├── EmptyProvider.java │ │ │ │ ├── OptionalProvider.java │ │ │ │ ├── Provider.java │ │ │ │ ├── SameObjectProvider.java │ │ │ │ └── package-info.java │ │ │ ├── logging │ │ │ │ ├── LogMessage.java │ │ │ │ ├── LoggingInterceptor.java │ │ │ │ ├── StructuredLogger.java │ │ │ │ └── package-info.java │ │ │ ├── operation │ │ │ │ ├── AbortTransactionOperation.java │ │ │ │ ├── AbstractWriteSearchIndexOperation.java │ │ │ │ ├── AggregateOperation.java │ │ │ │ ├── AggregateOperationImpl.java │ │ │ │ ├── AggregateResponseBatchCursor.java │ │ │ │ ├── AggregateToCollectionOperation.java │ │ │ │ ├── AsyncChangeStreamBatchCursor.java │ │ │ │ ├── AsyncCommandBatchCursor.java │ │ │ │ ├── AsyncExplainableReadOperation.java │ │ │ │ ├── AsyncOperationHelper.java │ │ │ │ ├── AsyncOperations.java │ │ │ │ ├── AsyncReadOperation.java │ │ │ │ ├── AsyncSingleBatchCursor.java │ │ │ │ ├── AsyncWriteOperation.java │ │ │ │ ├── BaseFindAndModifyOperation.java │ │ │ │ ├── BatchCursor.java │ │ │ │ ├── BsonArrayWrapper.java │ │ │ │ ├── BsonDocumentWrapperHelper.java │ │ │ │ ├── BulkWriteBatch.java │ │ │ │ ├── ChangeStreamBatchCursor.java │ │ │ │ ├── ChangeStreamBatchCursorHelper.java │ │ │ │ ├── ChangeStreamOperation.java │ │ │ │ ├── ClientBulkWriteOperation.java │ │ │ │ ├── CommandBatchCursor.java │ │ │ │ ├── CommandBatchCursorHelper.java │ │ │ │ ├── CommandCursorResult.java │ │ │ │ ├── CommandOperationHelper.java │ │ │ │ ├── CommandReadOperation.java │ │ │ │ ├── CommandResultArrayCodec.java │ │ │ │ ├── CommandResultCodecProvider.java │ │ │ │ ├── CommandResultDocumentCodec.java │ │ │ │ ├── CommitTransactionOperation.java │ │ │ │ ├── CountDocumentsOperation.java │ │ │ │ ├── CountOperation.java │ │ │ │ ├── CreateCollectionOperation.java │ │ │ │ ├── CreateIndexesOperation.java │ │ │ │ ├── CreateSearchIndexesOperation.java │ │ │ │ ├── CreateViewOperation.java │ │ │ │ ├── CursorHelper.java │ │ │ │ ├── CursorResourceManager.java │ │ │ │ ├── DistinctOperation.java │ │ │ │ ├── DocumentHelper.java │ │ │ │ ├── DropCollectionOperation.java │ │ │ │ ├── DropDatabaseOperation.java │ │ │ │ ├── DropIndexOperation.java │ │ │ │ ├── DropSearchIndexOperation.java │ │ │ │ ├── EstimatedDocumentCountOperation.java │ │ │ │ ├── ExplainHelper.java │ │ │ │ ├── ExplainableReadOperation.java │ │ │ │ ├── FindAndDeleteOperation.java │ │ │ │ ├── FindAndModifyHelper.java │ │ │ │ ├── FindAndReplaceOperation.java │ │ │ │ ├── FindAndUpdateOperation.java │ │ │ │ ├── FindOperation.java │ │ │ │ ├── IndexHelper.java │ │ │ │ ├── ListCollectionsOperation.java │ │ │ │ ├── ListDatabasesOperation.java │ │ │ │ ├── ListIndexesOperation.java │ │ │ │ ├── ListSearchIndexesOperation.java │ │ │ │ ├── MapReduceAsyncBatchCursor.java │ │ │ │ ├── MapReduceBatchCursor.java │ │ │ │ ├── MapReduceHelper.java │ │ │ │ ├── MapReduceInlineResultsAsyncCursor.java │ │ │ │ ├── MapReduceInlineResultsCursor.java │ │ │ │ ├── MapReduceStatistics.java │ │ │ │ ├── MapReduceToCollectionOperation.java │ │ │ │ ├── MapReduceWithInlineResultsOperation.java │ │ │ │ ├── MixedBulkWriteOperation.java │ │ │ │ ├── OperationHelper.java │ │ │ │ ├── OperationReadConcernHelper.java │ │ │ │ ├── Operations.java │ │ │ │ ├── QueryHelper.java │ │ │ │ ├── ReadOperation.java │ │ │ │ ├── RenameCollectionOperation.java │ │ │ │ ├── SearchIndexRequest.java │ │ │ │ ├── ServerVersionHelper.java │ │ │ │ ├── SingleBatchCursor.java │ │ │ │ ├── SyncOperationHelper.java │ │ │ │ ├── SyncOperations.java │ │ │ │ ├── TransactionOperation.java │ │ │ │ ├── UpdateSearchIndexesOperation.java │ │ │ │ ├── WriteConcernHelper.java │ │ │ │ ├── WriteOperation.java │ │ │ │ ├── package-info.java │ │ │ │ └── retry │ │ │ │ │ ├── AttachmentKeys.java │ │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── selector │ │ │ │ ├── AtMostTwoRandomServerSelector.java │ │ │ │ ├── LatencyMinimizingServerSelector.java │ │ │ │ ├── MinimumOperationCountServerSelector.java │ │ │ │ ├── PrimaryServerSelector.java │ │ │ │ ├── ReadPreferenceServerSelector.java │ │ │ │ ├── ReadPreferenceWithFallbackServerSelector.java │ │ │ │ ├── ServerAddressSelector.java │ │ │ │ ├── WritableServerSelector.java │ │ │ │ └── package-info.java │ │ │ ├── session │ │ │ │ ├── BaseClientSessionImpl.java │ │ │ │ ├── ClientSessionContext.java │ │ │ │ ├── ServerSessionPool.java │ │ │ │ ├── SessionContext.java │ │ │ │ └── package-info.java │ │ │ ├── thread │ │ │ │ ├── DaemonThreadFactory.java │ │ │ │ ├── InterruptionUtil.java │ │ │ │ └── package-info.java │ │ │ ├── time │ │ │ │ ├── StartTime.java │ │ │ │ ├── TimePoint.java │ │ │ │ ├── Timeout.java │ │ │ │ └── package-info.java │ │ │ └── validator │ │ │ │ ├── MappedFieldNameValidator.java │ │ │ │ ├── NoOpFieldNameValidator.java │ │ │ │ ├── ReplacingDocumentFieldNameValidator.java │ │ │ │ ├── UpdateFieldNameValidator.java │ │ │ │ └── package-info.java │ │ │ ├── lang │ │ │ ├── NonNull.java │ │ │ ├── NonNullApi.java │ │ │ ├── Nullable.java │ │ │ └── package-info.java │ │ │ ├── management │ │ │ ├── ConnectionPoolStatistics.java │ │ │ ├── ConnectionPoolStatisticsMBean.java │ │ │ ├── JMXConnectionPoolListener.java │ │ │ ├── JMXMBeanServer.java │ │ │ ├── MBeanServer.java │ │ │ ├── MBeanServerFactory.java │ │ │ ├── NullMBeanServer.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── selector │ │ │ ├── CompositeServerSelector.java │ │ │ ├── ServerSelector.java │ │ │ └── package-info.java │ │ │ ├── session │ │ │ ├── ClientSession.java │ │ │ ├── ServerSession.java │ │ │ └── package-info.java │ │ │ └── spi │ │ │ └── dns │ │ │ ├── DnsClient.java │ │ │ ├── DnsClientProvider.java │ │ │ ├── DnsException.java │ │ │ ├── DnsWithResponseCodeException.java │ │ │ ├── InetAddressResolver.java │ │ │ ├── InetAddressResolverProvider.java │ │ │ └── package-info.java │ └── resources │ │ └── META-INF │ │ └── native-image │ │ ├── native-image.properties │ │ ├── reflect-config.json │ │ └── resource-config.json │ └── test │ ├── functional │ └── com │ │ └── mongodb │ │ ├── ClusterFixture.java │ │ ├── JsonTestServerVersionChecker.java │ │ ├── KerberosSubjectProviderTest.java │ │ ├── OperationFunctionalSpecification.groovy │ │ ├── client │ │ ├── CommandMonitoringTestHelper.java │ │ ├── CrudTestHelper.java │ │ ├── TestHelper.java │ │ ├── TestListener.java │ │ ├── WithWrapper.java │ │ ├── model │ │ │ ├── AggregatesFunctionalSpecification.groovy │ │ │ ├── AggregatesTest.java │ │ │ ├── ArrayUpdatesFunctionalSpecification.groovy │ │ │ ├── BitwiseUpdatesFunctionalSpecification.groovy │ │ │ ├── FieldSpecification.groovy │ │ │ ├── FiltersFunctionalSpecification.groovy │ │ │ ├── GeoFiltersFunctionalSpecification.groovy │ │ │ ├── GeoJsonFiltersFunctionalSpecification.groovy │ │ │ ├── IndexesFunctionalSpecification.groovy │ │ │ ├── OperationTest.java │ │ │ ├── ProjectionFunctionalSpecification.groovy │ │ │ ├── SortsFunctionalSpecification.groovy │ │ │ ├── TimeSeriesOptionsTest.java │ │ │ ├── UpdatesFunctionalSpecification.groovy │ │ │ ├── mql │ │ │ │ ├── AbstractMqlValuesFunctionalTest.java │ │ │ │ ├── ArithmeticMqlValuesFunctionalTest.java │ │ │ │ ├── ArrayMqlValuesFunctionalTest.java │ │ │ │ ├── BooleanMqlValuesFunctionalTest.java │ │ │ │ ├── ComparisonMqlValuesFunctionalTest.java │ │ │ │ ├── ControlMqlValuesFunctionalTest.java │ │ │ │ ├── DateMqlValuesFunctionalTest.java │ │ │ │ ├── DocumentMqlValuesFunctionalTest.java │ │ │ │ ├── MapMqlValuesFunctionalTest.java │ │ │ │ ├── NotNullApiTest.java │ │ │ │ ├── StringMqlValuesFunctionalTest.java │ │ │ │ └── TypeMqlValuesFunctionalTest.java │ │ │ └── search │ │ │ │ ├── AggregatesBinaryVectorSearchIntegrationTest.java │ │ │ │ └── AggregatesSearchIntegrationTest.java │ │ ├── syncadapter │ │ │ ├── SupplyingCallback.java │ │ │ └── SyncConnection.java │ │ └── test │ │ │ ├── CollectionHelper.java │ │ │ ├── Worker.java │ │ │ ├── WorkerCodec.java │ │ │ └── WorkerCodecProvider.java │ │ ├── connection │ │ ├── ConnectionSpecification.groovy │ │ └── netty │ │ │ └── NettyStreamSpecification.groovy │ │ ├── internal │ │ ├── binding │ │ │ ├── AsyncOperationContextBinding.java │ │ │ ├── AsyncSessionBinding.java │ │ │ ├── AsyncSessionBindingSpecification.groovy │ │ │ ├── AsyncSingleConnectionBinding.java │ │ │ ├── OperationContextBinding.java │ │ │ ├── SessionBinding.java │ │ │ ├── SimpleSessionContext.java │ │ │ └── SingleConnectionBinding.java │ │ ├── capi │ │ │ └── MongoCryptHelperTest.java │ │ ├── connection │ │ │ ├── AsyncSocketChannelStreamSpecification.groovy │ │ │ ├── AsyncStreamTimeoutsSpecification.groovy │ │ │ ├── AwsAuthenticationSpecification.groovy │ │ │ ├── ClientMetadataHelperProseTest.java │ │ │ ├── CommandHelperSpecification.groovy │ │ │ ├── DefaultConnectionPoolTest.java │ │ │ ├── DomainNameUtilsTest.java │ │ │ ├── FaasEnvironmentAccessor.java │ │ │ ├── GSSAPIAuthenticationSpecification.groovy │ │ │ ├── GSSAPIAuthenticatorSpecification.groovy │ │ │ ├── InetAddressUtilsTest.java │ │ │ ├── PlainAuthenticationSpecification.groovy │ │ │ ├── PlainAuthenticatorTest.java │ │ │ ├── ReplyHeaderSpecification.groovy │ │ │ ├── ScramSha256AuthenticationSpecification.groovy │ │ │ ├── ServerHelper.java │ │ │ ├── ServerMonitorSpecification.groovy │ │ │ ├── SingleServerClusterTest.java │ │ │ ├── SocketStreamHelperSpecification.groovy │ │ │ ├── StreamSocketAddressSpecification.groovy │ │ │ ├── TestCommandListener.java │ │ │ ├── TlsChannelStreamFunctionalTest.java │ │ │ └── TopologyVersionHelperTest.java │ │ └── operation │ │ │ ├── AbortTransactionOperationSpecification.groovy │ │ │ ├── AggregateOperationSpecification.groovy │ │ │ ├── AggregateToCollectionOperationSpecification.groovy │ │ │ ├── AsyncCommandBatchCursorFunctionalTest.java │ │ │ ├── AsyncCommandBatchCursorTest.java │ │ │ ├── ChangeStreamOperationProseTestSpecification.groovy │ │ │ ├── ChangeStreamOperationSpecification.groovy │ │ │ ├── CommandBatchCursorFunctionalTest.java │ │ │ ├── CommandOperationSpecification.groovy │ │ │ ├── CommitTransactionOperationSpecification.groovy │ │ │ ├── CountDocumentsOperationSpecification.groovy │ │ │ ├── CreateCollectionOperationSpecification.groovy │ │ │ ├── CreateIndexesOperationSpecification.groovy │ │ │ ├── CreateViewOperationSpecification.groovy │ │ │ ├── DistinctOperationSpecification.groovy │ │ │ ├── DropCollectionOperationSpecification.groovy │ │ │ ├── DropDatabaseOperationSpecification.groovy │ │ │ ├── DropIndexOperationSpecification.groovy │ │ │ ├── FindAndDeleteOperationSpecification.groovy │ │ │ ├── FindAndReplaceOperationSpecification.groovy │ │ │ ├── FindAndUpdateOperationSpecification.groovy │ │ │ ├── FindOperationSpecification.groovy │ │ │ ├── ListCollectionsOperationSpecification.groovy │ │ │ ├── ListDatabasesOperationSpecification.groovy │ │ │ ├── ListIndexesOperationSpecification.groovy │ │ │ ├── MapReduceToCollectionOperationSpecification.groovy │ │ │ ├── MapReduceWithInlineResultsOperationSpecification.groovy │ │ │ ├── MixedBulkWriteOperationSpecification.groovy │ │ │ ├── OperationReadConcernHelperSpecification.groovy │ │ │ ├── RenameCollectionOperationSpecification.groovy │ │ │ └── TestOperationHelper.java │ │ └── test │ │ ├── AfterBeforeParameterResolver.java │ │ ├── FlakyTest.java │ │ └── extension │ │ └── FlakyTestExtension.java │ ├── resources │ └── logback-test.xml │ └── unit │ └── com │ └── mongodb │ ├── AbstractConnectionStringTest.java │ ├── AuthConnectionStringTest.java │ ├── BasicDBObjectTest.java │ ├── ClientEncryptionSettingsSpecification.groovy │ ├── ClientSessionOptionsSpecification.groovy │ ├── ConnectionStringSpecification.groovy │ ├── ConnectionStringTest.java │ ├── ConnectionStringUnitTest.java │ ├── CustomMatchers.groovy │ ├── DBObjectCodecProviderSpecification.groovy │ ├── DBObjectCodecSpecification.groovy │ ├── DBRefCodecSpecification.groovy │ ├── DBRefSpecification.groovy │ ├── DocumentToDBRefTransformerSpecification.groovy │ ├── ErrorCategorySpecification.groovy │ ├── IndexRequestSpecification.groovy │ ├── Jep395RecordCodecProviderTest.java │ ├── MongoClientSettingsSpecification.groovy │ ├── MongoCommandExceptionSpecification.groovy │ ├── MongoCompressorSpecification.groovy │ ├── MongoCredentialSpecification.groovy │ ├── MongoDriverInformationSpecification.groovy │ ├── MongoNamespaceSpecification.groovy │ ├── MongoWriteExceptionTest.java │ ├── ProxySettingsTest.java │ ├── ReadConcernConnectionStringTest.java │ ├── ReadConcernDocumentTest.java │ ├── ReadConcernLevelSpecification.groovy │ ├── ReadConcernSpecification.groovy │ ├── ReadPreferenceChooseServersTest.java │ ├── ReadPreferenceSpecification.groovy │ ├── ServerAddressSpecification.groovy │ ├── TagSetSpecification.groovy │ ├── TransactionOptionsSpecification.groovy │ ├── UnixServerAddressSpecification.groovy │ ├── UriOptionsTest.java │ ├── WriteConcernConnectionStringTest.java │ ├── WriteConcernDocumentTest.java │ ├── WriteConcernSpecification.groovy │ ├── async │ ├── CallbackResultHolder.java │ └── FutureResultCallback.java │ ├── client │ ├── ImmutableDocument.java │ ├── ImmutableDocumentCodec.java │ ├── ImmutableDocumentCodecProvider.java │ ├── async │ │ └── FutureResultCallbackSpecification.groovy │ ├── gridfs │ │ ├── codecs │ │ │ ├── GridFSFileCodecProviderSpecification.groovy │ │ │ └── GridFSFileCodecSpecification.groovy │ │ └── model │ │ │ └── GridFSFileSpecification.groovy │ └── model │ │ ├── AggregatesSpecification.groovy │ │ ├── BsonHelper.java │ │ ├── BucketAutoOptionsSpecification.groovy │ │ ├── BucketGranularitySpecification.groovy │ │ ├── BucketOptionsSpecification.groovy │ │ ├── BulkWriteOptionsSpecification.groovy │ │ ├── CollationAlternateSpecification.groovy │ │ ├── CollationCaseFirstSpecification.groovy │ │ ├── CollationMaxVariableSpecification.groovy │ │ ├── CollationSpecification.groovy │ │ ├── CollationStrengthSpecification.groovy │ │ ├── CountOptionsSpecification.groovy │ │ ├── CreateCollectionOptionsSpecification.groovy │ │ ├── DeleteOptionsSpecification.groovy │ │ ├── FiltersSpecification.groovy │ │ ├── FindOneAndDeleteOptionsSpecification.groovy │ │ ├── FindOneAndReplaceOptionsSpecification.groovy │ │ ├── FindOneAndUpdateOptionsSpecification.groovy │ │ ├── FindOptionsSpecification.groovy │ │ ├── GraphLookupOptionsSpecification.groovy │ │ ├── IndexOptionsSpecification.groovy │ │ ├── IndexesSpecification.groovy │ │ ├── InsertManyOptionsSpecification.groovy │ │ ├── InsertOneOptionsSpecification.groovy │ │ ├── ProjectionsSpecification.groovy │ │ ├── SortsSpecification.groovy │ │ ├── TestWindowOutputFields.java │ │ ├── TestWindows.java │ │ ├── UpdateOptionsSpecification.groovy │ │ ├── UpdatesSpecification.groovy │ │ ├── ValidationActionSpecification.groovy │ │ ├── ValidationLevelSpecification.groovy │ │ ├── bulk │ │ ├── BaseClientDeleteOptionsTest.java │ │ ├── BaseClientUpdateOptionsTest.java │ │ ├── BaseClientUpsertableWriteModelOptionsTest.java │ │ └── BaseClientWriteModelOptionsTest.java │ │ ├── changestream │ │ ├── ChangeStreamDocumentCodecSpecification.groovy │ │ ├── ChangeStreamDocumentSpecification.groovy │ │ ├── FullDocumentSpecification.groovy │ │ ├── OperationTypeCodecSpecification.groovy │ │ ├── OperationTypeSpecification.groovy │ │ └── UpdateDescriptionSpecification.groovy │ │ ├── densify │ │ ├── DensifyOptionsTest.java │ │ └── DensifyRangeTest.java │ │ ├── fill │ │ ├── FillOptionsTest.java │ │ └── FillOutputFieldTest.java │ │ ├── geojson │ │ ├── GeometryCollectionSpecification.groovy │ │ ├── LineStringSpecification.groovy │ │ ├── MultiLineStringSpecification.groovy │ │ ├── MultiPointSpecification.groovy │ │ ├── MultiPolygonSpecification.groovy │ │ ├── PointSpecification.groovy │ │ ├── PolygonSpecification.groovy │ │ ├── PositionSpecification.groovy │ │ └── codecs │ │ │ ├── GeometryCodecSpecification.groovy │ │ │ ├── GeometryCollectionCodecSpecification.groovy │ │ │ ├── LineStringCodecSpecification.groovy │ │ │ ├── MultiLineStringCodecSpecification.groovy │ │ │ ├── MultiPointCodecSpecification.groovy │ │ │ ├── MultiPolygonCodecSpecification.groovy │ │ │ ├── NamedCoordinateReferenceSystemSpecification.groovy │ │ │ ├── PointCodecSpecification.groovy │ │ │ └── PolygonCodecSpecification.groovy │ │ └── search │ │ ├── BinaryVectorSearchOptionsTest.java │ │ ├── FuzzySearchOptionsTest.java │ │ ├── SearchCollectorTest.java │ │ ├── SearchCountTest.java │ │ ├── SearchFacetTest.java │ │ ├── SearchHighlightTest.java │ │ ├── SearchOperatorTest.java │ │ ├── SearchOptionsTest.java │ │ ├── SearchPathTest.java │ │ ├── SearchScoreExpressionTest.java │ │ └── SearchScoreTest.java │ ├── connection │ ├── AsyncTransportSettingsTest.java │ ├── ClusterDescriptionTest.java │ ├── ClusterIdSpecification.groovy │ ├── ClusterSettingsSpecification.groovy │ ├── ConnectionDescriptionSpecification.groovy │ ├── ConnectionIdSpecification.groovy │ ├── ConnectionPoolSettingsSpecification.groovy │ ├── NettyTransportSettingsTest.java │ ├── ServerAddressHelperTest.java │ ├── ServerDescriptionTest.java │ ├── ServerIdSpecification.groovy │ ├── ServerSelectionSelectionTest.java │ ├── ServerSettingsSpecification.groovy │ ├── ServerSettingsTest.java │ ├── ServerVersionSpecification.groovy │ ├── SocketSettingsSpecification.groovy │ ├── SocketSettingsTest.java │ └── SslSettingsSpecification.groovy │ ├── event │ ├── CommandEventSpecification.groovy │ ├── ServerHeartbeatEventSpecification.groovy │ └── TestServerMonitorListener.java │ ├── internal │ ├── ExceptionUtilsTest.java │ ├── ExpirableValueTest.java │ ├── IterablesTest.java │ ├── SslHelperSpecification.groovy │ ├── TimeoutContextTest.java │ ├── TimeoutSettingsTest.java │ ├── async │ │ ├── AsyncFunctionsAbstractTest.java │ │ ├── AsyncFunctionsTestBase.java │ │ ├── SameThreadAsyncFunctionsTest.java │ │ ├── SeparateThreadAsyncFunctionsTest.java │ │ └── function │ │ │ ├── LoopStateTest.java │ │ │ └── RetryStateTest.java │ ├── authentication │ │ └── SaslPrepTest.java │ ├── binding │ │ └── SingleServerBindingSpecification.groovy │ ├── client │ │ └── model │ │ │ ├── AbstractConstructibleBsonElementTest.java │ │ │ └── AbstractConstructibleBsonTest.java │ ├── connection │ │ ├── AbstractConnectionPoolTest.java │ │ ├── AbstractServerDiscoveryAndMonitoringTest.java │ │ ├── AsynchronousClusterEventListenerTest.java │ │ ├── AsynchronousSocketChannelStreamFactoryFactorySpecification.groovy │ │ ├── AuthorizationHeaderTest.java │ │ ├── BaseClusterSpecification.groovy │ │ ├── BaseClusterTest.java │ │ ├── BulkWriteBatchCombinerSpecification.groovy │ │ ├── ByteBufBsonArrayTest.java │ │ ├── ByteBufBsonDocumentSpecification.groovy │ │ ├── ByteBufSpecification.groovy │ │ ├── ByteBufTest.java │ │ ├── ByteBufferBsonInputTest.java │ │ ├── ByteBufferBsonOutputTest.java │ │ ├── ClusterClockSpecification.groovy │ │ ├── CommandHelperTest.java │ │ ├── CommandMessageSpecification.groovy │ │ ├── CommandMessageTest.java │ │ ├── CompositeByteBufSpecification.groovy │ │ ├── ConcurrentPoolTest.java │ │ ├── ConnectionPoolAsyncTest.java │ │ ├── ConnectionPoolTest.java │ │ ├── DefaultClusterFactoryTest.java │ │ ├── DefaultConnectionPoolSpecification.groovy │ │ ├── DefaultDnsSrvRecordMonitorSpecification.groovy │ │ ├── DefaultServerConnectionSpecification.groovy │ │ ├── DefaultServerMonitorTest.java │ │ ├── DefaultServerSpecification.groovy │ │ ├── DefaultTestClusterableServerFactory.java │ │ ├── DescriptionHelperSpecification.groovy │ │ ├── DnsMultiServerClusterSpecification.groovy │ │ ├── EventHelperTest.java │ │ ├── ExponentiallyWeightedMovingAverageTest.java │ │ ├── IdHoldingBsonWriterSpecification.groovy │ │ ├── IndexMapSpecification.groovy │ │ ├── InitialDnsSeedListDiscoveryProseTest.java │ │ ├── InternalStreamConnectionInitializerSpecification.groovy │ │ ├── InternalStreamConnectionSpecification.groovy │ │ ├── JMXConnectionPoolListenerSpecification.groovy │ │ ├── LoadBalancedClusterTest.java │ │ ├── LoggingCommandEventSenderSpecification.groovy │ │ ├── MessageHelper.java │ │ ├── MultiServerClusterSpecification.groovy │ │ ├── NoOpSessionContextSpecification.groovy │ │ ├── PlainAuthenticatorUnitTest.java │ │ ├── PowerOfTwoBufferPoolTest.java │ │ ├── ProtocolHelperSpecification.groovy │ │ ├── ReadConcernHelperSpecification.groovy │ │ ├── ReplyMessageTest.java │ │ ├── RoundTripTimeSamplerTest.java │ │ ├── ScramShaAuthenticatorSpecification.groovy │ │ ├── ServerDeprioritizationTest.java │ │ ├── ServerDiscoveryAndMonitoringMonitoringTest.java │ │ ├── ServerDiscoveryAndMonitoringTest.java │ │ ├── ServerListenerFactory.java │ │ ├── ServerMonitoringModeUtilTest.java │ │ ├── ServerSelectionRttTest.java │ │ ├── ServerSelectionWithinLatencyWindowTest.java │ │ ├── SimpleBufferProvider.java │ │ ├── SingleServerClusterSpecification.groovy │ │ ├── SrvPollingProseTests.java │ │ ├── StreamFactoryHelperTest.java │ │ ├── StreamHelper.groovy │ │ ├── TestClusterListener.java │ │ ├── TestClusterableServerFactory.java │ │ ├── TestConnection.java │ │ ├── TestConnectionFactory.java │ │ ├── TestConnectionGenerationSupplier.java │ │ ├── TestConnectionPool.java │ │ ├── TestConnectionPoolListener.java │ │ ├── TestInternalConnection.java │ │ ├── TestInternalConnectionFactory.java │ │ ├── TestServer.java │ │ ├── TestServerListener.java │ │ ├── TestServerMonitor.java │ │ ├── TestSessionContext.java │ │ ├── TimeSpecification.groovy │ │ ├── TimeoutTrackingConnectionGetter.java │ │ ├── UsageTrackingConnectionSpecification.groovy │ │ ├── X509AuthenticatorNoUserNameTest.java │ │ ├── X509AuthenticatorUnitTest.java │ │ ├── netty │ │ │ ├── ByteBufSpecification.groovy │ │ │ ├── NettyStreamFactoryFactorySpecification.groovy │ │ │ └── NettyStreamFactorySpecification.groovy │ │ └── tlschannel │ │ │ └── util │ │ │ └── UtilTest.java │ ├── dns │ │ └── DefaultDnsResolverTest.java │ ├── function │ │ └── AsyncCallbackSupplierTest.java │ ├── logging │ │ └── LogMessageTest.java │ ├── mockito │ │ ├── InsufficientStubbingDetector.java │ │ ├── InsufficientStubbingDetectorDemoTest.java │ │ └── MongoMockito.java │ ├── operation │ │ ├── AsyncChangeStreamBatchCursorSpecification.groovy │ │ ├── AsyncCommandBatchCursorSpecification.groovy │ │ ├── AsyncOperationHelperSpecification.groovy │ │ ├── AsyncSingleBatchCursorTest.java │ │ ├── BulkWriteBatchSpecification.groovy │ │ ├── ChangeStreamBatchCursorHelperTest.java │ │ ├── ChangeStreamBatchCursorSpecification.groovy │ │ ├── ChangeStreamBatchCursorTest.java │ │ ├── CommandBatchCursorSpecification.groovy │ │ ├── CommandBatchCursorTest.java │ │ ├── CommandOperationHelperSpecification.groovy │ │ ├── CommitTransactionOperationUnitSpecification.groovy │ │ ├── CursorResourceManagerTest.java │ │ ├── DeleteRequestSpecification.groovy │ │ ├── FindOperationUnitSpecification.groovy │ │ ├── InsertRequestSpecification.groovy │ │ ├── ListCollectionsOperationTest.java │ │ ├── OperationHelperSpecification.groovy │ │ ├── OperationUnitSpecification.groovy │ │ ├── SingleBatchCursorTest.java │ │ ├── SyncOperationHelperSpecification.groovy │ │ ├── UpdateRequestSpecification.groovy │ │ ├── WriteConcernHelperSpecification.groovy │ │ └── WriteConcernHelperTest.java │ ├── selector │ │ ├── AtMostTwoRandomServerSelectorTest.java │ │ ├── LatencyMinimizingServerSelectorTest.java │ │ ├── MinimumOperationCountServerSelectorTest.java │ │ ├── PrimaryServerSelectorSpecification.groovy │ │ ├── ReadPreferenceServerSelectorSpecification.groovy │ │ ├── ReadPreferenceWithFallbackServerSelectorTest.java │ │ ├── ServerAddressSelectorTest.java │ │ └── WritableServerSelectorSpecification.groovy │ ├── session │ │ ├── BaseClientSessionImplTest.java │ │ ├── ClientSessionContextSpecification.groovy │ │ └── ServerSessionPoolSpecification.groovy │ ├── thread │ │ └── DaemonThreadFactorySpecification.groovy │ ├── time │ │ └── TimePointTest.java │ └── validator │ │ └── ReplacingDocumentFieldNameValidatorTest.java │ ├── logging │ └── TestLoggingInterceptor.java │ ├── selector │ └── CompositeServerSelectorTest.java │ ├── spock │ └── Slow.java │ └── testing │ ├── MongoAssertions.java │ └── MongoBaseInterfaceAssertions.java ├── driver-kotlin-coroutine ├── build.gradle.kts └── src │ ├── integrationTest │ └── kotlin │ │ └── com │ │ └── mongodb │ │ └── kotlin │ │ └── client │ │ └── coroutine │ │ ├── SmokeTests.kt │ │ ├── UnifiedCrudTest.kt │ │ ├── UnifiedTest.kt │ │ └── syncadapter │ │ ├── SyncAggregateIterable.kt │ │ ├── SyncChangeStreamIterable.kt │ │ ├── SyncClientSession.kt │ │ ├── SyncDistinctIterable.kt │ │ ├── SyncFindIterable.kt │ │ ├── SyncListCollectionNamesIterable.kt │ │ ├── SyncListCollectionsIterable.kt │ │ ├── SyncListDatabasesIterable.kt │ │ ├── SyncListIndexesIterable.kt │ │ ├── SyncListSearchIndexesIterable.kt │ │ ├── SyncMapReduceIterable.kt │ │ ├── SyncMongoChangeStreamCursor.kt │ │ ├── SyncMongoClient.kt │ │ ├── SyncMongoCluster.kt │ │ ├── SyncMongoCollection.kt │ │ ├── SyncMongoCursor.kt │ │ ├── SyncMongoDatabase.kt │ │ └── SyncMongoIterable.kt │ ├── main │ └── kotlin │ │ └── com │ │ └── mongodb │ │ └── kotlin │ │ └── client │ │ └── coroutine │ │ ├── AggregateFlow.kt │ │ ├── ChangeStreamFlow.kt │ │ ├── ClientSession.kt │ │ ├── DistinctFlow.kt │ │ ├── FindFlow.kt │ │ ├── ListCollectionNamesFlow.kt │ │ ├── ListCollectionsFlow.kt │ │ ├── ListDatabasesFlow.kt │ │ ├── ListIndexesFlow.kt │ │ ├── ListSearchIndexesFlow.kt │ │ ├── MapReduceFlow.kt │ │ ├── MongoClient.kt │ │ ├── MongoCluster.kt │ │ ├── MongoCollection.kt │ │ └── MongoDatabase.kt │ └── test │ └── kotlin │ └── com │ └── mongodb │ └── kotlin │ └── client │ └── coroutine │ ├── AggregateFlowTest.kt │ ├── ChangeStreamFlowTest.kt │ ├── ClientSessionTest.kt │ ├── DistinctFlowTest.kt │ ├── ExtensionMethodsTest.kt │ ├── FindFlowTest.kt │ ├── ListCollectionNamesFlowTest.kt │ ├── ListCollectionsFlowTest.kt │ ├── ListDatabasesFlowTest.kt │ ├── ListIndexesFlowTest.kt │ ├── MapReduceFlowTest.kt │ ├── MockitoHelper.kt │ ├── MongoClientTest.kt │ ├── MongoCollectionTest.kt │ └── MongoDatabaseTest.kt ├── driver-kotlin-extensions ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ ├── com │ │ └── mongodb │ │ │ └── kotlin │ │ │ └── client │ │ │ ├── model │ │ │ ├── Accumulators.kt │ │ │ ├── Aggregates.kt │ │ │ ├── Filters.kt │ │ │ ├── Indexes.kt │ │ │ ├── Projections.kt │ │ │ ├── Properties.kt │ │ │ ├── Sorts.kt │ │ │ └── Updates.kt │ │ │ └── property │ │ │ └── KPropertyPath.kt │ │ └── kotlin │ │ └── internal │ │ └── OnlyInputTypes.kt │ └── test │ └── kotlin │ └── com │ └── mongodb │ └── kotlin │ └── client │ └── model │ ├── AggregatesTest.kt │ ├── ExtensionsApiTest.kt │ ├── FiltersTest.kt │ ├── IndexesTest.kt │ ├── KPropertiesTest.kt │ ├── ProjectionTest.kt │ ├── SortsTest.kt │ └── UpdatesTest.kt ├── driver-kotlin-sync ├── build.gradle.kts └── src │ ├── integrationTest │ └── kotlin │ │ └── com │ │ └── mongodb │ │ └── kotlin │ │ └── client │ │ ├── SmokeTests.kt │ │ ├── UnifiedCrudTest.kt │ │ ├── UnifiedTest.kt │ │ └── syncadapter │ │ ├── SyncAggregateIterable.kt │ │ ├── SyncChangeStreamIterable.kt │ │ ├── SyncClientSession.kt │ │ ├── SyncDistinctIterable.kt │ │ ├── SyncFindIterable.kt │ │ ├── SyncListCollectionNamesIterable.kt │ │ ├── SyncListCollectionsIterable.kt │ │ ├── SyncListDatabasesIterable.kt │ │ ├── SyncListIndexesIterable.kt │ │ ├── SyncListSearchIndexesIterable.kt │ │ ├── SyncMongoChangeStreamCursor.kt │ │ ├── SyncMongoClient.kt │ │ ├── SyncMongoCluster.kt │ │ ├── SyncMongoCollection.kt │ │ ├── SyncMongoCursor.kt │ │ ├── SyncMongoDatabase.kt │ │ └── SyncMongoIterable.kt │ ├── main │ └── kotlin │ │ └── com │ │ └── mongodb │ │ └── kotlin │ │ └── client │ │ ├── AggregateIterable.kt │ │ ├── ChangeStreamIterable.kt │ │ ├── ClientSession.kt │ │ ├── DistinctIterable.kt │ │ ├── FindIterable.kt │ │ ├── ListCollectionNamesIterable.kt │ │ ├── ListCollectionsIterable.kt │ │ ├── ListDatabasesIterable.kt │ │ ├── ListIndexesIterable.kt │ │ ├── ListSearchIndexesIterable.kt │ │ ├── MongoClient.kt │ │ ├── MongoCluster.kt │ │ ├── MongoCollection.kt │ │ ├── MongoCursor.kt │ │ ├── MongoDatabase.kt │ │ └── MongoIterable.kt │ └── test │ └── kotlin │ └── com │ └── mongodb │ └── kotlin │ └── client │ ├── AggregateIterableTest.kt │ ├── ChangeStreamIterableTest.kt │ ├── ClientSessionTest.kt │ ├── DistinctIterableTest.kt │ ├── ExtensionMethodsTest.kt │ ├── FindIterableTest.kt │ ├── ListCollectionNamesIterableTest.kt │ ├── ListCollectionsIterableTest.kt │ ├── ListDatabasesIterableTest.kt │ ├── ListIndexesIterableTest.kt │ ├── MockitoHelper.kt │ ├── MongoChangeStreamCursorTest.kt │ ├── MongoClientTest.kt │ ├── MongoCollectionTest.kt │ ├── MongoCursorTest.kt │ ├── MongoDatabaseTest.kt │ └── MongoIterableTest.kt ├── driver-lambda ├── build.gradle.kts ├── samconfig.toml ├── src │ └── main │ │ └── com │ │ └── mongodb │ │ └── lambdatest │ │ └── LambdaTestApp.java └── template.yaml ├── driver-legacy ├── build.gradle.kts └── src │ ├── examples │ └── tour │ │ ├── Decimal128LegacyAPIQuickTour.java │ │ └── package-info.java │ ├── main │ └── com │ │ └── mongodb │ │ ├── AcknowledgedBulkWriteResult.java │ │ ├── AggregationOptions.java │ │ ├── BulkUpdateRequestBuilder.java │ │ ├── BulkWriteError.java │ │ ├── BulkWriteException.java │ │ ├── BulkWriteHelper.java │ │ ├── BulkWriteOperation.java │ │ ├── BulkWriteRequestBuilder.java │ │ ├── BulkWriteResult.java │ │ ├── BulkWriteUpsert.java │ │ ├── CommandResult.java │ │ ├── CompoundDBObjectCodec.java │ │ ├── Cursor.java │ │ ├── DB.java │ │ ├── DBCallback.java │ │ ├── DBCallbackFactory.java │ │ ├── DBCollection.java │ │ ├── DBCollectionObjectFactory.java │ │ ├── DBCursor.java │ │ ├── DBCursorCleaner.java │ │ ├── DBDecoder.java │ │ ├── DBDecoderAdapter.java │ │ ├── DBDecoderFactory.java │ │ ├── DBEncoder.java │ │ ├── DBEncoderAdapter.java │ │ ├── DBEncoderFactory.java │ │ ├── DBEncoderFactoryAdapter.java │ │ ├── DBObjectCollationHelper.java │ │ ├── DBObjects.java │ │ ├── DefaultDBCallback.java │ │ ├── DefaultDBDecoder.java │ │ ├── DefaultDBEncoder.java │ │ ├── InsertOptions.java │ │ ├── InsertRequest.java │ │ ├── Java8DBCursorCleaner.java │ │ ├── Java9DBCursorCleaner.java │ │ ├── LazyDBCallback.java │ │ ├── LazyDBDecoder.java │ │ ├── LazyDBEncoder.java │ │ ├── LazyDBList.java │ │ ├── LazyDBObject.java │ │ ├── LegacyMixedBulkWriteOperation.java │ │ ├── MapReduceCommand.java │ │ ├── MapReduceOutput.java │ │ ├── MongoClient.java │ │ ├── MongoClientOptions.java │ │ ├── MongoClientURI.java │ │ ├── MongoCursorAdapter.java │ │ ├── QueryBuilder.java │ │ ├── QueryOperators.java │ │ ├── RemoveRequest.java │ │ ├── ReplaceRequest.java │ │ ├── TimeoutSettingsHelper.java │ │ ├── UnacknowledgedBulkWriteResult.java │ │ ├── UpdateRequest.java │ │ ├── WriteConcernError.java │ │ ├── WriteRequest.java │ │ ├── WriteResult.java │ │ ├── client │ │ ├── jndi │ │ │ ├── MongoClientFactory.java │ │ │ └── package-info.java │ │ └── model │ │ │ ├── DBCollectionCountOptions.java │ │ │ ├── DBCollectionDistinctOptions.java │ │ │ ├── DBCollectionFindAndModifyOptions.java │ │ │ ├── DBCollectionFindOptions.java │ │ │ ├── DBCollectionRemoveOptions.java │ │ │ ├── DBCollectionUpdateOptions.java │ │ │ └── DBCreateViewOptions.java │ │ └── gridfs │ │ ├── GridFS.java │ │ ├── GridFSDBFile.java │ │ ├── GridFSFile.java │ │ ├── GridFSInputFile.java │ │ └── package-info.java │ └── test │ ├── functional │ └── com │ │ └── mongodb │ │ ├── ClassA.java │ │ ├── ClassB.java │ │ ├── ClientSideEncryptionLegacyTest.java │ │ ├── ConnectivityTest.java │ │ ├── DBCollectionAggregationTest.java │ │ ├── DBCollectionFunctionalSpecification.groovy │ │ ├── DBCollectionOldTest.java │ │ ├── DBCollectionSpecification.groovy │ │ ├── DBCollectionTest.java │ │ ├── DBCursorFunctionalSpecification.groovy │ │ ├── DBCursorOldTest.java │ │ ├── DBCursorTest.java │ │ ├── DBFunctionalSpecification.groovy │ │ ├── DBObjectCodecTest.java │ │ ├── DBRefTest.java │ │ ├── DBTest.java │ │ ├── DatabaseTestCase.java │ │ ├── DefaultDBDecoderTest.java │ │ ├── ExplicitUuidCodecUuidRepresentationTest.java │ │ ├── Fixture.java │ │ ├── FunctionalSpecification.groovy │ │ ├── LegacyMixedBulkWriteOperationSpecification.groovy │ │ ├── MapReduceOutputSpecification.groovy │ │ ├── MapReduceTest.java │ │ ├── MongoClientListenerRegistrationSpecification.groovy │ │ ├── MongoClientSessionSpecification.groovy │ │ ├── MongoClientsSpecification.groovy │ │ ├── QueryBuilderTest.java │ │ ├── QueryTest.java │ │ ├── UuidRepresentationTest.java │ │ ├── client │ │ ├── LegacyDatabaseTestCase.java │ │ └── jndi │ │ │ └── MongoClientFactorySpecification.groovy │ │ └── gridfs │ │ └── GridFSTest.java │ ├── resources │ └── GridFSLegacy │ │ └── GridFSTestFile.txt │ └── unit │ └── com │ └── mongodb │ ├── AggregationOptionsSpecification.groovy │ ├── CommandResultTest.java │ ├── DBCollectionObjectFactoryTest.java │ ├── DBCursorSpecification.groovy │ ├── DBEncoderDecoderDBRefSpecification.groovy │ ├── DBObjectCollationHelperSpecification.groovy │ ├── DBObjectMatchers.java │ ├── DBSpecification.groovy │ ├── LazyDBEncoderTest.java │ ├── LazyDBObjectSpecification.groovy │ ├── MapReduceCommandSpecification.groovy │ ├── MongoClientOptionsSpecification.groovy │ ├── MongoClientSpecification.groovy │ ├── MongoClientURISpecification.groovy │ └── client │ └── model │ ├── DBCollectionCountOptionsSpecification.groovy │ ├── DBCollectionDistinctOptionsSpecification.groovy │ ├── DBCollectionFindAndModifyOptionsSpecification.groovy │ ├── DBCollectionFindOptionsSpecification.groovy │ ├── DBCollectionRemoveOptionsSpecification.groovy │ └── DBCollectionUpdateOptionsSpecification.groovy ├── driver-reactive-streams ├── build.gradle.kts └── src │ ├── examples │ └── reactivestreams │ │ ├── documentation │ │ └── DocumentationSamples.java │ │ ├── gridfs │ │ ├── GridFSTour.java │ │ └── package-info.java │ │ ├── helpers │ │ ├── PublisherHelpers.java │ │ ├── SubscriberHelpers.java │ │ └── package-info.java │ │ ├── primer │ │ ├── AggregatePrimer.java │ │ ├── IndexesPrimer.java │ │ ├── InsertPrimer.java │ │ ├── PrimerTestCase.java │ │ ├── QueryPrimer.java │ │ ├── RemovePrimer.java │ │ └── UpdatePrimer.java │ │ └── tour │ │ ├── Address.java │ │ ├── ClientSideEncryptionAutoEncryptionSettingsTour.java │ │ ├── ClientSideEncryptionExplicitEncryptionAndDecryptionTour.java │ │ ├── ClientSideEncryptionExplicitEncryptionOnlyTour.java │ │ ├── ClientSideEncryptionQueryableEncryptionTour.java │ │ ├── ClientSideEncryptionSimpleTour.java │ │ ├── Person.java │ │ ├── PojoQuickTour.java │ │ ├── QuickTour.java │ │ └── package-info.java │ ├── main │ └── com │ │ └── mongodb │ │ └── reactivestreams │ │ └── client │ │ ├── AggregatePublisher.java │ │ ├── ChangeStreamPublisher.java │ │ ├── ClientSession.java │ │ ├── DistinctPublisher.java │ │ ├── FindPublisher.java │ │ ├── ListCollectionNamesPublisher.java │ │ ├── ListCollectionsPublisher.java │ │ ├── ListDatabasesPublisher.java │ │ ├── ListIndexesPublisher.java │ │ ├── ListSearchIndexesPublisher.java │ │ ├── MapReducePublisher.java │ │ ├── MongoClient.java │ │ ├── MongoClients.java │ │ ├── MongoCluster.java │ │ ├── MongoCollection.java │ │ ├── MongoDatabase.java │ │ ├── ReactiveContextProvider.java │ │ ├── gridfs │ │ ├── GridFSBucket.java │ │ ├── GridFSBuckets.java │ │ ├── GridFSDownloadPublisher.java │ │ ├── GridFSFindPublisher.java │ │ ├── GridFSUploadPublisher.java │ │ └── package-info.java │ │ ├── internal │ │ ├── AggregatePublisherImpl.java │ │ ├── BatchCursor.java │ │ ├── BatchCursorFlux.java │ │ ├── BatchCursorPublisher.java │ │ ├── ChangeStreamPublisherImpl.java │ │ ├── ClientSessionBinding.java │ │ ├── ClientSessionHelper.java │ │ ├── ClientSessionPublisherImpl.java │ │ ├── DistinctPublisherImpl.java │ │ ├── FindPublisherImpl.java │ │ ├── ListCollectionNamesPublisherImpl.java │ │ ├── ListCollectionsPublisherImpl.java │ │ ├── ListDatabasesPublisherImpl.java │ │ ├── ListIndexesPublisherImpl.java │ │ ├── ListSearchIndexesPublisherImpl.java │ │ ├── MapReducePublisherImpl.java │ │ ├── MongoClientImpl.java │ │ ├── MongoClusterImpl.java │ │ ├── MongoCollectionImpl.java │ │ ├── MongoDatabaseImpl.java │ │ ├── MongoOperationPublisher.java │ │ ├── OperationExecutor.java │ │ ├── OperationExecutorImpl.java │ │ ├── TimeoutHelper.java │ │ ├── VoidReadOperationThenCursorReadOperation.java │ │ ├── VoidWriteOperationThenCursorReadOperation.java │ │ ├── crypt │ │ │ ├── CollectionInfoRetriever.java │ │ │ ├── CommandMarker.java │ │ │ ├── Crypt.java │ │ │ ├── CryptBinding.java │ │ │ ├── CryptConnection.java │ │ │ ├── Crypts.java │ │ │ ├── KeyManagementService.java │ │ │ ├── KeyRetriever.java │ │ │ └── package-info.java │ │ ├── gridfs │ │ │ ├── GridFSBucketImpl.java │ │ │ ├── GridFSDownloadPublisherImpl.java │ │ │ ├── GridFSFindPublisherImpl.java │ │ │ ├── GridFSPublisherCreator.java │ │ │ ├── GridFSUploadPublisherImpl.java │ │ │ ├── ResizingByteBufferFlux.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ └── vault │ │ │ ├── ClientEncryptionImpl.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ └── vault │ │ ├── ClientEncryption.java │ │ ├── ClientEncryptions.java │ │ └── package-info.java │ └── test │ ├── functional │ └── com │ │ └── mongodb │ │ ├── internal │ │ └── connection │ │ │ └── OidcAuthenticationAsyncProseTests.java │ │ └── reactivestreams │ │ └── client │ │ ├── AsyncTransportSettingsTest.java │ │ ├── AtlasSearchIndexManagementProseTest.java │ │ ├── BatchCursorPublisherErrorTest.java │ │ ├── ChangeStreamsCancellationTest.java │ │ ├── ClientEncryptionCustomEndpointTest.java │ │ ├── ClientEncryptionDataKeyAndDoubleEncryptionTest.java │ │ ├── ClientEncryptionRewrapManyDataKeyProseTest.java │ │ ├── ClientSideEncryption25LookupProseTests.java │ │ ├── ClientSideEncryptionAutoDataKeysTest.java │ │ ├── ClientSideEncryptionAwsCredentialFromEnvironmentTest.java │ │ ├── ClientSideEncryptionBsonSizeLimitsSpecification.groovy │ │ ├── ClientSideEncryptionBypassAutoEncryptionTest.java │ │ ├── ClientSideEncryptionCorpusTest.java │ │ ├── ClientSideEncryptionDeadlockTest.java │ │ ├── ClientSideEncryptionDecryptionEventsTest.java │ │ ├── ClientSideEncryptionExternalKeyVaultTest.java │ │ ├── ClientSideEncryptionKmsTlsTest.java │ │ ├── ClientSideEncryptionNotCreateMongocryptdClientTest.java │ │ ├── ClientSideEncryptionNotSpawnMongocryptdTest.java │ │ ├── ClientSideEncryptionOnDemandCredentialsTest.java │ │ ├── ClientSideEncryptionRangeDefaultExplicitEncryptionTest.java │ │ ├── ClientSideEncryptionRangeExplicitEncryptionTest.java │ │ ├── ClientSideEncryptionSessionTest.java │ │ ├── ClientSideEncryptionTest.java │ │ ├── ClientSideEncryptionUniqueIndexKeyAltNamesTest.java │ │ ├── ClientSideEncryptionViewAreProhibitedTest.java │ │ ├── ClientSideExplicitEncryptionTest.java │ │ ├── ClientSideOperationTimeoutProseTest.java │ │ ├── ConnectivityTest.java │ │ ├── ContextProviderTest.java │ │ ├── CrudProseTest.java │ │ ├── DatabaseTestCase.java │ │ ├── DnsConfigurationTest.java │ │ ├── ExplainTest.java │ │ ├── Fixture.java │ │ ├── FunctionalSpecification.groovy │ │ ├── MongoClientListenerRegistrationSpecification.groovy │ │ ├── MongoClientSessionSpecification.groovy │ │ ├── MongoClientsSpecification.groovy │ │ ├── MongoCollectionTest.java │ │ ├── MongoWriteConcernWithResponseExceptionTest.java │ │ ├── NettySettingsSmokeTestSpecification.groovy │ │ ├── ReactiveContextProviderTest.java │ │ ├── ReactiveInitialDnsSeedlistDiscoveryTest.java │ │ ├── ReadConcernTest.java │ │ ├── RetryableReadsProseTest.java │ │ ├── RetryableWritesProseTest.java │ │ ├── ServerSelectionProseTest.java │ │ ├── SessionsProseTest.java │ │ ├── SmokeTestSpecification.groovy │ │ ├── TestEventPublisher.java │ │ ├── TestSubscriber.java │ │ ├── WriteConcernProseTest.java │ │ ├── csot │ │ └── ClientSideOperationsEncryptionTimeoutProseTest.java │ │ ├── gridfs │ │ └── GridFSPublisherSpecification.groovy │ │ ├── internal │ │ ├── BatchCursorFluxTest.java │ │ ├── BatchCursorPublisherTest.java │ │ └── ConnectionsSurvivePrimaryStepDownProseTest.java │ │ ├── syncadapter │ │ ├── ContextHelper.java │ │ ├── SyncAggregateIterable.java │ │ ├── SyncChangeStreamIterable.java │ │ ├── SyncClientEncryption.java │ │ ├── SyncClientSession.java │ │ ├── SyncDistinctIterable.java │ │ ├── SyncFindIterable.java │ │ ├── SyncGridFSBucket.java │ │ ├── SyncGridFSDownloadStream.java │ │ ├── SyncGridFSFindIterable.java │ │ ├── SyncListCollectionNamesIterable.java │ │ ├── SyncListCollectionsIterable.java │ │ ├── SyncListDatabasesIterable.java │ │ ├── SyncListIndexesIterable.java │ │ ├── SyncListSearchIndexesIterable.java │ │ ├── SyncMapReduceIterable.java │ │ ├── SyncMongoClient.java │ │ ├── SyncMongoCluster.java │ │ ├── SyncMongoCollection.java │ │ ├── SyncMongoCursor.java │ │ ├── SyncMongoDatabase.java │ │ ├── SyncMongoIterable.java │ │ └── package-info.java │ │ ├── unified │ │ ├── ChangeStreamsTest.java │ │ ├── ClientSideEncryptionTest.java │ │ ├── ClientSideOperationTimeoutTest.java │ │ ├── CollectionManagementTest.java │ │ ├── CommandLoggingTest.java │ │ ├── CommandMonitoringTest.java │ │ ├── ConnectionPoolLoggingTest.java │ │ ├── IndexManagementTest.java │ │ ├── LoadBalancerTest.java │ │ ├── ServerSelectionLoggingTest.java │ │ ├── SessionsTest.java │ │ ├── UnifiedCrudTest.java │ │ ├── UnifiedGridFSTest.java │ │ ├── UnifiedReactiveStreamsTest.java │ │ ├── UnifiedRetryableReadsTest.java │ │ ├── UnifiedRetryableWritesTest.java │ │ ├── UnifiedServerDiscoveryAndMonitoringTest.java │ │ ├── UnifiedTransactionsTest.java │ │ ├── UnifiedWriteConcernTest.java │ │ └── VersionedApiTest.java │ │ └── vector │ │ └── BinaryVectorFunctionalTest.java │ ├── resources │ └── logback-test.xml │ ├── tck │ └── com │ │ └── mongodb │ │ └── reactivestreams │ │ └── client │ │ ├── AggregatePublisherVerification.java │ │ ├── ChangeStreamPublisherVerification.java │ │ ├── DistinctPublisherVerification.java │ │ ├── FindPublisherVerification.java │ │ ├── ListCollectionNamesPublisherVerification.java │ │ ├── ListCollectionsPublisherVerification.java │ │ ├── ListDatabasesPublisherVerification.java │ │ ├── ListIndexesPublisherVerification.java │ │ ├── MapReducePublisherVerification.java │ │ ├── MongoFixture.java │ │ ├── PublishersVerification.java │ │ └── gridfs │ │ ├── GridFSDownloadPublisherVerification.java │ │ ├── GridFSFindPublisherVerification.java │ │ └── GridFSUploadPublisherVerification.java │ └── unit │ └── com │ └── mongodb │ └── reactivestreams │ └── client │ ├── PublisherApiTest.java │ └── internal │ ├── AggregatePublisherImplTest.java │ ├── ChangeStreamPublisherImplTest.java │ ├── ClientSessionBindingSpecification.groovy │ ├── DistinctPublisherImplTest.java │ ├── FindPublisherImplTest.java │ ├── ListCollectionNamesPublisherImplTest.java │ ├── ListCollectionsPublisherImplTest.java │ ├── ListDatabasesPublisherImplTest.java │ ├── ListIndexesPublisherImplTest.java │ ├── MapReducePublisherImplTest.java │ ├── MongoClientImplTest.java │ ├── MongoClusterImplTest.java │ ├── MongoCollectionImplTest.java │ ├── MongoDatabaseImplTest.java │ ├── MongoOperationPublisherTest.java │ ├── TestHelper.java │ ├── TestOperationExecutor.java │ ├── TimeoutHelperTest.java │ └── gridfs │ ├── GridFSUploadPublisherImplTest.java │ └── ResizingByteBufferFluxTest.java ├── driver-scala ├── build.gradle.kts ├── rootdoc.txt └── src │ ├── integrationTest │ └── scala │ │ ├── org │ │ └── mongodb │ │ │ └── scala │ │ │ ├── BaseSpec.scala │ │ │ ├── ClientSideEncryptionBypassAutoEncryptionSpec.scala │ │ │ ├── ClientSideEncryptionTest.scala │ │ │ ├── FuturesSpec.scala │ │ │ ├── MongoCollectionCaseClassSpec.scala │ │ │ ├── RequiresMongoDBISpec.scala │ │ │ ├── TestMongoClientHelper.scala │ │ │ ├── documentation │ │ │ ├── DocumentationChangeStreamExampleSpec.scala │ │ │ ├── DocumentationExampleSpec.scala │ │ │ └── DocumentationTransactionsExampleSpec.scala │ │ │ ├── gridfs │ │ │ └── GridFSObservableSpec.scala │ │ │ └── syncadapter │ │ │ ├── SyncAggregateIterable.scala │ │ │ ├── SyncChangeStreamIterable.scala │ │ │ ├── SyncClientSession.scala │ │ │ ├── SyncDistinctIterable.scala │ │ │ ├── SyncFindIterable.scala │ │ │ ├── SyncListCollectionsIterable.scala │ │ │ ├── SyncListDatabasesIterable.scala │ │ │ ├── SyncListIndexesIterable.scala │ │ │ ├── SyncListSearchIndexesIterable.scala │ │ │ ├── SyncMapReduceIterable.scala │ │ │ ├── SyncMongoClient.scala │ │ │ ├── SyncMongoCluster.scala │ │ │ ├── SyncMongoCollection.scala │ │ │ ├── SyncMongoCursor.scala │ │ │ ├── SyncMongoDatabase.scala │ │ │ ├── SyncMongoIterable.scala │ │ │ └── package.scala │ │ └── tour │ │ ├── ClientSideEncryptionAutoEncryptionSettingsTour.scala │ │ ├── ClientSideEncryptionExplicitEncryptionAndDecryptionTour.scala │ │ ├── ClientSideEncryptionExplicitEncryptionOnlyTour.scala │ │ ├── ClientSideEncryptionSimpleTour.scala │ │ ├── GridFSTour.scala │ │ ├── Helpers.scala │ │ ├── QuickTour.scala │ │ └── QuickTourCaseClass.scala │ ├── main │ └── scala │ │ └── org │ │ └── mongodb │ │ └── scala │ │ ├── AggregateObservable.scala │ │ ├── AutoEncryptionSettings.scala │ │ ├── ChangeStreamObservable.scala │ │ ├── ClientEncryptionSettings.scala │ │ ├── ClientSessionImplicits.scala │ │ ├── ClientSessionOptions.scala │ │ ├── CreateIndexCommitQuorum.scala │ │ ├── DistinctObservable.scala │ │ ├── FindObservable.scala │ │ ├── Helpers.scala │ │ ├── ListCollectionNamesObservable.scala │ │ ├── ListCollectionsObservable.scala │ │ ├── ListDatabasesObservable.scala │ │ ├── ListIndexesObservable.scala │ │ ├── ListSearchIndexesObservable.scala │ │ ├── LoggerSettings.scala │ │ ├── MapReduceObservable.scala │ │ ├── MongoClient.scala │ │ ├── MongoClientSettings.scala │ │ ├── MongoCluster.scala │ │ ├── MongoCollection.scala │ │ ├── MongoCompressor.scala │ │ ├── MongoCredential.scala │ │ ├── MongoDatabase.scala │ │ ├── MongoDriverInformation.scala │ │ ├── MongoNamespace.scala │ │ ├── Observable.scala │ │ ├── ObservableImplicits.scala │ │ ├── Observer.scala │ │ ├── ReadConcern.scala │ │ ├── ReadConcernLevel.scala │ │ ├── ReadPreference.scala │ │ ├── ServerAddress.scala │ │ ├── SingleObservable.scala │ │ ├── Subscription.scala │ │ ├── Tag.scala │ │ ├── TagSet.scala │ │ ├── TransactionOptions.scala │ │ ├── WriteConcern.scala │ │ ├── connection │ │ ├── AsyncTransportSettings.scala │ │ ├── ClusterSettings.scala │ │ ├── ConnectionPoolSettings.scala │ │ ├── NettyTransportSettings.scala │ │ ├── ProxySettings.scala │ │ ├── ServerSettings.scala │ │ ├── SocketSettings.scala │ │ ├── SslSettings.scala │ │ ├── TransportSettings.scala │ │ └── package.scala │ │ ├── gridfs │ │ ├── GridFSBucket.scala │ │ ├── GridFSDownloadObservable.scala │ │ ├── GridFSFindObservable.scala │ │ ├── GridFSUploadObservable.scala │ │ └── package.scala │ │ ├── internal │ │ ├── AndThenObservable.scala │ │ ├── CollectObservable.scala │ │ ├── ExecutionContextObservable.scala │ │ ├── FilterObservable.scala │ │ ├── FlatMapObservable.scala │ │ ├── FoldLeftObservable.scala │ │ ├── IterableObservable.scala │ │ ├── MapObservable.scala │ │ ├── RecoverObservable.scala │ │ ├── RecoverWithObservable.scala │ │ ├── SingleItemObservable.scala │ │ ├── UnitObservable.scala │ │ ├── WriteConcernImplicits.scala │ │ ├── ZipObservable.scala │ │ └── package.scala │ │ ├── model │ │ ├── Accumulators.scala │ │ ├── Aggregates.scala │ │ ├── BucketGranularity.scala │ │ ├── Collation.scala │ │ ├── CollationAlternate.scala │ │ ├── CollationCaseFirst.scala │ │ ├── CollationMaxVariable.scala │ │ ├── CollationStrength.scala │ │ ├── Filters.scala │ │ ├── Indexes.scala │ │ ├── MapReduceAction.scala │ │ ├── MergeOptions.scala │ │ ├── Projections.scala │ │ ├── QuantileMethod.scala │ │ ├── ReturnDocument.scala │ │ ├── Sorts.scala │ │ ├── Updates.scala │ │ ├── ValidationAction.scala │ │ ├── ValidationLevel.scala │ │ ├── WindowOutputFields.scala │ │ ├── Windows.scala │ │ ├── bulk │ │ │ └── package.scala │ │ ├── changestream │ │ │ ├── FullDocument.scala │ │ │ ├── FullDocumentBeforeChange.scala │ │ │ └── package.scala │ │ ├── densify │ │ │ ├── DensifyOptions.scala │ │ │ ├── DensifyRange.scala │ │ │ └── package.scala │ │ ├── fill │ │ │ ├── FillOptions.scala │ │ │ ├── FillOutputField.scala │ │ │ └── fill.scala │ │ ├── geojson │ │ │ └── package.scala │ │ ├── package.scala │ │ ├── search │ │ │ ├── FuzzySearchOptions.scala │ │ │ ├── SearchCollector.scala │ │ │ ├── SearchCount.scala │ │ │ ├── SearchFacet.scala │ │ │ ├── SearchHighlight.scala │ │ │ ├── SearchOperator.scala │ │ │ ├── SearchOptions.scala │ │ │ ├── SearchPath.scala │ │ │ ├── SearchScore.scala │ │ │ ├── SearchScoreExpression.scala │ │ │ ├── VectorSearchOptions.scala │ │ │ └── package.scala │ │ └── vault │ │ │ └── package.scala │ │ ├── package.scala │ │ ├── result │ │ └── package.scala │ │ └── vault │ │ ├── ClientEncryption.scala │ │ ├── ClientEncryptions.scala │ │ └── package.scala │ └── test │ ├── resources │ └── logback-test.xml │ └── scala │ └── org │ └── mongodb │ └── scala │ ├── AggregateObservableSpec.scala │ ├── ApiAliasAndCompanionSpec.scala │ ├── BaseSpec.scala │ ├── ChangeStreamObservableSpec.scala │ ├── CreateIndexCommitQuorumSpec.scala │ ├── DistinctObservableSpec.scala │ ├── FindObservableSpec.scala │ ├── ListCollectionNamesObservableSpec.scala │ ├── ListCollectionsObservableSpec.scala │ ├── ListDatabasesObservableSpec.scala │ ├── ListIndexesObservableSpec.scala │ ├── MapReduceObservableSpec.scala │ ├── MongoClientSettingsSpec.scala │ ├── MongoClientSpec.scala │ ├── MongoCollectionSpec.scala │ ├── MongoCredentialSpec.scala │ ├── MongoDatabaseSpec.scala │ ├── MongoDriverInformationSpec.scala │ ├── ObservableImplicitsToGridFSUploadPublisherUnitSpec.scala │ ├── ReadConcernLevelSpec.scala │ ├── ReadConcernSpec.scala │ ├── ReadPreferenceSpec.scala │ ├── ScalaPackageSpec.scala │ ├── connection │ └── ConnectionSpec.scala │ ├── gridfs │ ├── GridFSBucketSpec.scala │ ├── GridFSDownloadObservableSpec.scala │ ├── GridFSFindObservableSpec.scala │ └── GridFSUploadPublisherSpec.scala │ ├── internal │ ├── CollectObservableTest.scala │ ├── FlatMapObservableTest.scala │ ├── ObservableImplementationSpec.scala │ ├── OverridableObservableImplicitsSpec.scala │ ├── ScalaObservableSpec.scala │ ├── SingleObservableSpec.scala │ ├── TestObservable.scala │ ├── TestObserver.scala │ └── UnitObservableSpec.scala │ └── model │ ├── AggregatesSpec.scala │ ├── BucketGranularitySpec.scala │ ├── CollationAlternateSpec.scala │ ├── CollationCaseFirstSpec.scala │ ├── CollationMaxVariableSpec.scala │ ├── CollationSpec.scala │ ├── CollationStrengthSpec.scala │ ├── FiltersSpec.scala │ ├── GeoJsonSpec.scala │ ├── IndexesSpec.scala │ ├── MapReduceActionSpec.scala │ ├── MergeOptionsSpec.scala │ ├── ModelSpec.scala │ ├── ProjectionsSpec.scala │ ├── ReturnDocumentSpec.scala │ ├── SortsSpec.scala │ ├── UpdatesSpec.scala │ ├── ValidationActionSpec.scala │ ├── ValidationLevelSpec.scala │ ├── bulk │ └── BulkModelSpec.scala │ ├── search │ └── SearchOperatorSpec.scala │ └── vault │ └── ClientEncryptionSpec.scala ├── driver-sync ├── build.gradle.kts └── src │ ├── examples │ ├── documentation │ │ ├── CausalConsistencyExamples.java │ │ ├── ChangeStreamSamples.java │ │ ├── DocumentationSamples.java │ │ ├── ExampleAwsLambdaHandler.java │ │ └── TransactionExample.java │ ├── gridfs │ │ ├── GridFSTour.java │ │ └── package-info.java │ ├── primer │ │ ├── AggregatePrimer.java │ │ ├── IndexesPrimer.java │ │ ├── InsertPrimer.java │ │ ├── PrimerTestCase.java │ │ ├── QueryPrimer.java │ │ ├── RemovePrimer.java │ │ └── UpdatePrimer.java │ └── tour │ │ ├── Address.java │ │ ├── ClientSideEncryptionAutoEncryptionSettingsTour.java │ │ ├── ClientSideEncryptionExplicitEncryptionAndDecryptionTour.java │ │ ├── ClientSideEncryptionExplicitEncryptionOnlyTour.java │ │ ├── ClientSideEncryptionQueryableEncryptionTour.java │ │ ├── ClientSideEncryptionSimpleTour.java │ │ ├── Decimal128QuickTour.java │ │ ├── Person.java │ │ ├── PojoQuickTour.java │ │ ├── QuickTour.java │ │ └── package-info.java │ ├── main │ └── com │ │ └── mongodb │ │ └── client │ │ ├── AggregateIterable.java │ │ ├── ChangeStreamIterable.java │ │ ├── ClientSession.java │ │ ├── DistinctIterable.java │ │ ├── FindIterable.java │ │ ├── ListCollectionNamesIterable.java │ │ ├── ListCollectionsIterable.java │ │ ├── ListDatabasesIterable.java │ │ ├── ListIndexesIterable.java │ │ ├── ListSearchIndexesIterable.java │ │ ├── MapReduceIterable.java │ │ ├── MongoChangeStreamCursor.java │ │ ├── MongoClient.java │ │ ├── MongoClientFactory.java │ │ ├── MongoClients.java │ │ ├── MongoCluster.java │ │ ├── MongoCollection.java │ │ ├── MongoCursor.java │ │ ├── MongoDatabase.java │ │ ├── MongoIterable.java │ │ ├── SynchronousContextProvider.java │ │ ├── TransactionBody.java │ │ ├── gridfs │ │ ├── GridFSBucket.java │ │ ├── GridFSBucketImpl.java │ │ ├── GridFSBuckets.java │ │ ├── GridFSDownloadStream.java │ │ ├── GridFSDownloadStreamImpl.java │ │ ├── GridFSFindIterable.java │ │ ├── GridFSFindIterableImpl.java │ │ ├── GridFSUploadStream.java │ │ ├── GridFSUploadStreamImpl.java │ │ └── package-info.java │ │ ├── internal │ │ ├── AggregateIterableImpl.java │ │ ├── ChangeStreamIterableImpl.java │ │ ├── ClientEncryptionImpl.java │ │ ├── ClientSessionBinding.java │ │ ├── ClientSessionClock.java │ │ ├── ClientSessionImpl.java │ │ ├── Clusters.java │ │ ├── CollectionInfoRetriever.java │ │ ├── CommandMarker.java │ │ ├── Crypt.java │ │ ├── CryptBinding.java │ │ ├── CryptConnection.java │ │ ├── Crypts.java │ │ ├── DistinctIterableImpl.java │ │ ├── FindIterableImpl.java │ │ ├── KeyManagementService.java │ │ ├── KeyRetriever.java │ │ ├── ListCollectionNamesIterableImpl.java │ │ ├── ListCollectionsIterableImpl.java │ │ ├── ListDatabasesIterableImpl.java │ │ ├── ListIndexesIterableImpl.java │ │ ├── ListSearchIndexesIterableImpl.java │ │ ├── MapReduceIterableImpl.java │ │ ├── MappingIterable.java │ │ ├── MongoBatchCursorAdapter.java │ │ ├── MongoChangeStreamCursorImpl.java │ │ ├── MongoClientImpl.java │ │ ├── MongoClusterImpl.java │ │ ├── MongoCollectionImpl.java │ │ ├── MongoDatabaseImpl.java │ │ ├── MongoIterableImpl.java │ │ ├── MongoMappingCursor.java │ │ ├── OperationExecutor.java │ │ ├── TimeoutHelper.java │ │ └── package-info.java │ │ ├── package-info.java │ │ └── vault │ │ ├── ClientEncryption.java │ │ ├── ClientEncryptions.java │ │ └── package-info.java │ └── test │ ├── functional │ └── com │ │ └── mongodb │ │ ├── client │ │ ├── AbstractAtlasSearchIndexManagementProseTest.java │ │ ├── AbstractClientEncryptionCustomEndpointTest.java │ │ ├── AbstractClientEncryptionRewrapManyDataKeyProseTest.java │ │ ├── AbstractClientSideEncryptionAutoDataKeysTest.java │ │ ├── AbstractClientSideEncryptionAwsCredentialFromEnvironmentTest.java │ │ ├── AbstractClientSideEncryptionDeadlockTest.java │ │ ├── AbstractClientSideEncryptionDecryptionEventsTest.java │ │ ├── AbstractClientSideEncryptionExplicitEncryptionTest.java │ │ ├── AbstractClientSideEncryptionKmsTlsTest.java │ │ ├── AbstractClientSideEncryptionNotCreateMongocryptdClientTest.java │ │ ├── AbstractClientSideEncryptionNotSpawnMongocryptdTest.java │ │ ├── AbstractClientSideEncryptionOnDemandCredentialsTest.java │ │ ├── AbstractClientSideEncryptionRangeDefaultExplicitEncryptionTest.java │ │ ├── AbstractClientSideEncryptionRangeExplicitEncryptionTest.java │ │ ├── AbstractClientSideEncryptionTest.java │ │ ├── AbstractClientSideEncryptionUniqueIndexKeyAltNamesTest.java │ │ ├── AbstractClientSideOperationsTimeoutProseTest.java │ │ ├── AbstractDnsConfigurationTest.java │ │ ├── AbstractExplainTest.java │ │ ├── AbstractExplicitUuidCodecUuidRepresentationTest.java │ │ ├── AbstractMongoCollectionTest.java │ │ ├── AbstractServerSelectionProseTest.java │ │ ├── AbstractSessionsProseTest.java │ │ ├── AbstractUuidRepresentationTest.java │ │ ├── AtlasDataLakeConnectivityTest.java │ │ ├── AtlasDataLakeKillCursorsProseTest.java │ │ ├── AtlasSearchIndexManagementProseTest.java │ │ ├── ChangeStreamProseTest.java │ │ ├── ClientEncryptionCustomEndpointTest.java │ │ ├── ClientEncryptionDataKeyAndDoubleEncryptionTest.java │ │ ├── ClientEncryptionRewrapManyDataKeyProseTest.java │ │ ├── ClientSideEncryption25LookupProseTests.java │ │ ├── ClientSideEncryptionAutoDataKeysTest.java │ │ ├── ClientSideEncryptionAwsCredentialFromEnvironmentTest.java │ │ ├── ClientSideEncryptionBsonSizeLimitsSpecification.groovy │ │ ├── ClientSideEncryptionBypassAutoEncryptionTest.java │ │ ├── ClientSideEncryptionCorpusTest.java │ │ ├── ClientSideEncryptionDeadlockTest.java │ │ ├── ClientSideEncryptionDecryptionEventsTest.java │ │ ├── ClientSideEncryptionExplicitEncryptionTest.java │ │ ├── ClientSideEncryptionExternalKeyVaultSpecification.groovy │ │ ├── ClientSideEncryptionExternalKeyVaultTest.java │ │ ├── ClientSideEncryptionKmsTlsTest.java │ │ ├── ClientSideEncryptionNotCreateMongocryptdClientTest.java │ │ ├── ClientSideEncryptionNotSpawnMongocryptdTest.java │ │ ├── ClientSideEncryptionOnDemandCredentialsTest.java │ │ ├── ClientSideEncryptionRangeDefaultExplicitEncryptionTest.java │ │ ├── ClientSideEncryptionRangeExplicitEncryptionTest.java │ │ ├── ClientSideEncryptionSessionTest.java │ │ ├── ClientSideEncryptionTest.java │ │ ├── ClientSideEncryptionUniqueIndexKeyAltNamesTest.java │ │ ├── ClientSideEncryptionViewAreProhibitedTest.java │ │ ├── ClientSideOperationTimeoutProseTest.java │ │ ├── ClientSideOperationTimeoutTest.java │ │ ├── ClusterEventPublishingTest.java │ │ ├── Concrete.java │ │ ├── ConcreteCodec.java │ │ ├── ConcreteCodecProvider.java │ │ ├── ConnectionsSurvivePrimaryStepDownProseTest.java │ │ ├── ConnectivityTest.java │ │ ├── ConnectivityTestHelper.java │ │ ├── ContextProviderTest.java │ │ ├── CrudProseTest.java │ │ ├── DatabaseTestCase.java │ │ ├── DnsConfigurationTest.java │ │ ├── ExplainTest.java │ │ ├── ExplicitUuidCodecUuidRepresentationTest.java │ │ ├── FailPoint.java │ │ ├── Fixture.java │ │ ├── FunctionalSpecification.groovy │ │ ├── InitialDnsSeedlistDiscoveryTest.java │ │ ├── JsonPoweredCrudTestHelper.java │ │ ├── MongoClientFactorySpecification.groovy │ │ ├── MongoClientSessionSpecification.groovy │ │ ├── MongoClientTest.java │ │ ├── MongoCollectionTest.java │ │ ├── MongoWriteConcernWithResponseExceptionTest.java │ │ ├── Name.java │ │ ├── NameCodec.java │ │ ├── NameCodecProvider.java │ │ ├── OcspTest.java │ │ ├── ReadConcernTest.java │ │ ├── RetryableReadsProseTest.java │ │ ├── RetryableWritesProseTest.java │ │ ├── ServerDiscoveryAndMonitoringProseTests.java │ │ ├── ServerSelectionProseTest.java │ │ ├── SessionsProseTest.java │ │ ├── Socks5ProseTest.java │ │ ├── SyncInitialDnsSeedlistDiscoveryTest.java │ │ ├── TransactionProseTest.java │ │ ├── UuidRepresentationTest.java │ │ ├── WithTransactionProseTest.java │ │ ├── csot │ │ │ ├── AbstractClientSideOperationsEncryptionTimeoutProseTest.java │ │ │ └── ClientSideOperationsEncryptionTimeoutProseTest.java │ │ ├── gridfs │ │ │ └── GridFSBucketSmokeTestSpecification.groovy │ │ ├── model │ │ │ ├── mql │ │ │ │ └── InContextMqlValuesFunctionalTest.java │ │ │ └── search │ │ │ │ └── AggregatesSearchFunctionalTest.java │ │ ├── unified │ │ │ ├── AssertionContext.java │ │ │ ├── ChangeStreamsTest.java │ │ │ ├── ClientSideEncryptionTest.java │ │ │ ├── CollectionManagementTest.java │ │ │ ├── CommandLoggingTest.java │ │ │ ├── CommandMonitoringTest.java │ │ │ ├── ConnectionPoolLoggingTest.java │ │ │ ├── ContextElement.java │ │ │ ├── Entities.java │ │ │ ├── ErrorMatcher.java │ │ │ ├── EventMatcher.java │ │ │ ├── FailPoint.java │ │ │ ├── IndexManagementTest.java │ │ │ ├── LoadBalancerTest.java │ │ │ ├── LogMatcher.java │ │ │ ├── OperationAsserter.java │ │ │ ├── OperationResult.java │ │ │ ├── RunOnRequirementsMatcher.java │ │ │ ├── ServerSelectionLoggingTest.java │ │ │ ├── SessionsTest.java │ │ │ ├── UnifiedAtlasDataLakeTest.java │ │ │ ├── UnifiedAuthTest.java │ │ │ ├── UnifiedClientEncryptionHelper.java │ │ │ ├── UnifiedCrudHelper.java │ │ │ ├── UnifiedCrudTest.java │ │ │ ├── UnifiedGridFSHelper.java │ │ │ ├── UnifiedGridFSTest.java │ │ │ ├── UnifiedHelper.java │ │ │ ├── UnifiedRetryableReadsTest.java │ │ │ ├── UnifiedRetryableWritesTest.java │ │ │ ├── UnifiedServerDiscoveryAndMonitoringTest.java │ │ │ ├── UnifiedSyncTest.java │ │ │ ├── UnifiedTest.java │ │ │ ├── UnifiedTestFailureValidator.java │ │ │ ├── UnifiedTestModifications.java │ │ │ ├── UnifiedTestValidator.java │ │ │ ├── UnifiedTransactionsTest.java │ │ │ ├── UnifiedWriteConcernTest.java │ │ │ ├── ValueMatcher.java │ │ │ ├── VersionedApiTest.java │ │ │ └── WithTransactionHelperTransactionsTest.java │ │ └── vector │ │ │ ├── AbstractBinaryVectorFunctionalTest.java │ │ │ └── BinaryVectorFunctionalTest.java │ │ ├── fixture │ │ └── EncryptionFixture.java │ │ └── internal │ │ └── connection │ │ └── OidcAuthenticationProseTests.java │ ├── resources │ └── logback-test.xml │ └── unit │ └── com │ └── mongodb │ └── client │ ├── MongoClientSpecification.groovy │ ├── gridfs │ ├── GridFSBucketSpecification.groovy │ ├── GridFSBucketsSpecification.groovy │ ├── GridFSDownloadStreamSpecification.groovy │ ├── GridFSFindIterableSpecification.groovy │ └── GridFSUploadStreamSpecification.groovy │ └── internal │ ├── AggregateIterableSpecification.groovy │ ├── ChangeStreamIterableSpecification.groovy │ ├── ClientSessionBindingSpecification.groovy │ ├── CryptConnectionSpecification.groovy │ ├── DistinctIterableSpecification.groovy │ ├── FindIterableSpecification.groovy │ ├── ListCollectionsIterableSpecification.groovy │ ├── ListDatabasesIterableSpecification.groovy │ ├── ListIndexesIterableSpecification.groovy │ ├── MapReduceIterableSpecification.groovy │ ├── MappingIterableSpecification.groovy │ ├── MongoBatchCursorAdapterSpecification.groovy │ ├── MongoChangeStreamCursorSpecification.groovy │ ├── MongoClusterSpecification.groovy │ ├── MongoCollectionSpecification.groovy │ ├── MongoDatabaseSpecification.groovy │ ├── MongoMappingCursorSpecification.groovy │ ├── TestHelper.groovy │ ├── TestOperationExecutor.java │ └── TimeoutHelperTest.java ├── driver-workload-executor ├── build.gradle.kts └── src │ ├── main │ └── com │ │ └── mongodb │ │ └── workload │ │ └── WorkloadExecutor.java │ └── resources │ └── logback.xml ├── graalvm-native-image-app ├── build.gradle.kts ├── readme.md └── src │ └── main │ ├── com │ └── mongodb │ │ └── internal │ │ └── graalvm │ │ ├── CustomDnsClientProvider.java │ │ ├── CustomInetAddressResolverProvider.java │ │ ├── DnsSpi.java │ │ ├── NativeImageApp.java │ │ ├── Substitutions.java │ │ └── package-info.java │ └── resources │ └── META-INF │ ├── native-image │ ├── jni-config.json │ ├── predefined-classes-config.json │ ├── proxy-config.json │ ├── reflect-config.json │ ├── resource-config.json │ └── serialization-config.json │ └── services │ ├── com.mongodb.spi.dns.DnsClientProvider │ └── com.mongodb.spi.dns.InetAddressResolverProvider ├── gradle.properties ├── gradle ├── libs.versions.toml ├── scala │ └── lib │ │ └── scala-ant-2.13.1.jar └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── java-security-ocsp-property ├── mongodb-crypt ├── build.gradle.kts └── src │ ├── main │ ├── com │ │ └── mongodb │ │ │ ├── crypt │ │ │ └── capi │ │ │ │ ├── MongoCryptException.java │ │ │ │ └── package-info.java │ │ │ └── internal │ │ │ └── crypt │ │ │ └── capi │ │ │ ├── BinaryHolder.java │ │ │ ├── CAPI.java │ │ │ ├── CAPIHelper.java │ │ │ ├── CipherCallback.java │ │ │ ├── DisposableMemory.java │ │ │ ├── JULLogger.java │ │ │ ├── Logger.java │ │ │ ├── Loggers.java │ │ │ ├── MacCallback.java │ │ │ ├── MessageDigestCallback.java │ │ │ ├── MongoAwsKmsProviderOptions.java │ │ │ ├── MongoCrypt.java │ │ │ ├── MongoCryptContext.java │ │ │ ├── MongoCryptContextImpl.java │ │ │ ├── MongoCryptImpl.java │ │ │ ├── MongoCryptOptions.java │ │ │ ├── MongoCrypts.java │ │ │ ├── MongoDataKeyOptions.java │ │ │ ├── MongoExplicitEncryptOptions.java │ │ │ ├── MongoKeyDecryptor.java │ │ │ ├── MongoKeyDecryptorImpl.java │ │ │ ├── MongoLocalKmsProviderOptions.java │ │ │ ├── MongoRewrapManyDataKeyOptions.java │ │ │ ├── SLF4JLogger.java │ │ │ ├── SecureRandomCallback.java │ │ │ ├── SigningRSAESPKCSCallback.java │ │ │ └── package-info.java │ └── resources │ │ └── META-INF │ │ └── native-image │ │ ├── jni-config.json │ │ ├── native-image.properties │ │ └── reflect-config.json │ └── test │ ├── java │ └── com │ │ └── mongodb │ │ └── crypt │ │ └── capi │ │ └── MongoCryptTest.java │ └── resources │ ├── collection-info.json │ ├── command-reply.json │ ├── command.json │ ├── encrypted-command-reply.json │ ├── encrypted-command.json │ ├── encrypted-value.json │ ├── fle2-find-range-explicit-v2 │ └── int32 │ │ ├── encrypted-payload.json │ │ ├── key-filter.json │ │ ├── rangeopts.json │ │ └── value-to-encrypt.json │ ├── json-schema.json │ ├── key-document.json │ ├── key-filter-keyAltName.json │ ├── key-filter.json │ ├── keys │ └── ABCDEFAB123498761234123456789012-local-document.json │ ├── kms-reply.txt │ ├── list-collections-filter.json │ ├── mongocryptd-command.json │ └── mongocryptd-reply.json ├── sbom.json └── settings.gradle.kts /.evergreen/git-archive.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Exit the script with error if any of the commands fail 4 | set -o errexit 5 | 6 | # Returns the path to the root archive file which includes all git submodules. 7 | 8 | echo "Creating root archive" 9 | export GIT_ARCHIVE_FILE="/tmp/mongo-java-driver.tar" 10 | 11 | # create root archive 12 | git archive --output $GIT_ARCHIVE_FILE HEAD 13 | 14 | echo "Appending submodule archives" 15 | git submodule status --recursive | awk '{ print $2 }' | xargs tar -rf $GIT_ARCHIVE_FILE 16 | 17 | echo "Appending .git directory to the root archive" 18 | tar -rf $GIT_ARCHIVE_FILE .git 19 | 20 | echo "$GIT_ARCHIVE_FILE" 21 | -------------------------------------------------------------------------------- /.evergreen/javaConfig.bash: -------------------------------------------------------------------------------- 1 | # Java configurations for evergreen 2 | 3 | export JDK8="/opt/java/jdk8" 4 | export JDK11="/opt/java/jdk11" 5 | export JDK17="/opt/java/jdk17" 6 | export JDK21="/opt/java/jdk21" 7 | # note that `JDK21_GRAALVM` is used in `run-graalvm-native-image-app.sh` 8 | # by dynamically constructing the variable name 9 | export JDK21_GRAALVM="/opt/java/jdk21-graalce" 10 | 11 | if [ -d "$JDK17" ]; then 12 | export JAVA_HOME=$JDK17 13 | fi 14 | 15 | export JAVA_VERSION=${JAVA_VERSION:-17} 16 | 17 | echo "Java Configs:" 18 | echo "Java Home: ${JAVA_HOME}" 19 | echo "Java test version: ${JAVA_VERSION}" 20 | -------------------------------------------------------------------------------- /.evergreen/run-atlas-search-index-management-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o errexit 4 | 5 | # Supported/used environment variables: 6 | # MONGODB_URI Set the connection to an Atlas cluster 7 | 8 | ############################################ 9 | # Main Program # 10 | ############################################ 11 | RELATIVE_DIR_PATH="$(dirname "${BASH_SOURCE[0]:-$0}")" 12 | source "${RELATIVE_DIR_PATH}/javaConfig.bash" 13 | 14 | echo "Running Atlas Search tests" 15 | ./gradlew -version 16 | ./gradlew --stacktrace --info \ 17 | -Dorg.mongodb.test.atlas.search.index.helpers=true \ 18 | -Dorg.mongodb.test.uri=${MONGODB_URI} \ 19 | driver-sync:test --tests AtlasSearchIndexManagementProseTest \ 20 | driver-reactive-streams:test --tests AtlasSearchIndexManagementProseTest \ 21 | -------------------------------------------------------------------------------- /.evergreen/run-atlas-search-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o errexit 4 | 5 | # Supported/used environment variables: 6 | # MONGODB_URI Set the connection to an Atlas cluster 7 | 8 | ############################################ 9 | # Main Program # 10 | ############################################ 11 | RELATIVE_DIR_PATH="$(dirname "${BASH_SOURCE[0]:-$0}")" 12 | source "${RELATIVE_DIR_PATH}/javaConfig.bash" 13 | 14 | echo "Running Atlas Search tests" 15 | ./gradlew -version 16 | ./gradlew --stacktrace --info \ 17 | -Dorg.mongodb.test.atlas.search=true \ 18 | -Dorg.mongodb.test.uri=${MONGODB_URI} \ 19 | driver-core:test --tests AggregatesSearchIntegrationTest \ 20 | --tests AggregatesBinaryVectorSearchIntegrationTest \ 21 | --tests AggregatesSearchTest \ 22 | -------------------------------------------------------------------------------- /.evergreen/run-deployed-lambda-aws-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o xtrace # Write all commands first to stderr 4 | set -o errexit # Exit the script with error if any of the commands fail 5 | 6 | RELATIVE_DIR_PATH="$(dirname "${BASH_SOURCE[0]:-$0}")" 7 | . "${RELATIVE_DIR_PATH}/javaConfig.bash" 8 | 9 | # compiled outside of lambda workflow. Note "SkipBuild: True" in template.yaml 10 | ./gradlew -version 11 | ./gradlew --info driver-lambda:shadowJar 12 | 13 | . ${DRIVERS_TOOLS}/.evergreen/aws_lambda/run-deployed-lambda-aws-tests.sh 14 | -------------------------------------------------------------------------------- /.evergreen/run-perf-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o xtrace 4 | set -o errexit 5 | 6 | rm -rf driver-performance-test-data 7 | git clone https://github.com/mongodb-labs/driver-performance-test-data.git 8 | cd driver-performance-test-data 9 | tar xf extended_bson.tgz 10 | tar xf parallel.tgz 11 | tar xf single_and_multi_document.tgz 12 | cd .. 13 | 14 | RELATIVE_DIR_PATH="$(dirname "${BASH_SOURCE:-$0}")" 15 | . "${RELATIVE_DIR_PATH}/javaConfig.bash" 16 | 17 | export TEST_PATH="${PROJECT_DIRECTORY}/driver-performance-test-data/" 18 | export OUTPUT_FILE="${PROJECT_DIRECTORY}/results.json" 19 | 20 | if [ "${PROVIDER}" = "Netty" ]; then 21 | TASK="driver-benchmarks:runNetty" 22 | else 23 | TASK="driver-benchmarks:run" 24 | fi 25 | 26 | start_time=$(date +%s) 27 | ./gradlew -Dorg.mongodb.benchmarks.data=${TEST_PATH} -Dorg.mongodb.benchmarks.output=${OUTPUT_FILE} ${TASK} 28 | end_time=$(date +%s) 29 | elapsed_secs=$((end_time-start_time)) 30 | 31 | -------------------------------------------------------------------------------- /.evergreen/run-reactive-streams-tck-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o xtrace # Write all commands first to stderr 4 | set -o errexit # Exit the script with error if any of the commands fail 5 | 6 | ############################################ 7 | # Main Program # 8 | ############################################ 9 | RELATIVE_DIR_PATH="$(dirname "${BASH_SOURCE:-$0}")" 10 | . "${RELATIVE_DIR_PATH}/javaConfig.bash" 11 | 12 | echo "Running Reactive Streams TCK tests with Java ${JAVA_VERSION}" 13 | 14 | ./gradlew -version 15 | ./gradlew --stacktrace --info driver-reactive-streams:tckTest 16 | -------------------------------------------------------------------------------- /.evergreen/static-checks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -o xtrace # Write all commands first to stderr 4 | set -o errexit # Exit the script with error if any of the commands fail 5 | 6 | ############################################ 7 | # Main Program # 8 | ############################################ 9 | RELATIVE_DIR_PATH="$(dirname "${BASH_SOURCE[0]:-$0}")" 10 | . "${RELATIVE_DIR_PATH}/javaConfig.bash" 11 | 12 | echo "Compiling JVM drivers" 13 | 14 | ./gradlew -version 15 | ./gradlew -PxmlReports.enabled=true --info -x test -x integrationTest -x spotlessApply clean check scalaCheck jar testClasses docs 16 | -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # .git-blame-ignore-revs 2 | # Checkstyle fixes 3 | 94780bc8b72c62d9bc09beaa9ac62b942debab5f 4 | # Copyright fixes 5 | 0aa2ec20d5215c0ac727602dd2cd891c22c69ba8 6 | # Scala spotless changes 7 | fd21430c967571ed172259cc4100f291257a9a01 8 | # IntelliJ automated code cleanup 9 | d9aa6044e1a6b440bcb013c330497f2813484050 10 | # Remove `final` in catch clauses 11 | 4b3b48546fb0457e5c515ccfe8780e373ad7de5f 12 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set default behaviour, in case users don't have core.autocrlf set. 2 | * text=auto -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "gitsubmodule" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | commit-message: 8 | prefix: "build" 9 | include: "scope" 10 | -------------------------------------------------------------------------------- /.github/workflows/bump-and-tag.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | if [ "$#" -ne 3 ]; then 5 | echo "Usage: $0 " >&2 6 | exit 1 7 | fi 8 | 9 | CURRENT_VERSION=$1 10 | RELEASE_VERSION=$2 11 | NEXT_VERSION=$3 12 | 13 | SCRIPT_DIR=$(dirname ${BASH_SOURCE[0]}) 14 | 15 | echo "Bump version in build.gradle to ${RELEASE_VERSION}" 16 | ${SCRIPT_DIR}/bump-version.sh "${RELEASE_VERSION_WITHOUT_SUFFIX}-SNAPSHOT" "${RELEASE_VERSION}" 17 | 18 | echo "Create release tag for ${RELEASE_VERSION}" 19 | git tag -a -m "${RELEASE_VERSION}" r${RELEASE_VERSION} 20 | 21 | echo "Bump to snapshot version for ${NEXT_VERSION}" 22 | ${SCRIPT_DIR}/bump-version.sh "${RELEASE_VERSION}" "${NEXT_VERSION}-SNAPSHOT" 23 | -------------------------------------------------------------------------------- /.github/workflows/bump-version.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | if [ "$#" -ne 2 ]; then 5 | echo "Usage: $0 " >&2 6 | exit 1 7 | fi 8 | 9 | FROM_VERSION=$1 10 | TO_VERSION=$2 11 | 12 | sed --in-place "s/version=${FROM_VERSION}/version=${TO_VERSION}/g" gradle.properties 13 | git commit -m "Version: bump ${TO_VERSION}" gradle.properties 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | .#* 3 | .git 4 | *# 5 | 6 | # os x stuff 7 | *Thumbs.db* 8 | *.DS_Store 9 | 10 | # Build artifacts 11 | build 12 | target 13 | out 14 | mongo*.jar 15 | 16 | # Eclipse files 17 | .classpath 18 | .project 19 | .settings 20 | 21 | # Intellij IDEA files 22 | *.ipr 23 | *.iws 24 | *.iml 25 | *.idea 26 | workspace.xml 27 | atlassian-ide-plugin.xml 28 | 29 | # gradle 30 | .gradle 31 | 32 | # code review 33 | codereview.rc 34 | 35 | # evergreen 36 | expansion.yml 37 | 38 | # local settings 39 | **/gradle.properties 40 | local.properties 41 | 42 | # jenv 43 | .java-version 44 | 45 | #sdkman 46 | .sdkmanrc 47 | 48 | # mongocryptd 49 | **/mongocryptd*.pid 50 | 51 | # shell scripts 52 | *.sh 53 | !.evergreen/*.sh 54 | 55 | # security-sensitive files 56 | *.gpg 57 | 58 | # bin build directories 59 | **/bin 60 | 61 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "specifications"] 2 | path = driver-core/src/test/resources/specifications 3 | url = https://github.com/mongodb/specifications 4 | -------------------------------------------------------------------------------- /bson-record-codec/src/main/org/bson/codecs/record/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes for encoding and decoding Java records. 19 | */ 20 | package org.bson.codecs.record; 21 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordEmbedded.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | public record TestRecordEmbedded(String name) { 20 | } 21 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordParameterized.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import java.util.List; 20 | 21 | public record TestRecordParameterized(N number, List parameterizedList) { 22 | } 23 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithIllegalBsonDiscriminatorOnRecord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonDiscriminator; 20 | 21 | @BsonDiscriminator 22 | public record TestRecordWithIllegalBsonDiscriminatorOnRecord(String name) { 23 | } 24 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithIllegalBsonExtraElementsOnComponent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonExtraElements; 20 | 21 | public record TestRecordWithIllegalBsonExtraElementsOnComponent(@BsonExtraElements String name) { 22 | } 23 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithIllegalBsonIdOnAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonId; 20 | 21 | public record TestRecordWithIllegalBsonIdOnAccessor(String name) { 22 | 23 | @Override 24 | @BsonId 25 | public String name() { 26 | return name; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithIllegalBsonIgnoreOnComponent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonIgnore; 20 | 21 | public record TestRecordWithIllegalBsonIgnoreOnComponent(@BsonIgnore String name) { 22 | } 23 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithListOfListOfRecords.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonId; 20 | import org.bson.types.ObjectId; 21 | 22 | import java.util.List; 23 | 24 | public record TestRecordWithListOfListOfRecords(@BsonId ObjectId id, List> nestedRecords) { 25 | } 26 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithListOfRecords.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonId; 20 | import org.bson.types.ObjectId; 21 | 22 | import java.util.List; 23 | 24 | public record TestRecordWithListOfRecords(@BsonId ObjectId id, List nestedRecords) { 25 | } 26 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithMapOfRecords.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonId; 20 | import org.bson.types.ObjectId; 21 | 22 | import java.util.Map; 23 | 24 | public record TestRecordWithMapOfRecords(@BsonId ObjectId id, Map nestedRecords) { 25 | } 26 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithNestedParameterized.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | public record TestRecordWithNestedParameterized( 20 | TestRecordParameterized parameterizedRecord, 21 | B other) { 22 | } 23 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestRecordWithNullableField.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonId; 20 | import org.bson.types.ObjectId; 21 | 22 | public record TestRecordWithNullableField(@BsonId ObjectId id, String name, int age) { 23 | } 24 | -------------------------------------------------------------------------------- /bson-record-codec/src/test/unit/org/bson/codecs/record/samples/TestSelfReferentialHolderRecord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.record.samples; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonId; 20 | 21 | public record TestSelfReferentialHolderRecord(@BsonId String id, 22 | TestSelfReferentialRecord selfReferentialRecord) { 23 | } 24 | -------------------------------------------------------------------------------- /bson-scala/src/main/scala/org/mongodb/scala/bson/annotations/BsonIgnore.scala: -------------------------------------------------------------------------------- 1 | package org.mongodb.scala.bson.annotations 2 | 3 | import scala.annotation.StaticAnnotation 4 | 5 | /** 6 | * Annotation to ignore a property. 7 | * 8 | * @since 4.2 9 | */ 10 | case class BsonIgnore() extends StaticAnnotation 11 | -------------------------------------------------------------------------------- /bson-scala/src/main/scala/org/mongodb/scala/bson/annotations/BsonProperty.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.mongodb.scala.bson.annotations 18 | 19 | import scala.annotation.StaticAnnotation 20 | 21 | /** 22 | * Annotation to change the stored key of a property 23 | * 24 | * @param key the key for the stored property 25 | */ 26 | case class BsonProperty(key: String) extends StaticAnnotation 27 | -------------------------------------------------------------------------------- /bson-scala/src/main/scala/org/mongodb/scala/bson/conversions/package.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.mongodb.scala.bson 18 | 19 | /** 20 | * The conversions package. 21 | */ 22 | package object conversions { 23 | 24 | /** 25 | * Type alias to the Bson interface - an interface for types that are able to render themselves into a `BsonDocument`. 26 | */ 27 | type Bson = org.bson.conversions.Bson 28 | } 29 | -------------------------------------------------------------------------------- /bson-scala/src/test/scala/org/mongodb/scala/bson/BaseSpec.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.mongodb.scala.bson 17 | 18 | import org.scalatest.flatspec.AnyFlatSpec 19 | import org.scalatest.matchers.should.Matchers 20 | 21 | abstract class BaseSpec extends AnyFlatSpec with Matchers {} 22 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/annotations/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains annotations that can apply to any part of the BSON library code. 19 | */ 20 | package org.bson.annotations; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/assertions/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains design by contract assertions 19 | */ 20 | package org.bson.assertions; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/Codec.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs; 18 | 19 | /** 20 | * Implementations of this interface can both encode and decode values of type {@code T}. 21 | * 22 | * @param the value type 23 | * 24 | * @since 3.0 25 | */ 26 | public interface Codec extends Encoder, Decoder { 27 | } 28 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/configuration/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains codec configurations and the codec registry helper 19 | */ 20 | package org.bson.codecs.configuration; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/jsr310/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes specific to the JSR-310 Date and Time API 19 | */ 20 | package org.bson.codecs.jsr310; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains all the default BSON codecs. 19 | */ 20 | package org.bson.codecs; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/pojo/PojoCodec.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo; 18 | 19 | import org.bson.codecs.Codec; 20 | 21 | abstract class PojoCodec implements Codec { 22 | 23 | abstract ClassModel getClassModel(); 24 | 25 | abstract DiscriminatorLookup getDiscriminatorLookup(); 26 | } 27 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/pojo/PropertyModelSerializationImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo; 18 | 19 | class PropertyModelSerializationImpl implements PropertySerialization { 20 | 21 | PropertyModelSerializationImpl() { 22 | } 23 | 24 | @Override 25 | public boolean shouldSerialize(final T value) { 26 | return value != null; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/pojo/annotations/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package defines various annotations used by the driver provided when used in conjunction with the 19 | * {@link org.bson.codecs.pojo.Conventions#ANNOTATION_CONVENTION}. 20 | */ 21 | package org.bson.codecs.pojo.annotations; 22 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/codecs/pojo/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes specific to mapping user POJOs. 19 | */ 20 | package org.bson.codecs.pojo; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/conversions/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Bson interface 19 | */ 20 | package org.bson.conversions; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/diagnostics/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains the classes for visibility of the BSON layer, for example Logging. 19 | */ 20 | package org.bson.diagnostics; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/io/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains classes implementing I/O operations used by BSON objects. 19 | */ 20 | package org.bson.io; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonBooleanConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | class JsonBooleanConverter implements Converter { 20 | @Override 21 | public void convert(final Boolean value, final StrictJsonWriter writer) { 22 | writer.writeBoolean(value); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonBuffer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | interface JsonBuffer { 20 | 21 | int getPosition(); 22 | 23 | int read(); 24 | 25 | void unread(int c); 26 | 27 | int mark(); 28 | 29 | void reset(int markPos); 30 | 31 | void discard(int markPos); 32 | } 33 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonDoubleConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | class JsonDoubleConverter implements Converter { 20 | @Override 21 | public void convert(final Double value, final StrictJsonWriter writer) { 22 | writer.writeNumber(Double.toString(value)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonInt32Converter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | class JsonInt32Converter implements Converter { 20 | @Override 21 | public void convert(final Integer value, final StrictJsonWriter writer) { 22 | writer.writeNumber(Integer.toString(value)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonJavaScriptConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | class JsonJavaScriptConverter implements Converter { 20 | @Override 21 | public void convert(final String value, final StrictJsonWriter writer) { 22 | writer.writeStartObject(); 23 | writer.writeString("$code", value); 24 | writer.writeEndObject(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonNullConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | import org.bson.BsonNull; 20 | 21 | class JsonNullConverter implements Converter { 22 | @Override 23 | public void convert(final BsonNull value, final StrictJsonWriter writer) { 24 | writer.writeNull(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonStringConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | class JsonStringConverter implements Converter { 20 | @Override 21 | public void convert(final String value, final StrictJsonWriter writer) { 22 | writer.writeString(value); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/JsonSymbolConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | class JsonSymbolConverter implements Converter { 20 | @Override 21 | public void convert(final String value, final StrictJsonWriter writer) { 22 | writer.writeStartObject(); 23 | writer.writeString("$symbol", value); 24 | writer.writeEndObject(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/RelaxedExtendedJsonInt64Converter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | class RelaxedExtendedJsonInt64Converter implements Converter { 20 | @Override 21 | public void convert(final Long value, final StrictJsonWriter writer) { 22 | writer.writeNumber(Long.toString(value)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/ShellMaxKeyConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | import org.bson.BsonMaxKey; 20 | 21 | class ShellMaxKeyConverter implements Converter { 22 | @Override 23 | public void convert(final BsonMaxKey value, final StrictJsonWriter writer) { 24 | writer.writeRaw("MaxKey"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/ShellMinKeyConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | import org.bson.BsonMinKey; 20 | 21 | class ShellMinKeyConverter implements Converter { 22 | @Override 23 | public void convert(final BsonMinKey value, final StrictJsonWriter writer) { 24 | writer.writeRaw("MinKey"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/ShellUndefinedConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.json; 18 | 19 | import org.bson.BsonUndefined; 20 | 21 | class ShellUndefinedConverter implements Converter { 22 | @Override 23 | public void convert(final BsonUndefined value, final StrictJsonWriter writer) { 24 | writer.writeRaw("undefined"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/json/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * JSON serialization and deserialization. 19 | */ 20 | package org.bson.json; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains the base BSON classes. 19 | */ 20 | package org.bson; 21 | -------------------------------------------------------------------------------- /bson/src/main/org/bson/types/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains classes implementing various BSON types. 19 | */ 20 | package org.bson.types; 21 | -------------------------------------------------------------------------------- /bson/src/main/resources/META-INF/native-image/native-image.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2008-present MongoDB, Inc. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | Args = --initialize-at-run-time=org.bson.types.ObjectId 17 | -------------------------------------------------------------------------------- /bson/src/main/resources/META-INF/native-image/reflect-config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name":"java.lang.Object", 4 | "queryAllDeclaredMethods":true 5 | }, 6 | { 7 | "name":"sun.security.provider.NativePRNG", 8 | "methods":[{"name":"","parameterTypes":[] }, {"name":"","parameterTypes":["java.security.SecureRandomParameters"] }] 9 | }, 10 | { 11 | "name":"sun.security.provider.SHA", 12 | "methods":[{"name":"","parameterTypes":[] }] 13 | }, 14 | { 15 | "name":"org.slf4j.Logger" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /bson/src/test/resources/bson/boolean.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Boolean", 3 | "bson_type": "0x08", 4 | "test_key": "b", 5 | "valid": [ 6 | { 7 | "description": "True", 8 | "canonical_bson": "090000000862000100", 9 | "canonical_extjson": "{\"b\" : true}" 10 | }, 11 | { 12 | "description": "False", 13 | "canonical_bson": "090000000862000000", 14 | "canonical_extjson": "{\"b\" : false}" 15 | } 16 | ], 17 | "decodeErrors": [ 18 | { 19 | "description": "Invalid boolean value of 2", 20 | "bson": "090000000862000200" 21 | }, 22 | { 23 | "description": "Invalid boolean value of -1", 24 | "bson": "09000000086200FF00" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /bson/src/test/resources/bson/maxkey.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Maxkey type", 3 | "bson_type": "0x7F", 4 | "test_key": "a", 5 | "valid": [ 6 | { 7 | "description": "Maxkey", 8 | "canonical_bson": "080000007F610000", 9 | "canonical_extjson": "{\"a\" : {\"$maxKey\" : 1}}" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /bson/src/test/resources/bson/minkey.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Minkey type", 3 | "bson_type": "0xFF", 4 | "test_key": "a", 5 | "valid": [ 6 | { 7 | "description": "Minkey", 8 | "canonical_bson": "08000000FF610000", 9 | "canonical_extjson": "{\"a\" : {\"$minKey\" : 1}}" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /bson/src/test/resources/bson/null.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Null type", 3 | "bson_type": "0x0A", 4 | "test_key": "a", 5 | "valid": [ 6 | { 7 | "description": "Null", 8 | "canonical_bson": "080000000A610000", 9 | "canonical_extjson": "{\"a\" : null}" 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /bson/src/test/resources/bson/oid.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "ObjectId", 3 | "bson_type": "0x07", 4 | "test_key": "a", 5 | "valid": [ 6 | { 7 | "description": "All zeroes", 8 | "canonical_bson": "1400000007610000000000000000000000000000", 9 | "canonical_extjson": "{\"a\" : {\"$oid\" : \"000000000000000000000000\"}}" 10 | }, 11 | { 12 | "description": "All ones", 13 | "canonical_bson": "14000000076100FFFFFFFFFFFFFFFFFFFFFFFF00", 14 | "canonical_extjson": "{\"a\" : {\"$oid\" : \"ffffffffffffffffffffffff\"}}" 15 | }, 16 | { 17 | "description": "Random", 18 | "canonical_bson": "1400000007610056E1FC72E0C917E9C471416100", 19 | "canonical_extjson": "{\"a\" : {\"$oid\" : \"56e1fc72e0c917e9c4714161\"}}" 20 | } 21 | ], 22 | "decodeErrors": [ 23 | { 24 | "description": "OID truncated", 25 | "bson": "1200000007610056E1FC72E0C917E9C471" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /bson/src/test/resources/bson/undefined.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Undefined type (deprecated)", 3 | "bson_type": "0x06", 4 | "deprecated": true, 5 | "test_key": "a", 6 | "valid": [ 7 | { 8 | "description": "Undefined", 9 | "canonical_bson": "0800000006610000", 10 | "canonical_extjson": "{\"a\" : {\"$undefined\" : true}}", 11 | "converted_bson": "080000000A610000", 12 | "converted_extjson": "{\"a\" : null}" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/BsonDocumentSubclass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs; 18 | 19 | import org.bson.BsonDocument; 20 | 21 | public class BsonDocumentSubclass extends BsonDocument { 22 | private static final long serialVersionUID = 1L; 23 | } 24 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/SimpleEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs; 18 | 19 | public enum SimpleEnum { 20 | ALPHA, 21 | BRAVO, 22 | CHARLIE 23 | } 24 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/AbstractCollectionSpecificReturnTypeCreatorModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | import java.util.List; 20 | 21 | public abstract class AbstractCollectionSpecificReturnTypeCreatorModel { 22 | public abstract List getProperties(); 23 | } 24 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/ConcreteField.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | public class ConcreteField extends BaseField { 20 | 21 | public ConcreteField() { 22 | } 23 | 24 | public ConcreteField(final String name) { 25 | super(name); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/ConcreteModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | public class ConcreteModel extends GenericBaseModel { 20 | 21 | public ConcreteModel() { 22 | } 23 | 24 | public ConcreteModel(final ConcreteField field) { 25 | super(field); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceBasedModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | public interface InterfaceBasedModel { 20 | } 21 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceGenericModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | 20 | public interface InterfaceGenericModel { 21 | 22 | T getPropertyA(); 23 | 24 | void setPropertyA(T property); 25 | } 26 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceModelA.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | 20 | public interface InterfaceModelA { 21 | 22 | String getPropertyA(); 23 | 24 | void setPropertyA(String property); 25 | } 26 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceModelB.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | 20 | public interface InterfaceModelB extends InterfaceModelA { 21 | 22 | String getPropertyB(); 23 | 24 | void setPropertyB(String propertyB); 25 | } 26 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceModelC.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | 20 | public interface InterfaceModelC extends InterfaceModelA { 21 | 22 | default String getPropertyC() { 23 | return "c"; 24 | } 25 | 26 | void setPropertyC(String propertyC); 27 | } 28 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceUpperBoundsModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | public interface InterfaceUpperBoundsModel { 20 | T getNestedModel(); 21 | } 22 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/InterfaceUpperBoundsModelAbstract.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | abstract class InterfaceUpperBoundsModelAbstract implements InterfaceUpperBoundsModel { 20 | public abstract String getName(); 21 | } 22 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/UpperBoundsConcreteModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities; 18 | 19 | public final class UpperBoundsConcreteModel extends UpperBoundsModel { 20 | 21 | public UpperBoundsConcreteModel() { 22 | } 23 | 24 | public UpperBoundsConcreteModel(final Long myGenericField) { 25 | super(myGenericField); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/AnnotationNameCollision.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities.conventions; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonProperty; 20 | 21 | public final class AnnotationNameCollision { 22 | 23 | public String id; 24 | 25 | @BsonProperty("id") 26 | public String alternative; 27 | } 28 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/CollectionNameModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities.conventions; 18 | 19 | public final class CollectionNameModel { 20 | } 21 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/DiscriminatorNameModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities.conventions; 18 | 19 | public final class DiscriminatorNameModel { 20 | } 21 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/FieldStorageModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities.conventions; 18 | 19 | public final class FieldStorageModel { 20 | private String id; 21 | } 22 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/InterfaceModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities.conventions; 18 | 19 | import org.bson.codecs.pojo.annotations.BsonDiscriminator; 20 | 21 | @BsonDiscriminator 22 | public interface InterfaceModel { 23 | } 24 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/PropertyNameModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.codecs.pojo.entities.conventions; 18 | 19 | public final class PropertyNameModel { 20 | private int myModelField; 21 | private int myModel2Field; 22 | } 23 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/conventions/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Package contains test models for conventions 19 | */ 20 | package org.bson.codecs.pojo.entities.conventions; 21 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/codecs/pojo/entities/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Test entities and related classes for the conventions tests 19 | */ 20 | package org.bson.codecs.pojo.entities; 21 | -------------------------------------------------------------------------------- /bson/src/test/unit/org/bson/internal/Holder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.bson.internal; 18 | 19 | import java.util.Collection; 20 | 21 | public class Holder { 22 | @SuppressWarnings("VisibilityModifier") 23 | public Collection> c; 24 | } 25 | -------------------------------------------------------------------------------- /build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | plugins { 18 | id("eclipse") 19 | id("idea") 20 | } 21 | -------------------------------------------------------------------------------- /buildSrc/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | plugins { 17 | // Add support for `libs.versions.toml` within `buildSrc` 18 | // https://github.com/radoslaw-panuszewski/typesafe-conventions-gradle-plugin 19 | // https://github.com/gradle/gradle/issues/15383 20 | id("dev.panuszewski.typesafe-conventions") version "0.4.1" 21 | } 22 | -------------------------------------------------------------------------------- /buildSrc/src/main/kotlin/conventions/bnd.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package conventions 17 | 18 | // Gradle Plugin for developing OSGi bundles with Bnd. 19 | // https://plugins.gradle.org/plugin/biz.aQute.bnd.builder 20 | 21 | plugins { id("biz.aQute.bnd.builder") } 22 | -------------------------------------------------------------------------------- /buildSrc/src/main/kotlin/project/Companion.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package project 17 | 18 | import org.gradle.accessors.dm.LibrariesForLibs 19 | import org.gradle.api.Project 20 | import org.gradle.kotlin.dsl.getByType 21 | 22 | // Adds the `libs` value for use in project 23 | internal val Project.libs: LibrariesForLibs 24 | get() = extensions.getByType() 25 | 26 | internal const val DEFAULT_JAVA_VERSION = 17 27 | -------------------------------------------------------------------------------- /buildSrc/src/main/kotlin/project/base.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package project 17 | 18 | plugins { id("conventions.git-version") } 19 | 20 | group = "org.mongodb" 21 | 22 | repositories { 23 | mavenLocal() 24 | google() 25 | mavenCentral() 26 | } 27 | -------------------------------------------------------------------------------- /config/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2008-$today.year MongoDB, Inc. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /config/mongodb.license: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | -------------------------------------------------------------------------------- /config/scala/scalafmt.conf: -------------------------------------------------------------------------------- 1 | version = "3.7.1" 2 | runner.dialect = scala213 3 | 4 | preset = default 5 | 6 | danglingParentheses.preset = true 7 | docstrings.style = keep 8 | #docstrings.style = Asterisk 9 | #docstrings.wrap = no 10 | maxColumn = 120 11 | rewrite.rules = [SortImports] 12 | newlines.topLevelStatements = [] 13 | newlines.source=keep 14 | newlines.implicitParamListModifierPrefer=before 15 | 16 | spaces.inImportCurlyBraces = true 17 | -------------------------------------------------------------------------------- /config/spock/ExcludeSlow.groovy: -------------------------------------------------------------------------------- 1 | package spock 2 | 3 | runner { 4 | println "Excluding Slow Spock tests" 5 | exclude com.mongodb.spock.Slow 6 | } 7 | -------------------------------------------------------------------------------- /config/spock/OnlySlow.groovy: -------------------------------------------------------------------------------- 1 | package spock 2 | 3 | runner { 4 | println "Only including Slow Spock tests" 5 | include com.mongodb.spock.Slow 6 | } 7 | -------------------------------------------------------------------------------- /driver-benchmarks/src/main/com/mongodb/benchmark/benchmarks/IdRemover.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | package com.mongodb.benchmark.benchmarks; 19 | 20 | public interface IdRemover { 21 | void removeId(T document); 22 | } 23 | -------------------------------------------------------------------------------- /driver-benchmarks/src/main/com/mongodb/benchmark/framework/BenchmarkResultWriter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | package com.mongodb.benchmark.framework; 19 | 20 | import java.io.Closeable; 21 | 22 | public interface BenchmarkResultWriter extends Closeable { 23 | void write(BenchmarkResult benchmarkResult); 24 | 25 | void write(MongocryptBecnhmarkResult result); 26 | } 27 | -------------------------------------------------------------------------------- /driver-benchmarks/src/resources/keyDocument.json: -------------------------------------------------------------------------------- 1 | { 2 | "_id": { 3 | "$binary": { 4 | "base64": "YWFhYWFhYWFhYWFhYWFhYQ==", 5 | "subType": "04" 6 | } 7 | }, 8 | "keyMaterial": { 9 | "$binary": { 10 | "base64": "ACR7Hm33dDOAAD7l2ubZhSpSUWK8BkALUY+qW3UgBAEcTV8sBwZnaAWnzDsmrX55dgmYHWfynDlJogC/e33u6pbhyXvFTs5ow9OLCuCWBJ39T/Ivm3kMaZJybkejY0V+uc4UEdHvVVz/SbitVnzs2WXdMGmo1/HmDRrxGYZjewFslquv8wtUHF5pyB+QDlQBd/al9M444/8bJZFbMSmtIg==", 11 | "subType": "00" 12 | } 13 | }, 14 | "creationDate": { 15 | "$date": "2023-08-21T14:28:20.875Z" 16 | }, 17 | "updateDate": { 18 | "$date": "2023-08-21T14:28:20.875Z" 19 | }, 20 | "status": 0, 21 | "masterKey": { 22 | "provider": "local" 23 | } 24 | } -------------------------------------------------------------------------------- /driver-benchmarks/src/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /driver-core/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/mongo-java-driver/3de5b477fa6b5edbb3072762fcc590c539615160/driver-core/.gitignore -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/DBObjectFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb; 18 | 19 | import java.util.List; 20 | 21 | interface DBObjectFactory { 22 | DBObject getInstance(); 23 | 24 | DBObject getInstance(List path); 25 | } 26 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/annotations/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains annotations that can apply to any part of the driver code. 19 | */ 20 | package com.mongodb.annotations; 21 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/assertions/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains design by contract assertions 19 | */ 20 | package com.mongodb.assertions; 21 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/bulk/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains classes for representing the result of a bulk write operation. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.bulk; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/cursor/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains models and options that help describe MongoCollection operations 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client.cursor; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/gridfs/codecs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains codecs for use with GridFS 19 | * 20 | * @since 3.3 21 | */ 22 | @NonNullApi 23 | package com.mongodb.client.gridfs.codecs; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/gridfs/model/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains models for use with GridFS 19 | * 20 | * @since 3.1 21 | */ 22 | @NonNullApi 23 | package com.mongodb.client.gridfs.model; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/ApproximateQuantileMethod.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.mongodb.client.model; 17 | 18 | import com.mongodb.annotations.Sealed; 19 | 20 | 21 | /** 22 | * @see QuantileMethod#approximate() 23 | * @since 4.10 24 | * @mongodb.server.release 7.0 25 | */ 26 | @Sealed 27 | public interface ApproximateQuantileMethod extends QuantileMethod { 28 | } 29 | 30 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/WriteModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.model; 18 | 19 | /** 20 | * A base class for models that can be used in a bulk write operations. 21 | * 22 | * @param the document type for storage 23 | * @since 3.0 24 | */ 25 | public abstract class WriteModel { 26 | WriteModel() { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/bulk/BaseClientDeleteOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.model.bulk; 18 | 19 | /** 20 | * The methods declared in this interface are part of the public API of subclasses or sub-interfaces. 21 | */ 22 | interface BaseClientDeleteOptions extends BaseClientWriteModelOptions { 23 | } 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/bulk/ClientNamespacedDeleteManyModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.model.bulk; 18 | 19 | import com.mongodb.annotations.Sealed; 20 | 21 | /** 22 | * A model for deleting all documents matching a filter. 23 | * 24 | * @since 5.3 25 | */ 26 | @Sealed 27 | public interface ClientNamespacedDeleteManyModel extends ClientNamespacedWriteModel { 28 | } 29 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/bulk/ClientNamespacedDeleteOneModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.model.bulk; 18 | 19 | import com.mongodb.annotations.Sealed; 20 | 21 | /** 22 | * A model for deleting at most one document matching a filter. 23 | * 24 | * @since 5.3 25 | */ 26 | @Sealed 27 | public interface ClientNamespacedDeleteOneModel extends ClientNamespacedWriteModel { 28 | } 29 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/bulk/ClientNamespacedInsertOneModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.model.bulk; 18 | 19 | import com.mongodb.annotations.Sealed; 20 | 21 | /** 22 | * A model for inserting a document. 23 | * 24 | * @since 5.3 25 | */ 26 | @Sealed 27 | public interface ClientNamespacedInsertOneModel extends ClientNamespacedWriteModel { 28 | } 29 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/bulk/ClientNamespacedReplaceOneModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.model.bulk; 18 | 19 | import com.mongodb.annotations.Sealed; 20 | 21 | /** 22 | * A model for replacing at most one document matching a filter. 23 | * 24 | * @since 5.3 25 | */ 26 | @Sealed 27 | public interface ClientNamespacedReplaceOneModel extends ClientNamespacedWriteModel { 28 | } 29 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/bulk/ClientNamespacedUpdateManyModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.model.bulk; 18 | 19 | import com.mongodb.annotations.Sealed; 20 | 21 | /** 22 | * A model for updating all documents matching a filter. 23 | * 24 | * @since 5.3 25 | */ 26 | @Sealed 27 | public interface ClientNamespacedUpdateManyModel extends ClientNamespacedWriteModel { 28 | } 29 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/bulk/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Models, options, results for the client-level bulk write operation. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client.model.bulk; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/changestream/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes for the change stream api 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client.model.changestream; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/fill/LinearFillOutputField.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.mongodb.client.model.fill; 17 | 18 | import com.mongodb.annotations.Evolving; 19 | 20 | /** 21 | * @see FillOutputField#linear(String) 22 | * @mongodb.server.release 5.3 23 | * @since 4.7 24 | */ 25 | @Evolving 26 | public interface LinearFillOutputField extends FillOutputField { 27 | } 28 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/fill/LocfFillOutputField.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.mongodb.client.model.fill; 17 | 18 | import com.mongodb.annotations.Evolving; 19 | 20 | /** 21 | * @see FillOutputField#locf(String) 22 | * @mongodb.server.release 5.3 23 | * @since 4.7 24 | */ 25 | @Evolving 26 | public interface LocfFillOutputField extends FillOutputField { 27 | } 28 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/fill/ValueFillOutputField.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.mongodb.client.model.fill; 17 | 18 | import com.mongodb.annotations.Evolving; 19 | 20 | /** 21 | * @see FillOutputField#value(String, Object) 22 | * @mongodb.server.release 5.3 23 | * @since 4.7 24 | */ 25 | @Evolving 26 | public interface ValueFillOutputField extends FillOutputField { 27 | } 28 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/geojson/codecs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that encode and decode GeoJSON objects. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client.model.geojson.codecs; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/geojson/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that represent GeoJSON objects. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client.model.geojson; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains models and options that help describe MongoCollection operations 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client.model; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/model/vault/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains options classes for the key vault API 19 | * 20 | * @since 3.11 21 | */ 22 | @NonNullApi 23 | package com.mongodb.client.model.vault; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/client/result/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes representing operation results 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client.result; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/connection/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains classes that manage connecting to MongoDB servers. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.connection; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/event/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains cluster and connection event related classes 19 | */ 20 | @NonNullApi 21 | package com.mongodb.event; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/async/AsyncConsumer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.internal.async; 18 | 19 | /** 20 | * See {@link AsyncRunnable}. 21 | *

22 | * This class is not part of the public API and may be removed or changed at any time 23 | */ 24 | @FunctionalInterface 25 | public interface AsyncConsumer extends AsyncFunction { 26 | } 27 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/async/function/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NonNullApi 18 | package com.mongodb.internal.async.function; 19 | 20 | import com.mongodb.lang.NonNullApi; 21 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/async/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | */ 19 | 20 | @NonNullApi 21 | package com.mongodb.internal.async; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/authentication/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | */ 19 | 20 | @NonNullApi 21 | package com.mongodb.internal.authentication; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/binding/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.binding; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/bulk/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.bulk; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/capi/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.capi; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/client/model/bulk/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Internal program elements related to {@link com.mongodb.client.model.bulk}. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.internal.client.model.bulk; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/client/model/changestream/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.client.model.changestream; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/client/model/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.client.model; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/client/vault/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.client.vault; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/connection/CommandEventSender.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.internal.connection; 18 | 19 | interface CommandEventSender { 20 | void sendStartedEvent(); 21 | 22 | void sendFailedEvent(Throwable t); 23 | 24 | void sendSucceededEvent(ResponseBuffers responseBuffers); 25 | 26 | void sendSucceededEventForOneWayCommand(); 27 | } 28 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/connection/DnsSrvRecordMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.internal.connection; 18 | 19 | /** 20 | *

This class is not part of the public API and may be removed or changed at any time

21 | */ 22 | public interface DnsSrvRecordMonitor { 23 | void start(); 24 | 25 | void close(); 26 | } 27 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/connection/Pool.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.internal.connection; 18 | 19 | import java.util.concurrent.TimeUnit; 20 | 21 | interface Pool { 22 | T get(); 23 | 24 | T get(long timeout, TimeUnit timeUnit); 25 | 26 | void release(T t); 27 | 28 | void close(); 29 | 30 | void release(T t, boolean discard); 31 | } 32 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/connection/ServerMonitor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.internal.connection; 18 | 19 | interface ServerMonitor { 20 | 21 | void start(); 22 | 23 | void connect(); 24 | 25 | void close(); 26 | 27 | void cancelCurrentCheck(); 28 | } 29 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/connection/netty/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains Netty-specific program elements. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.internal.connection.netty; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/connection/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.connection; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/diagnostics/logging/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.diagnostics.logging; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/dns/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.dns; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/event/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.event; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/function/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | */ 19 | 20 | @NonNullApi 21 | package com.mongodb.internal.function; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/inject/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.inject; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/logging/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.logging; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/operation/retry/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.operation.retry; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | */ 19 | 20 | @NonNullApi 21 | package com.mongodb.internal; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/selector/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.selector; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/session/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.session; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/thread/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.thread; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/time/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains program elements for working with time. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.internal.time; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/internal/validator/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains classes that manage binding to MongoDB servers for various operations. 19 | */ 20 | 21 | @NonNullApi 22 | package com.mongodb.internal.validator; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/lang/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains JSR 305-compatible annotations related to nullability. 19 | */ 20 | package com.mongodb.lang; 21 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/management/NullMBeanServer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.management; 18 | 19 | class NullMBeanServer implements MBeanServer { 20 | @Override 21 | public void unregisterMBean(final String mBeanName) { 22 | } 23 | 24 | @Override 25 | public void registerMBean(final Object mBean, final String mBeanName) { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/management/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains classes for monitoring the server/driver via Java Management Extensions (JMX). 19 | */ 20 | @NonNullApi 21 | package com.mongodb.management; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The core mongodb package 19 | */ 20 | @NonNullApi 21 | package com.mongodb; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/selector/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains classes that determine how to select the server to connect to in order to send commands or queries. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.selector; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/com/mongodb/session/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains classes related to sessions 19 | */ 20 | @NonNullApi 21 | package com.mongodb.session; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-core/src/main/resources/META-INF/native-image/native-image.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2008-present MongoDB, Inc. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | Args =\ 17 | --initialize-at-run-time=\ 18 | com.mongodb.UnixServerAddress,\ 19 | com.mongodb.internal.connection.SnappyCompressor,\ 20 | com.mongodb.internal.connection.ClientMetadataHelper,\ 21 | com.mongodb.internal.connection.ServerAddressHelper,\ 22 | com.mongodb.internal.dns.DefaultDnsResolver 23 | -------------------------------------------------------------------------------- /driver-core/src/main/resources/META-INF/native-image/resource-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "resources":{ 3 | "includes":[{ 4 | "pattern":"\\QMETA-INF/services/com.mongodb.spi.dns.DnsClientProvider\\E" 5 | }, { 6 | "pattern":"\\QMETA-INF/services/com.mongodb.spi.dns.InetAddressResolverProvider\\E" 7 | }]}, 8 | "bundles":[] 9 | } 10 | -------------------------------------------------------------------------------- /driver-core/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /driver-core/src/test/unit/com/mongodb/internal/connection/ServerListenerFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.internal.connection; 18 | 19 | import com.mongodb.ServerAddress; 20 | import com.mongodb.event.ServerListener; 21 | 22 | interface ServerListenerFactory { 23 | ServerListener create(ServerAddress serverAddress); 24 | } 25 | -------------------------------------------------------------------------------- /driver-core/src/test/unit/com/mongodb/spock/Slow.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.mongodb.spock; 17 | 18 | import java.lang.annotation.ElementType; 19 | import java.lang.annotation.Retention; 20 | import java.lang.annotation.RetentionPolicy; 21 | import java.lang.annotation.Target; 22 | 23 | @Retention(RetentionPolicy.RUNTIME) 24 | @Target({ElementType.METHOD, ElementType.TYPE}) 25 | public @interface Slow { 26 | } 27 | -------------------------------------------------------------------------------- /driver-lambda/samconfig.toml: -------------------------------------------------------------------------------- 1 | # More information about the configuration file can be found here: 2 | # https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html 3 | version = 0.1 4 | 5 | [default] 6 | [default.global.parameters] 7 | stack_name = "lambdatest" 8 | 9 | [default.build.parameters] 10 | cached = true 11 | parallel = false 12 | 13 | [default.validate.parameters] 14 | lint = true 15 | 16 | [default.deploy.parameters] 17 | capabilities = "CAPABILITY_IAM" 18 | confirm_changeset = false # headless 19 | resolve_s3 = true 20 | 21 | [default.package.parameters] 22 | resolve_s3 = true 23 | 24 | [default.sync.parameters] 25 | watch = true 26 | 27 | [default.local_start_api.parameters] 28 | warm_containers = "EAGER" 29 | 30 | [default.local_start_lambda.parameters] 31 | warm_containers = "EAGER" 32 | -------------------------------------------------------------------------------- /driver-legacy/src/examples/tour/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the quick tour examples 19 | */ 20 | package tour; 21 | -------------------------------------------------------------------------------- /driver-legacy/src/main/com/mongodb/DBCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb; 18 | 19 | import org.bson.BSONCallback; 20 | 21 | /** 22 | * The DB callback interface. 23 | */ 24 | public interface DBCallback extends BSONCallback { 25 | } 26 | -------------------------------------------------------------------------------- /driver-legacy/src/main/com/mongodb/DBDecoderFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb; 18 | 19 | /** 20 | * Creates concrete DBDecoder instances. 21 | */ 22 | public interface DBDecoderFactory { 23 | /** 24 | * Creates an instance. 25 | * 26 | * @return the concrete implementation of {@code DBDecoder}. 27 | */ 28 | DBDecoder create(); 29 | } 30 | -------------------------------------------------------------------------------- /driver-legacy/src/main/com/mongodb/DBEncoderFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb; 18 | 19 | /** 20 | * Creates concrete DBEncoder instances. 21 | */ 22 | public interface DBEncoderFactory { 23 | /** 24 | * Creates an instance. 25 | * 26 | * @return the concrete implementation of {@code DBEncoder}. 27 | */ 28 | DBEncoder create(); 29 | } 30 | -------------------------------------------------------------------------------- /driver-legacy/src/main/com/mongodb/WriteRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb; 18 | 19 | abstract class WriteRequest { 20 | abstract com.mongodb.internal.bulk.WriteRequest toNew(DBCollection dbCollection); 21 | } 22 | -------------------------------------------------------------------------------- /driver-legacy/src/main/com/mongodb/client/jndi/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains a JNDI ObjectFactory implementation. 19 | * 20 | * @since 3.4 21 | */ 22 | package com.mongodb.client.jndi; 23 | -------------------------------------------------------------------------------- /driver-legacy/src/main/com/mongodb/gridfs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains the classes for supporting MongoDB's specification for storing very large files, GridFS. 19 | * @mongodb.driver.manual core/gridfs/ GridFS 20 | */ 21 | @NonNullApi 22 | package com.mongodb.gridfs; 23 | 24 | import com.mongodb.lang.NonNullApi; 25 | -------------------------------------------------------------------------------- /driver-legacy/src/test/functional/com/mongodb/ClassA.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb; 18 | 19 | public class ClassA extends BasicDBObject { 20 | private static final long serialVersionUID = -5066012099738511289L; 21 | } 22 | -------------------------------------------------------------------------------- /driver-legacy/src/test/functional/com/mongodb/ClassB.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb; 18 | 19 | public class ClassB extends BasicDBObject { 20 | private static final long serialVersionUID = -270548788202734185L; 21 | } 22 | -------------------------------------------------------------------------------- /driver-legacy/src/test/resources/GridFSLegacy/GridFSTestFile.txt: -------------------------------------------------------------------------------- 1 | GridFS Test File 2 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/examples/reactivestreams/gridfs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | /** 19 | * This package contains the gridfs tour example 20 | */ 21 | package reactivestreams.gridfs; 22 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/examples/reactivestreams/helpers/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | package reactivestreams.helpers; 19 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/examples/reactivestreams/primer/PrimerTestCase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | package reactivestreams.primer; 19 | 20 | 21 | import com.mongodb.reactivestreams.client.MongoDatabase; 22 | 23 | import static com.mongodb.reactivestreams.client.Fixture.getMongoClient; 24 | 25 | public class PrimerTestCase { 26 | MongoDatabase db = getMongoClient().getDatabase("test"); 27 | } 28 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/examples/reactivestreams/tour/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | package reactivestreams.tour; 19 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/gridfs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Contains the classes for supporting MongoDB's specification for storing very large files, GridFS. 19 | * @mongodb.driver.manual core/gridfs/ GridFS 20 | */ 21 | package com.mongodb.reactivestreams.client.gridfs; 22 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utility classes for internal library use only. 19 | * 20 | *

This should not be considered a part of the public API.

21 | */ 22 | @NonNullApi 23 | package com.mongodb.reactivestreams.client.internal.crypt; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/gridfs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utility classes for internal library use only. 19 | * 20 | *

This should not be considered a part of the public API.

21 | */ 22 | @NonNullApi 23 | package com.mongodb.reactivestreams.client.internal.gridfs; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utility classes for internal library use only. 19 | * 20 | *

This should not be considered a part of the public API.

21 | */ 22 | @NonNullApi 23 | package com.mongodb.reactivestreams.client.internal; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/vault/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * Utility classes for internal library use only. 19 | * 20 | *

This should not be considered a part of the public API.

21 | */ 22 | @NonNullApi 23 | package com.mongodb.reactivestreams.client.internal.vault; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/vault/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Key Vault API 19 | * 20 | * @since 1.12 21 | */ 22 | @NonNullApi 23 | package com.mongodb.reactivestreams.client.vault; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/syncadapter/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NonNullApi 18 | package com.mongodb.reactivestreams.client.syncadapter; 19 | 20 | import com.mongodb.lang.NonNullApi; 21 | -------------------------------------------------------------------------------- /driver-reactive-streams/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /driver-scala/rootdoc.txt: -------------------------------------------------------------------------------- 1 | This is the documentation for the MongoDB Scala driver. 2 | 3 | == Driver structure == 4 | 5 | The [[http://mongodb.org mongodb]] scala driver. 6 | 7 | To get started you need a [[org.mongodb.scala.MongoClient MongoClient]] instance, either from a 8 | [[https://www.mongodb.com/docs/manual/reference/connection-string/ connection string]] or via a [[org.mongodb.scala.MongoClientSettings]]. 9 | 10 | Notable packages include: 11 | 12 | - [[org.mongodb.scala.MongoClient MongoClient]] The MongoClient used to connect and access MongoDB 13 | - [[org.mongodb.scala.MongoDatabase MongoDatabase]] Providing access to a specific database 14 | - [[org.mongodb.scala.MongoCollection MongoCollection]] Providing access to a specific collection in a database. 15 | -------------------------------------------------------------------------------- /driver-scala/src/integrationTest/scala/org/mongodb/scala/BaseSpec.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.mongodb.scala 17 | 18 | import org.scalatest.flatspec.AnyFlatSpec 19 | import org.scalatest.matchers.should.Matchers 20 | 21 | abstract class BaseSpec extends AnyFlatSpec with Matchers {} 22 | -------------------------------------------------------------------------------- /driver-scala/src/integrationTest/scala/org/mongodb/scala/syncadapter/SyncMongoClient.scala: -------------------------------------------------------------------------------- 1 | package org.mongodb.scala.syncadapter 2 | 3 | import com.mongodb.ClientSessionOptions 4 | import com.mongodb.client.{ ClientSession, MongoClient => JMongoClient, MongoDatabase => JMongoDatabase } 5 | import org.bson.Document 6 | import org.bson.conversions.Bson 7 | import org.mongodb.scala.MongoClient 8 | import org.mongodb.scala.bson.DefaultHelper.DefaultsTo 9 | 10 | import scala.collection.JavaConverters._ 11 | import scala.concurrent.Await 12 | import scala.reflect.ClassTag 13 | 14 | case class SyncMongoClient(wrapped: MongoClient) extends SyncMongoCluster(wrapped) with JMongoClient { 15 | 16 | override def close(): Unit = wrapped.close() 17 | 18 | override def getClusterDescription = throw new UnsupportedOperationException 19 | 20 | } 21 | -------------------------------------------------------------------------------- /driver-scala/src/main/scala/org/mongodb/scala/Tag.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.mongodb.scala 18 | 19 | import com.mongodb.{ Tag => JTag } 20 | 21 | /** 22 | * A replica set tag. 23 | */ 24 | object Tag { 25 | def apply(name: String, value: String): Tag = new JTag(name, value) 26 | } 27 | -------------------------------------------------------------------------------- /driver-scala/src/main/scala/org/mongodb/scala/vault/package.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.mongodb.scala 17 | 18 | /** 19 | * This package contains the Key Vault API 20 | * 21 | * @since 2.7 22 | */ 23 | package object vault {} 24 | -------------------------------------------------------------------------------- /driver-scala/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /driver-scala/src/test/scala/org/mongodb/scala/BaseSpec.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.mongodb.scala 17 | 18 | import org.scalatest.flatspec.AnyFlatSpec 19 | import org.scalatest.matchers.should.Matchers 20 | 21 | abstract class BaseSpec extends AnyFlatSpec with Matchers {} 22 | -------------------------------------------------------------------------------- /driver-sync/src/examples/gridfs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the gridfs tour example 19 | */ 20 | package gridfs; 21 | -------------------------------------------------------------------------------- /driver-sync/src/examples/tour/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the quick tour examples 19 | */ 20 | package tour; 21 | -------------------------------------------------------------------------------- /driver-sync/src/main/com/mongodb/client/gridfs/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the new GridFS implementation 19 | * 20 | * @since 3.1 21 | */ 22 | @NonNullApi 23 | package com.mongodb.client.gridfs; 24 | 25 | import com.mongodb.lang.NonNullApi; 26 | -------------------------------------------------------------------------------- /driver-sync/src/main/com/mongodb/client/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @NonNullApi 18 | package com.mongodb.client.internal; 19 | 20 | import com.mongodb.lang.NonNullApi; 21 | -------------------------------------------------------------------------------- /driver-sync/src/main/com/mongodb/client/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the synchronous CRUD API. 19 | */ 20 | @NonNullApi 21 | package com.mongodb.client; 22 | 23 | import com.mongodb.lang.NonNullApi; 24 | -------------------------------------------------------------------------------- /driver-sync/src/main/com/mongodb/client/vault/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Key Vault API 19 | * 20 | * @since 3.11 21 | */ 22 | 23 | @NonNullApi 24 | package com.mongodb.client.vault; 25 | 26 | import com.mongodb.lang.NonNullApi; 27 | -------------------------------------------------------------------------------- /driver-sync/src/test/functional/com/mongodb/client/ExplainTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client; 18 | 19 | import com.mongodb.MongoClientSettings; 20 | 21 | public class ExplainTest extends AbstractExplainTest { 22 | @Override 23 | protected MongoClient createMongoClient(final MongoClientSettings settings) { 24 | return MongoClients.create(settings); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /driver-sync/src/test/functional/com/mongodb/client/ServerSelectionProseTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.mongodb.client; 17 | 18 | import com.mongodb.MongoClientSettings; 19 | 20 | final class ServerSelectionProseTest extends AbstractServerSelectionProseTest { 21 | protected MongoClient createClient(final MongoClientSettings settings) { 22 | return MongoClients.create(settings); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /driver-sync/src/test/functional/com/mongodb/client/SessionsProseTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client; 18 | 19 | import com.mongodb.MongoClientSettings; 20 | 21 | public class SessionsProseTest extends AbstractSessionsProseTest { 22 | @Override 23 | protected MongoClient getMongoClient(final MongoClientSettings settings) { 24 | return MongoClients.create(settings); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /driver-sync/src/test/functional/com/mongodb/client/unified/OperationAsserter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.unified; 18 | 19 | import org.bson.BsonDocument; 20 | 21 | interface OperationAsserter { 22 | void assertOperation(BsonDocument operation, int index); 23 | } 24 | -------------------------------------------------------------------------------- /driver-sync/src/test/functional/com/mongodb/client/unified/SessionsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.unified; 18 | 19 | import org.junit.jupiter.params.provider.Arguments; 20 | 21 | import java.util.Collection; 22 | 23 | final class SessionsTest extends UnifiedSyncTest { 24 | private static Collection data() { 25 | return getTestData("sessions"); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedAuthTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.client.unified; 18 | 19 | import org.junit.jupiter.params.provider.Arguments; 20 | 21 | import java.util.Collection; 22 | 23 | final class UnifiedAuthTest extends UnifiedSyncTest { 24 | private static Collection data() { 25 | return getTestData("auth"); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /driver-sync/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /driver-workload-executor/src/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /graalvm-native-image-app/src/main/com/mongodb/internal/graalvm/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | @NonNullApi 17 | package com.mongodb.internal.graalvm; 18 | 19 | import com.mongodb.lang.NonNullApi; 20 | -------------------------------------------------------------------------------- /graalvm-native-image-app/src/main/resources/META-INF/native-image/jni-config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name":"com.mongodb.internal.graalvm.NativeImageApp", 4 | "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /graalvm-native-image-app/src/main/resources/META-INF/native-image/predefined-classes-config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "type":"agent-extracted", 4 | "classes":[ 5 | ] 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /graalvm-native-image-app/src/main/resources/META-INF/native-image/proxy-config.json: -------------------------------------------------------------------------------- 1 | [ 2 | ] -------------------------------------------------------------------------------- /graalvm-native-image-app/src/main/resources/META-INF/native-image/serialization-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "types":[ 3 | ], 4 | "lambdaCapturingTypes":[ 5 | ], 6 | "proxies":[ 7 | ] 8 | } -------------------------------------------------------------------------------- /graalvm-native-image-app/src/main/resources/META-INF/services/com.mongodb.spi.dns.DnsClientProvider: -------------------------------------------------------------------------------- 1 | com.mongodb.internal.graalvm.CustomDnsClientProvider 2 | -------------------------------------------------------------------------------- /graalvm-native-image-app/src/main/resources/META-INF/services/com.mongodb.spi.dns.InetAddressResolverProvider: -------------------------------------------------------------------------------- 1 | com.mongodb.internal.graalvm.CustomInetAddressResolverProvider 2 | -------------------------------------------------------------------------------- /gradle/scala/lib/scala-ant-2.13.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/mongo-java-driver/3de5b477fa6b5edbb3072762fcc590c539615160/gradle/scala/lib/scala-ant-2.13.1.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/mongo-java-driver/3de5b477fa6b5edbb3072762fcc590c539615160/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /java-security-ocsp-property: -------------------------------------------------------------------------------- 1 | ocsp.enable=true 2 | -------------------------------------------------------------------------------- /mongodb-crypt/src/main/com/mongodb/crypt/capi/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | /** 19 | * The mongocrypt API package 20 | */ 21 | package com.mongodb.crypt.capi; 22 | -------------------------------------------------------------------------------- /mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | */ 17 | 18 | /** 19 | * The mongocrypt internal package 20 | */ 21 | package com.mongodb.internal.crypt.capi; 22 | -------------------------------------------------------------------------------- /mongodb-crypt/src/main/resources/META-INF/native-image/native-image.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2008-present MongoDB, Inc. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | Args =\ 17 | --initialize-at-run-time=\ 18 | com.mongodb.internal.crypt.capi.CAPI,\ 19 | com.sun.jna.Native,\ 20 | com.sun.jna.Structure 21 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/command-reply.json: -------------------------------------------------------------------------------- 1 | { 2 | "cursor": { 3 | "firstBatch": [ 4 | { 5 | "_id": 1, 6 | "ssn": "457-55-5462" 7 | } 8 | ], 9 | "id": 0, 10 | "ns": "test.test" 11 | }, 12 | "ok": 1 13 | } 14 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/command.json: -------------------------------------------------------------------------------- 1 | { 2 | "find": "test", 3 | "filter": { 4 | "ssn": "457-55-5462" 5 | } 6 | } -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/encrypted-command-reply.json: -------------------------------------------------------------------------------- 1 | { 2 | "cursor" : { 3 | "firstBatch" : [ 4 | { 5 | "_id": 1, 6 | "ssn": { 7 | "$binary": "AWFhYWFhYWFhYWFhYWFhYWECRTOW9yZzNDn5dGwuqsrJQNLtgMEKaujhs9aRWRp+7Yo3JK8N8jC8P0Xjll6C1CwLsE/iP5wjOMhVv1KMMyOCSCrHorXRsb2IKPtzl2lKTqQ=", 8 | "$type": "06" 9 | } 10 | } 11 | ], 12 | "id" : 0, 13 | "ns" : "test.test" 14 | }, 15 | "ok" : 1 16 | } -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/encrypted-command.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter": { 3 | "ssn": { 4 | "$binary": { 5 | "base64": "AWFhYWFhYWFhYWFhYWFhYWECRTOW9yZzNDn5dGwuqsrJQNLtgMEKaujhs9aRWRp+7Yo3JK8N8jC8P0Xjll6C1CwLsE/iP5wjOMhVv1KMMyOCSCrHorXRsb2IKPtzl2lKTqQ=", 6 | "subType": "06" 7 | } 8 | } 9 | }, 10 | "find": "test" 11 | } 12 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/encrypted-value.json: -------------------------------------------------------------------------------- 1 | { 2 | "v": { 3 | "$binary": "AWFhYWFhYWFhYWFhYWFhYWECW+zDjR/69eS6VtuMD5+O2lZw6JyiWOw3avI7mnUkdpKzPfvy8F/nlZrgZa2cGmQsb0TmLZuk5trldosnGKD91w==", 4 | "$type": "06" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/fle2-find-range-explicit-v2/int32/key-filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "$or": [ 3 | { 4 | "_id": { 5 | "$in": [ 6 | { 7 | "$binary": "q83vqxI0mHYSNBI0VniQEg==", 8 | "$type": "04" 9 | } 10 | ] 11 | } 12 | }, 13 | { 14 | "keyAltNames": { 15 | "$in": [] 16 | } 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/fle2-find-range-explicit-v2/int32/rangeopts.json: -------------------------------------------------------------------------------- 1 | { 2 | "min": { 3 | "$numberInt": "0" 4 | }, 5 | "max": { 6 | "$numberInt": "200" 7 | }, 8 | "sparsity": { 9 | "$numberLong": "1" 10 | }, 11 | "trimFactor": { 12 | "$numberInt": "1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/fle2-find-range-explicit-v2/int32/value-to-encrypt.json: -------------------------------------------------------------------------------- 1 | { 2 | "v": { 3 | "$and": [ 4 | { 5 | "age": { 6 | "$gte": { 7 | "$numberInt": "23" 8 | } 9 | } 10 | }, 11 | { 12 | "age": { 13 | "$lte": { 14 | "$numberInt": "35" 15 | } 16 | } 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/json-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "properties": { 3 | "ssn": { 4 | "encrypt": { 5 | "keyId": { 6 | "$binary": "YWFhYWFhYWFhYWFhYWFhYQ==", 7 | "$type": "04" 8 | }, 9 | "type": "string", 10 | "algorithm": "AEAD_AES_CBC_HMAC_SHA512-Deterministic" 11 | } 12 | } 13 | }, 14 | "bsonType": "object" 15 | } -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/key-filter-keyAltName.json: -------------------------------------------------------------------------------- 1 | { 2 | "$or": [ 3 | { 4 | "_id": { 5 | "$in": [] 6 | } 7 | }, 8 | { 9 | "keyAltNames": { 10 | "$in": ["altKeyName"] 11 | } 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/key-filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "$or": [ 3 | { 4 | "_id": { 5 | "$in": [ 6 | { 7 | "$binary": "YWFhYWFhYWFhYWFhYWFhYQ==", 8 | "$type": "04" 9 | } 10 | ] 11 | } 12 | }, 13 | { 14 | "keyAltNames": { 15 | "$in": [] 16 | } 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/keys/ABCDEFAB123498761234123456789012-local-document.json: -------------------------------------------------------------------------------- 1 | { 2 | "_id": { 3 | "$binary": { 4 | "base64": "q83vqxI0mHYSNBI0VniQEg==", 5 | "subType": "04" 6 | } 7 | }, 8 | "keyMaterial": { 9 | "$binary": { 10 | "base64": "27OBvUqHAuYFy60nwCdvq2xmZ4kFzVySphXzBGq+HEot13comCoydEfnltBzLTuXLbV9cnREFJIO5f0jMqrlkxIuvAV8yO84p5VJTEa8j/xSNe7iA594rx7UeKT0fOt4VqM47fht8h+8PZYc5JVezvEMvwk115IBCwENxDjLtT0g+y8Hf+aTUEGtxrYToH8zf1/Y7S16mHiIc4jK3/vxHw==", 11 | "subType": "00" 12 | } 13 | }, 14 | "creationDate": { 15 | "$date": { 16 | "$numberLong": "1648915408923" 17 | } 18 | }, 19 | "updateDate": { 20 | "$date": { 21 | "$numberLong": "1648915408923" 22 | } 23 | }, 24 | "status": { 25 | "$numberInt": "0" 26 | }, 27 | "masterKey": { 28 | "provider": "local" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/kms-reply.txt: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | x-amzn-RequestId: deeb35e5-4ecb-4bf1-9af5-84a54ff0af0e 3 | Content-Type: application/x-amz-json-1.1 4 | Content-Length: 233 5 | 6 | {"KeyId": "arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0", "Plaintext": "TqhXy3tKckECjy4/ZNykMWG8amBF46isVPzeOgeusKrwheBmYaU8TMG5AHR/NeUDKukqo8hBGgogiQOVpLPkqBQHD8YkLsNbDmHoGOill5QAHnniF/Lz405bGucB5TfR"} -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/list-collections-filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test" 3 | } -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/mongocryptd-command.json: -------------------------------------------------------------------------------- 1 | { 2 | "find": "test", 3 | "filter": { 4 | "ssn": "457-55-5462" 5 | }, 6 | "jsonSchema": { 7 | "properties": { 8 | "ssn": { 9 | "encrypt": { 10 | "keyId": { 11 | "$binary": "YWFhYWFhYWFhYWFhYWFhYQ==", 12 | "$type": "04" 13 | }, 14 | "type": "string", 15 | "algorithm": "AEAD_AES_CBC_HMAC_SHA512-Deterministic" 16 | } 17 | } 18 | }, 19 | "bsonType": "object" 20 | }, 21 | "isRemoteSchema": true 22 | } -------------------------------------------------------------------------------- /mongodb-crypt/src/test/resources/mongocryptd-reply.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaRequiresEncryption": true, 3 | "ok": { 4 | "$numberInt": "1" 5 | }, 6 | "result": { 7 | "filter": { 8 | "ssn": { 9 | "$binary": { 10 | "base64": "ADgAAAAQYQABAAAABWtpABAAAAAEYWFhYWFhYWFhYWFhYWFhYQJ2AAwAAAA0NTctNTUtNTQ2MgAA", 11 | "subType": "06" 12 | } 13 | } 14 | }, 15 | "find": "test" 16 | }, 17 | "hasEncryptedPlaceholders": true 18 | } -------------------------------------------------------------------------------- /sbom.json: -------------------------------------------------------------------------------- 1 | { 2 | "serialNumber": "urn:uuid:a291eaa6-9c96-4c46-9fb1-474f745cf6f5", 3 | "version": 1, 4 | "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json", 5 | "bomFormat": "CycloneDX", 6 | "specVersion": "1.5" 7 | } 8 | --------------------------------------------------------------------------------