diff --git a/image-kit-java-core/src/main/kotlin/io/imagekit/models/files/Metadata.kt b/image-kit-java-core/src/main/kotlin/io/imagekit/models/files/Metadata.kt index 7d6fdecd..03db715a 100644 --- a/image-kit-java-core/src/main/kotlin/io/imagekit/models/files/Metadata.kt +++ b/image-kit-java-core/src/main/kotlin/io/imagekit/models/files/Metadata.kt @@ -945,6 +945,7 @@ private constructor( @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( private val apertureValue: JsonField, + private val brightnessValue: JsonField, private val colorSpace: JsonField, private val createDate: JsonField, private val customRendered: JsonField, @@ -959,16 +960,23 @@ private constructor( private val flash: JsonField, private val flashpixVersion: JsonField, private val fNumber: JsonField, - private val focalLength: JsonField, + private val focalLength: JsonField, + private val focalLengthIn35mmFormat: JsonField, private val focalPlaneResolutionUnit: JsonField, private val focalPlaneXResolution: JsonField, private val focalPlaneYResolution: JsonField, private val interopOffset: JsonField, private val iso: JsonField, + private val lensModel: JsonField, + private val lightSource: JsonField, + private val maxApertureValue: JsonField, private val meteringMode: JsonField, private val sceneCaptureType: JsonField, + private val sceneType: JsonField, + private val sensingMethod: JsonField, private val shutterSpeedValue: JsonField, private val subSecTime: JsonField, + private val userComment: JsonField, private val whiteBalance: JsonField, private val additionalProperties: MutableMap, ) { @@ -978,6 +986,9 @@ private constructor( @JsonProperty("ApertureValue") @ExcludeMissing apertureValue: JsonField = JsonMissing.of(), + @JsonProperty("BrightnessValue") + @ExcludeMissing + brightnessValue: JsonField = JsonMissing.of(), @JsonProperty("ColorSpace") @ExcludeMissing colorSpace: JsonField = JsonMissing.of(), @@ -1020,7 +1031,10 @@ private constructor( fNumber: JsonField = JsonMissing.of(), @JsonProperty("FocalLength") @ExcludeMissing - focalLength: JsonField = JsonMissing.of(), + focalLength: JsonField = JsonMissing.of(), + @JsonProperty("FocalLengthIn35mmFormat") + @ExcludeMissing + focalLengthIn35mmFormat: JsonField = JsonMissing.of(), @JsonProperty("FocalPlaneResolutionUnit") @ExcludeMissing focalPlaneResolutionUnit: JsonField = JsonMissing.of(), @@ -1034,23 +1048,42 @@ private constructor( @ExcludeMissing interopOffset: JsonField = JsonMissing.of(), @JsonProperty("ISO") @ExcludeMissing iso: JsonField = JsonMissing.of(), + @JsonProperty("LensModel") + @ExcludeMissing + lensModel: JsonField = JsonMissing.of(), + @JsonProperty("LightSource") + @ExcludeMissing + lightSource: JsonField = JsonMissing.of(), + @JsonProperty("MaxApertureValue") + @ExcludeMissing + maxApertureValue: JsonField = JsonMissing.of(), @JsonProperty("MeteringMode") @ExcludeMissing meteringMode: JsonField = JsonMissing.of(), @JsonProperty("SceneCaptureType") @ExcludeMissing sceneCaptureType: JsonField = JsonMissing.of(), + @JsonProperty("SceneType") + @ExcludeMissing + sceneType: JsonField = JsonMissing.of(), + @JsonProperty("SensingMethod") + @ExcludeMissing + sensingMethod: JsonField = JsonMissing.of(), @JsonProperty("ShutterSpeedValue") @ExcludeMissing shutterSpeedValue: JsonField = JsonMissing.of(), @JsonProperty("SubSecTime") @ExcludeMissing subSecTime: JsonField = JsonMissing.of(), + @JsonProperty("UserComment") + @ExcludeMissing + userComment: JsonField = JsonMissing.of(), @JsonProperty("WhiteBalance") @ExcludeMissing whiteBalance: JsonField = JsonMissing.of(), ) : this( apertureValue, + brightnessValue, colorSpace, createDate, customRendered, @@ -1066,15 +1099,22 @@ private constructor( flashpixVersion, fNumber, focalLength, + focalLengthIn35mmFormat, focalPlaneResolutionUnit, focalPlaneXResolution, focalPlaneYResolution, interopOffset, iso, + lensModel, + lightSource, + maxApertureValue, meteringMode, sceneCaptureType, + sceneType, + sensingMethod, shutterSpeedValue, subSecTime, + userComment, whiteBalance, mutableMapOf(), ) @@ -1085,6 +1125,12 @@ private constructor( */ fun apertureValue(): Optional = apertureValue.getOptional("ApertureValue") + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun brightnessValue(): Optional = brightnessValue.getOptional("BrightnessValue") + /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). @@ -1175,7 +1221,14 @@ private constructor( * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). */ - fun focalLength(): Optional = focalLength.getOptional("FocalLength") + fun focalLength(): Optional = focalLength.getOptional("FocalLength") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun focalLengthIn35mmFormat(): Optional = + focalLengthIn35mmFormat.getOptional("FocalLengthIn35mmFormat") /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. @@ -1210,6 +1263,25 @@ private constructor( */ fun iso(): Optional = iso.getOptional("ISO") + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun lensModel(): Optional = lensModel.getOptional("LensModel") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun lightSource(): Optional = lightSource.getOptional("LightSource") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun maxApertureValue(): Optional = + maxApertureValue.getOptional("MaxApertureValue") + /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). @@ -1223,6 +1295,18 @@ private constructor( fun sceneCaptureType(): Optional = sceneCaptureType.getOptional("SceneCaptureType") + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun sceneType(): Optional = sceneType.getOptional("SceneType") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun sensingMethod(): Optional = sensingMethod.getOptional("SensingMethod") + /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). @@ -1236,6 +1320,12 @@ private constructor( */ fun subSecTime(): Optional = subSecTime.getOptional("SubSecTime") + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun userComment(): Optional = userComment.getOptional("UserComment") + /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). @@ -1252,6 +1342,16 @@ private constructor( @ExcludeMissing fun _apertureValue(): JsonField = apertureValue + /** + * Returns the raw JSON value of [brightnessValue]. + * + * Unlike [brightnessValue], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("BrightnessValue") + @ExcludeMissing + fun _brightnessValue(): JsonField = brightnessValue + /** * Returns the raw JSON value of [colorSpace]. * @@ -1394,7 +1494,17 @@ private constructor( */ @JsonProperty("FocalLength") @ExcludeMissing - fun _focalLength(): JsonField = focalLength + fun _focalLength(): JsonField = focalLength + + /** + * Returns the raw JSON value of [focalLengthIn35mmFormat]. + * + * Unlike [focalLengthIn35mmFormat], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("FocalLengthIn35mmFormat") + @ExcludeMissing + fun _focalLengthIn35mmFormat(): JsonField = focalLengthIn35mmFormat /** * Returns the raw JSON value of [focalPlaneResolutionUnit]. @@ -1443,6 +1553,36 @@ private constructor( */ @JsonProperty("ISO") @ExcludeMissing fun _iso(): JsonField = iso + /** + * Returns the raw JSON value of [lensModel]. + * + * Unlike [lensModel], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("LensModel") + @ExcludeMissing + fun _lensModel(): JsonField = lensModel + + /** + * Returns the raw JSON value of [lightSource]. + * + * Unlike [lightSource], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("LightSource") + @ExcludeMissing + fun _lightSource(): JsonField = lightSource + + /** + * Returns the raw JSON value of [maxApertureValue]. + * + * Unlike [maxApertureValue], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("MaxApertureValue") + @ExcludeMissing + fun _maxApertureValue(): JsonField = maxApertureValue + /** * Returns the raw JSON value of [meteringMode]. * @@ -1463,6 +1603,26 @@ private constructor( @ExcludeMissing fun _sceneCaptureType(): JsonField = sceneCaptureType + /** + * Returns the raw JSON value of [sceneType]. + * + * Unlike [sceneType], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("SceneType") + @ExcludeMissing + fun _sceneType(): JsonField = sceneType + + /** + * Returns the raw JSON value of [sensingMethod]. + * + * Unlike [sensingMethod], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("SensingMethod") + @ExcludeMissing + fun _sensingMethod(): JsonField = sensingMethod + /** * Returns the raw JSON value of [shutterSpeedValue]. * @@ -1483,6 +1643,16 @@ private constructor( @ExcludeMissing fun _subSecTime(): JsonField = subSecTime + /** + * Returns the raw JSON value of [userComment]. + * + * Unlike [userComment], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("UserComment") + @ExcludeMissing + fun _userComment(): JsonField = userComment + /** * Returns the raw JSON value of [whiteBalance]. * @@ -1515,6 +1685,7 @@ private constructor( class Builder internal constructor() { private var apertureValue: JsonField = JsonMissing.of() + private var brightnessValue: JsonField = JsonMissing.of() private var colorSpace: JsonField = JsonMissing.of() private var createDate: JsonField = JsonMissing.of() private var customRendered: JsonField = JsonMissing.of() @@ -1529,22 +1700,30 @@ private constructor( private var flash: JsonField = JsonMissing.of() private var flashpixVersion: JsonField = JsonMissing.of() private var fNumber: JsonField = JsonMissing.of() - private var focalLength: JsonField = JsonMissing.of() + private var focalLength: JsonField = JsonMissing.of() + private var focalLengthIn35mmFormat: JsonField = JsonMissing.of() private var focalPlaneResolutionUnit: JsonField = JsonMissing.of() private var focalPlaneXResolution: JsonField = JsonMissing.of() private var focalPlaneYResolution: JsonField = JsonMissing.of() private var interopOffset: JsonField = JsonMissing.of() private var iso: JsonField = JsonMissing.of() + private var lensModel: JsonField = JsonMissing.of() + private var lightSource: JsonField = JsonMissing.of() + private var maxApertureValue: JsonField = JsonMissing.of() private var meteringMode: JsonField = JsonMissing.of() private var sceneCaptureType: JsonField = JsonMissing.of() + private var sceneType: JsonField = JsonMissing.of() + private var sensingMethod: JsonField = JsonMissing.of() private var shutterSpeedValue: JsonField = JsonMissing.of() private var subSecTime: JsonField = JsonMissing.of() + private var userComment: JsonField = JsonMissing.of() private var whiteBalance: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic internal fun from(exifDetails: ExifDetails) = apply { apertureValue = exifDetails.apertureValue + brightnessValue = exifDetails.brightnessValue colorSpace = exifDetails.colorSpace createDate = exifDetails.createDate customRendered = exifDetails.customRendered @@ -1560,15 +1739,22 @@ private constructor( flashpixVersion = exifDetails.flashpixVersion fNumber = exifDetails.fNumber focalLength = exifDetails.focalLength + focalLengthIn35mmFormat = exifDetails.focalLengthIn35mmFormat focalPlaneResolutionUnit = exifDetails.focalPlaneResolutionUnit focalPlaneXResolution = exifDetails.focalPlaneXResolution focalPlaneYResolution = exifDetails.focalPlaneYResolution interopOffset = exifDetails.interopOffset iso = exifDetails.iso + lensModel = exifDetails.lensModel + lightSource = exifDetails.lightSource + maxApertureValue = exifDetails.maxApertureValue meteringMode = exifDetails.meteringMode sceneCaptureType = exifDetails.sceneCaptureType + sceneType = exifDetails.sceneType + sensingMethod = exifDetails.sensingMethod shutterSpeedValue = exifDetails.shutterSpeedValue subSecTime = exifDetails.subSecTime + userComment = exifDetails.userComment whiteBalance = exifDetails.whiteBalance additionalProperties = exifDetails.additionalProperties.toMutableMap() } @@ -1587,6 +1773,20 @@ private constructor( this.apertureValue = apertureValue } + fun brightnessValue(brightnessValue: Double) = + brightnessValue(JsonField.of(brightnessValue)) + + /** + * Sets [Builder.brightnessValue] to an arbitrary JSON value. + * + * You should usually call [Builder.brightnessValue] with a well-typed [Double] + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun brightnessValue(brightnessValue: JsonField) = apply { + this.brightnessValue = brightnessValue + } + fun colorSpace(colorSpace: Long) = colorSpace(JsonField.of(colorSpace)) /** @@ -1770,19 +1970,33 @@ private constructor( */ fun fNumber(fNumber: JsonField) = apply { this.fNumber = fNumber } - fun focalLength(focalLength: Long) = focalLength(JsonField.of(focalLength)) + fun focalLength(focalLength: Double) = focalLength(JsonField.of(focalLength)) /** * Sets [Builder.focalLength] to an arbitrary JSON value. * - * You should usually call [Builder.focalLength] with a well-typed [Long] value + * You should usually call [Builder.focalLength] with a well-typed [Double] value * instead. This method is primarily for setting the field to an undocumented or not * yet supported value. */ - fun focalLength(focalLength: JsonField) = apply { + fun focalLength(focalLength: JsonField) = apply { this.focalLength = focalLength } + fun focalLengthIn35mmFormat(focalLengthIn35mmFormat: Long) = + focalLengthIn35mmFormat(JsonField.of(focalLengthIn35mmFormat)) + + /** + * Sets [Builder.focalLengthIn35mmFormat] to an arbitrary JSON value. + * + * You should usually call [Builder.focalLengthIn35mmFormat] with a well-typed + * [Long] value instead. This method is primarily for setting the field to an + * undocumented or not yet supported value. + */ + fun focalLengthIn35mmFormat(focalLengthIn35mmFormat: JsonField) = apply { + this.focalLengthIn35mmFormat = focalLengthIn35mmFormat + } + fun focalPlaneResolutionUnit(focalPlaneResolutionUnit: Long) = focalPlaneResolutionUnit(JsonField.of(focalPlaneResolutionUnit)) @@ -1849,6 +2063,44 @@ private constructor( */ fun iso(iso: JsonField) = apply { this.iso = iso } + fun lensModel(lensModel: String) = lensModel(JsonField.of(lensModel)) + + /** + * Sets [Builder.lensModel] to an arbitrary JSON value. + * + * You should usually call [Builder.lensModel] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun lensModel(lensModel: JsonField) = apply { this.lensModel = lensModel } + + fun lightSource(lightSource: Long) = lightSource(JsonField.of(lightSource)) + + /** + * Sets [Builder.lightSource] to an arbitrary JSON value. + * + * You should usually call [Builder.lightSource] with a well-typed [Long] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun lightSource(lightSource: JsonField) = apply { + this.lightSource = lightSource + } + + fun maxApertureValue(maxApertureValue: Double) = + maxApertureValue(JsonField.of(maxApertureValue)) + + /** + * Sets [Builder.maxApertureValue] to an arbitrary JSON value. + * + * You should usually call [Builder.maxApertureValue] with a well-typed [Double] + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun maxApertureValue(maxApertureValue: JsonField) = apply { + this.maxApertureValue = maxApertureValue + } + fun meteringMode(meteringMode: Long) = meteringMode(JsonField.of(meteringMode)) /** @@ -1876,6 +2128,30 @@ private constructor( this.sceneCaptureType = sceneCaptureType } + fun sceneType(sceneType: String) = sceneType(JsonField.of(sceneType)) + + /** + * Sets [Builder.sceneType] to an arbitrary JSON value. + * + * You should usually call [Builder.sceneType] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun sceneType(sceneType: JsonField) = apply { this.sceneType = sceneType } + + fun sensingMethod(sensingMethod: Long) = sensingMethod(JsonField.of(sensingMethod)) + + /** + * Sets [Builder.sensingMethod] to an arbitrary JSON value. + * + * You should usually call [Builder.sensingMethod] with a well-typed [Long] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun sensingMethod(sensingMethod: JsonField) = apply { + this.sensingMethod = sensingMethod + } + fun shutterSpeedValue(shutterSpeedValue: Double) = shutterSpeedValue(JsonField.of(shutterSpeedValue)) @@ -1903,6 +2179,19 @@ private constructor( this.subSecTime = subSecTime } + fun userComment(userComment: String) = userComment(JsonField.of(userComment)) + + /** + * Sets [Builder.userComment] to an arbitrary JSON value. + * + * You should usually call [Builder.userComment] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun userComment(userComment: JsonField) = apply { + this.userComment = userComment + } + fun whiteBalance(whiteBalance: Long) = whiteBalance(JsonField.of(whiteBalance)) /** @@ -1946,6 +2235,7 @@ private constructor( fun build(): ExifDetails = ExifDetails( apertureValue, + brightnessValue, colorSpace, createDate, customRendered, @@ -1961,15 +2251,22 @@ private constructor( flashpixVersion, fNumber, focalLength, + focalLengthIn35mmFormat, focalPlaneResolutionUnit, focalPlaneXResolution, focalPlaneYResolution, interopOffset, iso, + lensModel, + lightSource, + maxApertureValue, meteringMode, sceneCaptureType, + sceneType, + sensingMethod, shutterSpeedValue, subSecTime, + userComment, whiteBalance, additionalProperties.toMutableMap(), ) @@ -1993,6 +2290,7 @@ private constructor( } apertureValue() + brightnessValue() colorSpace() createDate() customRendered() @@ -2008,15 +2306,22 @@ private constructor( flashpixVersion() fNumber() focalLength() + focalLengthIn35mmFormat() focalPlaneResolutionUnit() focalPlaneXResolution() focalPlaneYResolution() interopOffset() iso() + lensModel() + lightSource() + maxApertureValue() meteringMode() sceneCaptureType() + sceneType() + sensingMethod() shutterSpeedValue() subSecTime() + userComment() whiteBalance() validated = true } @@ -2038,6 +2343,7 @@ private constructor( @JvmSynthetic internal fun validity(): Int = (if (apertureValue.asKnown().isPresent) 1 else 0) + + (if (brightnessValue.asKnown().isPresent) 1 else 0) + (if (colorSpace.asKnown().isPresent) 1 else 0) + (if (createDate.asKnown().isPresent) 1 else 0) + (if (customRendered.asKnown().isPresent) 1 else 0) + @@ -2053,15 +2359,22 @@ private constructor( (if (flashpixVersion.asKnown().isPresent) 1 else 0) + (if (fNumber.asKnown().isPresent) 1 else 0) + (if (focalLength.asKnown().isPresent) 1 else 0) + + (if (focalLengthIn35mmFormat.asKnown().isPresent) 1 else 0) + (if (focalPlaneResolutionUnit.asKnown().isPresent) 1 else 0) + (if (focalPlaneXResolution.asKnown().isPresent) 1 else 0) + (if (focalPlaneYResolution.asKnown().isPresent) 1 else 0) + (if (interopOffset.asKnown().isPresent) 1 else 0) + (if (iso.asKnown().isPresent) 1 else 0) + + (if (lensModel.asKnown().isPresent) 1 else 0) + + (if (lightSource.asKnown().isPresent) 1 else 0) + + (if (maxApertureValue.asKnown().isPresent) 1 else 0) + (if (meteringMode.asKnown().isPresent) 1 else 0) + (if (sceneCaptureType.asKnown().isPresent) 1 else 0) + + (if (sceneType.asKnown().isPresent) 1 else 0) + + (if (sensingMethod.asKnown().isPresent) 1 else 0) + (if (shutterSpeedValue.asKnown().isPresent) 1 else 0) + (if (subSecTime.asKnown().isPresent) 1 else 0) + + (if (userComment.asKnown().isPresent) 1 else 0) + (if (whiteBalance.asKnown().isPresent) 1 else 0) override fun equals(other: Any?): Boolean { @@ -2071,6 +2384,7 @@ private constructor( return other is ExifDetails && apertureValue == other.apertureValue && + brightnessValue == other.brightnessValue && colorSpace == other.colorSpace && createDate == other.createDate && customRendered == other.customRendered && @@ -2086,15 +2400,22 @@ private constructor( flashpixVersion == other.flashpixVersion && fNumber == other.fNumber && focalLength == other.focalLength && + focalLengthIn35mmFormat == other.focalLengthIn35mmFormat && focalPlaneResolutionUnit == other.focalPlaneResolutionUnit && focalPlaneXResolution == other.focalPlaneXResolution && focalPlaneYResolution == other.focalPlaneYResolution && interopOffset == other.interopOffset && iso == other.iso && + lensModel == other.lensModel && + lightSource == other.lightSource && + maxApertureValue == other.maxApertureValue && meteringMode == other.meteringMode && sceneCaptureType == other.sceneCaptureType && + sceneType == other.sceneType && + sensingMethod == other.sensingMethod && shutterSpeedValue == other.shutterSpeedValue && subSecTime == other.subSecTime && + userComment == other.userComment && whiteBalance == other.whiteBalance && additionalProperties == other.additionalProperties } @@ -2102,6 +2423,7 @@ private constructor( private val hashCode: Int by lazy { Objects.hash( apertureValue, + brightnessValue, colorSpace, createDate, customRendered, @@ -2117,15 +2439,22 @@ private constructor( flashpixVersion, fNumber, focalLength, + focalLengthIn35mmFormat, focalPlaneResolutionUnit, focalPlaneXResolution, focalPlaneYResolution, interopOffset, iso, + lensModel, + lightSource, + maxApertureValue, meteringMode, sceneCaptureType, + sceneType, + sensingMethod, shutterSpeedValue, subSecTime, + userComment, whiteBalance, additionalProperties, ) @@ -2134,23 +2463,137 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "ExifDetails{apertureValue=$apertureValue, colorSpace=$colorSpace, createDate=$createDate, customRendered=$customRendered, dateTimeOriginal=$dateTimeOriginal, exifImageHeight=$exifImageHeight, exifImageWidth=$exifImageWidth, exifVersion=$exifVersion, exposureCompensation=$exposureCompensation, exposureMode=$exposureMode, exposureProgram=$exposureProgram, exposureTime=$exposureTime, flash=$flash, flashpixVersion=$flashpixVersion, fNumber=$fNumber, focalLength=$focalLength, focalPlaneResolutionUnit=$focalPlaneResolutionUnit, focalPlaneXResolution=$focalPlaneXResolution, focalPlaneYResolution=$focalPlaneYResolution, interopOffset=$interopOffset, iso=$iso, meteringMode=$meteringMode, sceneCaptureType=$sceneCaptureType, shutterSpeedValue=$shutterSpeedValue, subSecTime=$subSecTime, whiteBalance=$whiteBalance, additionalProperties=$additionalProperties}" + "ExifDetails{apertureValue=$apertureValue, brightnessValue=$brightnessValue, colorSpace=$colorSpace, createDate=$createDate, customRendered=$customRendered, dateTimeOriginal=$dateTimeOriginal, exifImageHeight=$exifImageHeight, exifImageWidth=$exifImageWidth, exifVersion=$exifVersion, exposureCompensation=$exposureCompensation, exposureMode=$exposureMode, exposureProgram=$exposureProgram, exposureTime=$exposureTime, flash=$flash, flashpixVersion=$flashpixVersion, fNumber=$fNumber, focalLength=$focalLength, focalLengthIn35mmFormat=$focalLengthIn35mmFormat, focalPlaneResolutionUnit=$focalPlaneResolutionUnit, focalPlaneXResolution=$focalPlaneXResolution, focalPlaneYResolution=$focalPlaneYResolution, interopOffset=$interopOffset, iso=$iso, lensModel=$lensModel, lightSource=$lightSource, maxApertureValue=$maxApertureValue, meteringMode=$meteringMode, sceneCaptureType=$sceneCaptureType, sceneType=$sceneType, sensingMethod=$sensingMethod, shutterSpeedValue=$shutterSpeedValue, subSecTime=$subSecTime, userComment=$userComment, whiteBalance=$whiteBalance, additionalProperties=$additionalProperties}" } /** Object containing GPS information. */ class Gps @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( + private val gpsAltitude: JsonField, + private val gpsAltitudeRef: JsonField, + private val gpsDateStamp: JsonField, + private val gpsImgDirection: JsonField, + private val gpsImgDirectionRef: JsonField, + private val gpsLatitude: JsonField>, + private val gpsLatitudeRef: JsonField, + private val gpsLongitude: JsonField>, + private val gpsLongitudeRef: JsonField, + private val gpsTimeStamp: JsonField>, private val gpsVersionId: JsonField>, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( + @JsonProperty("GPSAltitude") + @ExcludeMissing + gpsAltitude: JsonField = JsonMissing.of(), + @JsonProperty("GPSAltitudeRef") + @ExcludeMissing + gpsAltitudeRef: JsonField = JsonMissing.of(), + @JsonProperty("GPSDateStamp") + @ExcludeMissing + gpsDateStamp: JsonField = JsonMissing.of(), + @JsonProperty("GPSImgDirection") + @ExcludeMissing + gpsImgDirection: JsonField = JsonMissing.of(), + @JsonProperty("GPSImgDirectionRef") + @ExcludeMissing + gpsImgDirectionRef: JsonField = JsonMissing.of(), + @JsonProperty("GPSLatitude") + @ExcludeMissing + gpsLatitude: JsonField> = JsonMissing.of(), + @JsonProperty("GPSLatitudeRef") + @ExcludeMissing + gpsLatitudeRef: JsonField = JsonMissing.of(), + @JsonProperty("GPSLongitude") + @ExcludeMissing + gpsLongitude: JsonField> = JsonMissing.of(), + @JsonProperty("GPSLongitudeRef") + @ExcludeMissing + gpsLongitudeRef: JsonField = JsonMissing.of(), + @JsonProperty("GPSTimeStamp") + @ExcludeMissing + gpsTimeStamp: JsonField> = JsonMissing.of(), @JsonProperty("GPSVersionID") @ExcludeMissing - gpsVersionId: JsonField> = JsonMissing.of() - ) : this(gpsVersionId, mutableMapOf()) + gpsVersionId: JsonField> = JsonMissing.of(), + ) : this( + gpsAltitude, + gpsAltitudeRef, + gpsDateStamp, + gpsImgDirection, + gpsImgDirectionRef, + gpsLatitude, + gpsLatitudeRef, + gpsLongitude, + gpsLongitudeRef, + gpsTimeStamp, + gpsVersionId, + mutableMapOf(), + ) + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsAltitude(): Optional = gpsAltitude.getOptional("GPSAltitude") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsAltitudeRef(): Optional = gpsAltitudeRef.getOptional("GPSAltitudeRef") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsDateStamp(): Optional = gpsDateStamp.getOptional("GPSDateStamp") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsImgDirection(): Optional = gpsImgDirection.getOptional("GPSImgDirection") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsImgDirectionRef(): Optional = + gpsImgDirectionRef.getOptional("GPSImgDirectionRef") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsLatitude(): Optional> = gpsLatitude.getOptional("GPSLatitude") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsLatitudeRef(): Optional = gpsLatitudeRef.getOptional("GPSLatitudeRef") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsLongitude(): Optional> = gpsLongitude.getOptional("GPSLongitude") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsLongitudeRef(): Optional = gpsLongitudeRef.getOptional("GPSLongitudeRef") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun gpsTimeStamp(): Optional> = gpsTimeStamp.getOptional("GPSTimeStamp") /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. @@ -2158,6 +2601,106 @@ private constructor( */ fun gpsVersionId(): Optional> = gpsVersionId.getOptional("GPSVersionID") + /** + * Returns the raw JSON value of [gpsAltitude]. + * + * Unlike [gpsAltitude], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("GPSAltitude") + @ExcludeMissing + fun _gpsAltitude(): JsonField = gpsAltitude + + /** + * Returns the raw JSON value of [gpsAltitudeRef]. + * + * Unlike [gpsAltitudeRef], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("GPSAltitudeRef") + @ExcludeMissing + fun _gpsAltitudeRef(): JsonField = gpsAltitudeRef + + /** + * Returns the raw JSON value of [gpsDateStamp]. + * + * Unlike [gpsDateStamp], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("GPSDateStamp") + @ExcludeMissing + fun _gpsDateStamp(): JsonField = gpsDateStamp + + /** + * Returns the raw JSON value of [gpsImgDirection]. + * + * Unlike [gpsImgDirection], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("GPSImgDirection") + @ExcludeMissing + fun _gpsImgDirection(): JsonField = gpsImgDirection + + /** + * Returns the raw JSON value of [gpsImgDirectionRef]. + * + * Unlike [gpsImgDirectionRef], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("GPSImgDirectionRef") + @ExcludeMissing + fun _gpsImgDirectionRef(): JsonField = gpsImgDirectionRef + + /** + * Returns the raw JSON value of [gpsLatitude]. + * + * Unlike [gpsLatitude], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("GPSLatitude") + @ExcludeMissing + fun _gpsLatitude(): JsonField> = gpsLatitude + + /** + * Returns the raw JSON value of [gpsLatitudeRef]. + * + * Unlike [gpsLatitudeRef], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("GPSLatitudeRef") + @ExcludeMissing + fun _gpsLatitudeRef(): JsonField = gpsLatitudeRef + + /** + * Returns the raw JSON value of [gpsLongitude]. + * + * Unlike [gpsLongitude], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("GPSLongitude") + @ExcludeMissing + fun _gpsLongitude(): JsonField> = gpsLongitude + + /** + * Returns the raw JSON value of [gpsLongitudeRef]. + * + * Unlike [gpsLongitudeRef], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("GPSLongitudeRef") + @ExcludeMissing + fun _gpsLongitudeRef(): JsonField = gpsLongitudeRef + + /** + * Returns the raw JSON value of [gpsTimeStamp]. + * + * Unlike [gpsTimeStamp], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("GPSTimeStamp") + @ExcludeMissing + fun _gpsTimeStamp(): JsonField> = gpsTimeStamp + /** * Returns the raw JSON value of [gpsVersionId]. * @@ -2189,15 +2732,208 @@ private constructor( /** A builder for [Gps]. */ class Builder internal constructor() { + private var gpsAltitude: JsonField = JsonMissing.of() + private var gpsAltitudeRef: JsonField = JsonMissing.of() + private var gpsDateStamp: JsonField = JsonMissing.of() + private var gpsImgDirection: JsonField = JsonMissing.of() + private var gpsImgDirectionRef: JsonField = JsonMissing.of() + private var gpsLatitude: JsonField>? = null + private var gpsLatitudeRef: JsonField = JsonMissing.of() + private var gpsLongitude: JsonField>? = null + private var gpsLongitudeRef: JsonField = JsonMissing.of() + private var gpsTimeStamp: JsonField>? = null private var gpsVersionId: JsonField>? = null private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic internal fun from(gps: Gps) = apply { + gpsAltitude = gps.gpsAltitude + gpsAltitudeRef = gps.gpsAltitudeRef + gpsDateStamp = gps.gpsDateStamp + gpsImgDirection = gps.gpsImgDirection + gpsImgDirectionRef = gps.gpsImgDirectionRef + gpsLatitude = gps.gpsLatitude.map { it.toMutableList() } + gpsLatitudeRef = gps.gpsLatitudeRef + gpsLongitude = gps.gpsLongitude.map { it.toMutableList() } + gpsLongitudeRef = gps.gpsLongitudeRef + gpsTimeStamp = gps.gpsTimeStamp.map { it.toMutableList() } gpsVersionId = gps.gpsVersionId.map { it.toMutableList() } additionalProperties = gps.additionalProperties.toMutableMap() } + fun gpsAltitude(gpsAltitude: Double) = gpsAltitude(JsonField.of(gpsAltitude)) + + /** + * Sets [Builder.gpsAltitude] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsAltitude] with a well-typed [Double] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun gpsAltitude(gpsAltitude: JsonField) = apply { + this.gpsAltitude = gpsAltitude + } + + fun gpsAltitudeRef(gpsAltitudeRef: Long) = + gpsAltitudeRef(JsonField.of(gpsAltitudeRef)) + + /** + * Sets [Builder.gpsAltitudeRef] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsAltitudeRef] with a well-typed [Long] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun gpsAltitudeRef(gpsAltitudeRef: JsonField) = apply { + this.gpsAltitudeRef = gpsAltitudeRef + } + + fun gpsDateStamp(gpsDateStamp: String) = gpsDateStamp(JsonField.of(gpsDateStamp)) + + /** + * Sets [Builder.gpsDateStamp] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsDateStamp] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun gpsDateStamp(gpsDateStamp: JsonField) = apply { + this.gpsDateStamp = gpsDateStamp + } + + fun gpsImgDirection(gpsImgDirection: Double) = + gpsImgDirection(JsonField.of(gpsImgDirection)) + + /** + * Sets [Builder.gpsImgDirection] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsImgDirection] with a well-typed [Double] + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun gpsImgDirection(gpsImgDirection: JsonField) = apply { + this.gpsImgDirection = gpsImgDirection + } + + fun gpsImgDirectionRef(gpsImgDirectionRef: String) = + gpsImgDirectionRef(JsonField.of(gpsImgDirectionRef)) + + /** + * Sets [Builder.gpsImgDirectionRef] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsImgDirectionRef] with a well-typed [String] + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun gpsImgDirectionRef(gpsImgDirectionRef: JsonField) = apply { + this.gpsImgDirectionRef = gpsImgDirectionRef + } + + fun gpsLatitude(gpsLatitude: List) = gpsLatitude(JsonField.of(gpsLatitude)) + + /** + * Sets [Builder.gpsLatitude] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsLatitude] with a well-typed `List` + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun gpsLatitude(gpsLatitude: JsonField>) = apply { + this.gpsLatitude = gpsLatitude.map { it.toMutableList() } + } + + /** + * Adds a single [Double] to [Builder.gpsLatitude]. + * + * @throws IllegalStateException if the field was previously set to a non-list. + */ + fun addGpsLatitude(gpsLatitude: Double) = apply { + this.gpsLatitude = + (this.gpsLatitude ?: JsonField.of(mutableListOf())).also { + checkKnown("gpsLatitude", it).add(gpsLatitude) + } + } + + fun gpsLatitudeRef(gpsLatitudeRef: String) = + gpsLatitudeRef(JsonField.of(gpsLatitudeRef)) + + /** + * Sets [Builder.gpsLatitudeRef] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsLatitudeRef] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun gpsLatitudeRef(gpsLatitudeRef: JsonField) = apply { + this.gpsLatitudeRef = gpsLatitudeRef + } + + fun gpsLongitude(gpsLongitude: List) = + gpsLongitude(JsonField.of(gpsLongitude)) + + /** + * Sets [Builder.gpsLongitude] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsLongitude] with a well-typed `List` + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun gpsLongitude(gpsLongitude: JsonField>) = apply { + this.gpsLongitude = gpsLongitude.map { it.toMutableList() } + } + + /** + * Adds a single [Double] to [Builder.gpsLongitude]. + * + * @throws IllegalStateException if the field was previously set to a non-list. + */ + fun addGpsLongitude(gpsLongitude: Double) = apply { + this.gpsLongitude = + (this.gpsLongitude ?: JsonField.of(mutableListOf())).also { + checkKnown("gpsLongitude", it).add(gpsLongitude) + } + } + + fun gpsLongitudeRef(gpsLongitudeRef: String) = + gpsLongitudeRef(JsonField.of(gpsLongitudeRef)) + + /** + * Sets [Builder.gpsLongitudeRef] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsLongitudeRef] with a well-typed [String] + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun gpsLongitudeRef(gpsLongitudeRef: JsonField) = apply { + this.gpsLongitudeRef = gpsLongitudeRef + } + + fun gpsTimeStamp(gpsTimeStamp: List) = + gpsTimeStamp(JsonField.of(gpsTimeStamp)) + + /** + * Sets [Builder.gpsTimeStamp] to an arbitrary JSON value. + * + * You should usually call [Builder.gpsTimeStamp] with a well-typed `List` + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun gpsTimeStamp(gpsTimeStamp: JsonField>) = apply { + this.gpsTimeStamp = gpsTimeStamp.map { it.toMutableList() } + } + + /** + * Adds a single [Double] to [Builder.gpsTimeStamp]. + * + * @throws IllegalStateException if the field was previously set to a non-list. + */ + fun addGpsTimeStamp(gpsTimeStamp: Double) = apply { + this.gpsTimeStamp = + (this.gpsTimeStamp ?: JsonField.of(mutableListOf())).also { + checkKnown("gpsTimeStamp", it).add(gpsTimeStamp) + } + } + fun gpsVersionId(gpsVersionId: List) = gpsVersionId(JsonField.of(gpsVersionId)) @@ -2253,6 +2989,16 @@ private constructor( */ fun build(): Gps = Gps( + gpsAltitude, + gpsAltitudeRef, + gpsDateStamp, + gpsImgDirection, + gpsImgDirectionRef, + (gpsLatitude ?: JsonMissing.of()).map { it.toImmutable() }, + gpsLatitudeRef, + (gpsLongitude ?: JsonMissing.of()).map { it.toImmutable() }, + gpsLongitudeRef, + (gpsTimeStamp ?: JsonMissing.of()).map { it.toImmutable() }, (gpsVersionId ?: JsonMissing.of()).map { it.toImmutable() }, additionalProperties.toMutableMap(), ) @@ -2275,6 +3021,16 @@ private constructor( return@apply } + gpsAltitude() + gpsAltitudeRef() + gpsDateStamp() + gpsImgDirection() + gpsImgDirectionRef() + gpsLatitude() + gpsLatitudeRef() + gpsLongitude() + gpsLongitudeRef() + gpsTimeStamp() gpsVersionId() validated = true } @@ -2294,7 +3050,18 @@ private constructor( * Used for best match union deserialization. */ @JvmSynthetic - internal fun validity(): Int = (gpsVersionId.asKnown().getOrNull()?.size ?: 0) + internal fun validity(): Int = + (if (gpsAltitude.asKnown().isPresent) 1 else 0) + + (if (gpsAltitudeRef.asKnown().isPresent) 1 else 0) + + (if (gpsDateStamp.asKnown().isPresent) 1 else 0) + + (if (gpsImgDirection.asKnown().isPresent) 1 else 0) + + (if (gpsImgDirectionRef.asKnown().isPresent) 1 else 0) + + (gpsLatitude.asKnown().getOrNull()?.size ?: 0) + + (if (gpsLatitudeRef.asKnown().isPresent) 1 else 0) + + (gpsLongitude.asKnown().getOrNull()?.size ?: 0) + + (if (gpsLongitudeRef.asKnown().isPresent) 1 else 0) + + (gpsTimeStamp.asKnown().getOrNull()?.size ?: 0) + + (gpsVersionId.asKnown().getOrNull()?.size ?: 0) override fun equals(other: Any?): Boolean { if (this === other) { @@ -2302,44 +3069,81 @@ private constructor( } return other is Gps && + gpsAltitude == other.gpsAltitude && + gpsAltitudeRef == other.gpsAltitudeRef && + gpsDateStamp == other.gpsDateStamp && + gpsImgDirection == other.gpsImgDirection && + gpsImgDirectionRef == other.gpsImgDirectionRef && + gpsLatitude == other.gpsLatitude && + gpsLatitudeRef == other.gpsLatitudeRef && + gpsLongitude == other.gpsLongitude && + gpsLongitudeRef == other.gpsLongitudeRef && + gpsTimeStamp == other.gpsTimeStamp && gpsVersionId == other.gpsVersionId && additionalProperties == other.additionalProperties } - private val hashCode: Int by lazy { Objects.hash(gpsVersionId, additionalProperties) } + private val hashCode: Int by lazy { + Objects.hash( + gpsAltitude, + gpsAltitudeRef, + gpsDateStamp, + gpsImgDirection, + gpsImgDirectionRef, + gpsLatitude, + gpsLatitudeRef, + gpsLongitude, + gpsLongitudeRef, + gpsTimeStamp, + gpsVersionId, + additionalProperties, + ) + } override fun hashCode(): Int = hashCode override fun toString() = - "Gps{gpsVersionId=$gpsVersionId, additionalProperties=$additionalProperties}" + "Gps{gpsAltitude=$gpsAltitude, gpsAltitudeRef=$gpsAltitudeRef, gpsDateStamp=$gpsDateStamp, gpsImgDirection=$gpsImgDirection, gpsImgDirectionRef=$gpsImgDirectionRef, gpsLatitude=$gpsLatitude, gpsLatitudeRef=$gpsLatitudeRef, gpsLongitude=$gpsLongitude, gpsLongitudeRef=$gpsLongitudeRef, gpsTimeStamp=$gpsTimeStamp, gpsVersionId=$gpsVersionId, additionalProperties=$additionalProperties}" } /** Object containing EXIF image information. */ class Image @JsonCreator(mode = JsonCreator.Mode.DISABLED) private constructor( + private val artist: JsonField, + private val copyright: JsonField, private val exifOffset: JsonField, private val gpsInfo: JsonField, + private val imageDescription: JsonField, private val make: JsonField, private val model: JsonField, private val modifyDate: JsonField, private val orientation: JsonField, private val resolutionUnit: JsonField, private val software: JsonField, - private val xResolution: JsonField, + private val xResolution: JsonField, private val yCbCrPositioning: JsonField, - private val yResolution: JsonField, + private val yResolution: JsonField, private val additionalProperties: MutableMap, ) { @JsonCreator private constructor( + @JsonProperty("Artist") + @ExcludeMissing + artist: JsonField = JsonMissing.of(), + @JsonProperty("Copyright") + @ExcludeMissing + copyright: JsonField = JsonMissing.of(), @JsonProperty("ExifOffset") @ExcludeMissing exifOffset: JsonField = JsonMissing.of(), @JsonProperty("GPSInfo") @ExcludeMissing gpsInfo: JsonField = JsonMissing.of(), + @JsonProperty("ImageDescription") + @ExcludeMissing + imageDescription: JsonField = JsonMissing.of(), @JsonProperty("Make") @ExcludeMissing make: JsonField = JsonMissing.of(), @JsonProperty("Model") @ExcludeMissing model: JsonField = JsonMissing.of(), @JsonProperty("ModifyDate") @@ -2356,16 +3160,19 @@ private constructor( software: JsonField = JsonMissing.of(), @JsonProperty("XResolution") @ExcludeMissing - xResolution: JsonField = JsonMissing.of(), + xResolution: JsonField = JsonMissing.of(), @JsonProperty("YCbCrPositioning") @ExcludeMissing yCbCrPositioning: JsonField = JsonMissing.of(), @JsonProperty("YResolution") @ExcludeMissing - yResolution: JsonField = JsonMissing.of(), + yResolution: JsonField = JsonMissing.of(), ) : this( + artist, + copyright, exifOffset, gpsInfo, + imageDescription, make, model, modifyDate, @@ -2378,6 +3185,18 @@ private constructor( mutableMapOf(), ) + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun artist(): Optional = artist.getOptional("Artist") + + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun copyright(): Optional = copyright.getOptional("Copyright") + /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). @@ -2390,6 +3209,13 @@ private constructor( */ fun gpsInfo(): Optional = gpsInfo.getOptional("GPSInfo") + /** + * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. + * if the server responded with an unexpected value). + */ + fun imageDescription(): Optional = + imageDescription.getOptional("ImageDescription") + /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). @@ -2430,7 +3256,7 @@ private constructor( * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). */ - fun xResolution(): Optional = xResolution.getOptional("XResolution") + fun xResolution(): Optional = xResolution.getOptional("XResolution") /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. @@ -2443,7 +3269,24 @@ private constructor( * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). */ - fun yResolution(): Optional = yResolution.getOptional("YResolution") + fun yResolution(): Optional = yResolution.getOptional("YResolution") + + /** + * Returns the raw JSON value of [artist]. + * + * Unlike [artist], this method doesn't throw if the JSON field has an unexpected type. + */ + @JsonProperty("Artist") @ExcludeMissing fun _artist(): JsonField = artist + + /** + * Returns the raw JSON value of [copyright]. + * + * Unlike [copyright], this method doesn't throw if the JSON field has an unexpected + * type. + */ + @JsonProperty("Copyright") + @ExcludeMissing + fun _copyright(): JsonField = copyright /** * Returns the raw JSON value of [exifOffset]. @@ -2462,6 +3305,16 @@ private constructor( */ @JsonProperty("GPSInfo") @ExcludeMissing fun _gpsInfo(): JsonField = gpsInfo + /** + * Returns the raw JSON value of [imageDescription]. + * + * Unlike [imageDescription], this method doesn't throw if the JSON field has an + * unexpected type. + */ + @JsonProperty("ImageDescription") + @ExcludeMissing + fun _imageDescription(): JsonField = imageDescription + /** * Returns the raw JSON value of [make]. * @@ -2522,7 +3375,7 @@ private constructor( */ @JsonProperty("XResolution") @ExcludeMissing - fun _xResolution(): JsonField = xResolution + fun _xResolution(): JsonField = xResolution /** * Returns the raw JSON value of [yCbCrPositioning]. @@ -2542,7 +3395,7 @@ private constructor( */ @JsonProperty("YResolution") @ExcludeMissing - fun _yResolution(): JsonField = yResolution + fun _yResolution(): JsonField = yResolution @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { @@ -2565,23 +3418,29 @@ private constructor( /** A builder for [Image]. */ class Builder internal constructor() { + private var artist: JsonField = JsonMissing.of() + private var copyright: JsonField = JsonMissing.of() private var exifOffset: JsonField = JsonMissing.of() private var gpsInfo: JsonField = JsonMissing.of() + private var imageDescription: JsonField = JsonMissing.of() private var make: JsonField = JsonMissing.of() private var model: JsonField = JsonMissing.of() private var modifyDate: JsonField = JsonMissing.of() private var orientation: JsonField = JsonMissing.of() private var resolutionUnit: JsonField = JsonMissing.of() private var software: JsonField = JsonMissing.of() - private var xResolution: JsonField = JsonMissing.of() + private var xResolution: JsonField = JsonMissing.of() private var yCbCrPositioning: JsonField = JsonMissing.of() - private var yResolution: JsonField = JsonMissing.of() + private var yResolution: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic internal fun from(image: Image) = apply { + artist = image.artist + copyright = image.copyright exifOffset = image.exifOffset gpsInfo = image.gpsInfo + imageDescription = image.imageDescription make = image.make model = image.model modifyDate = image.modifyDate @@ -2594,6 +3453,28 @@ private constructor( additionalProperties = image.additionalProperties.toMutableMap() } + fun artist(artist: String) = artist(JsonField.of(artist)) + + /** + * Sets [Builder.artist] to an arbitrary JSON value. + * + * You should usually call [Builder.artist] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun artist(artist: JsonField) = apply { this.artist = artist } + + fun copyright(copyright: String) = copyright(JsonField.of(copyright)) + + /** + * Sets [Builder.copyright] to an arbitrary JSON value. + * + * You should usually call [Builder.copyright] with a well-typed [String] value + * instead. This method is primarily for setting the field to an undocumented or not + * yet supported value. + */ + fun copyright(copyright: JsonField) = apply { this.copyright = copyright } + fun exifOffset(exifOffset: Long) = exifOffset(JsonField.of(exifOffset)) /** @@ -2616,6 +3497,20 @@ private constructor( */ fun gpsInfo(gpsInfo: JsonField) = apply { this.gpsInfo = gpsInfo } + fun imageDescription(imageDescription: String) = + imageDescription(JsonField.of(imageDescription)) + + /** + * Sets [Builder.imageDescription] to an arbitrary JSON value. + * + * You should usually call [Builder.imageDescription] with a well-typed [String] + * value instead. This method is primarily for setting the field to an undocumented + * or not yet supported value. + */ + fun imageDescription(imageDescription: JsonField) = apply { + this.imageDescription = imageDescription + } + fun make(make: String) = make(JsonField.of(make)) /** @@ -2689,16 +3584,16 @@ private constructor( */ fun software(software: JsonField) = apply { this.software = software } - fun xResolution(xResolution: Long) = xResolution(JsonField.of(xResolution)) + fun xResolution(xResolution: Double) = xResolution(JsonField.of(xResolution)) /** * Sets [Builder.xResolution] to an arbitrary JSON value. * - * You should usually call [Builder.xResolution] with a well-typed [Long] value + * You should usually call [Builder.xResolution] with a well-typed [Double] value * instead. This method is primarily for setting the field to an undocumented or not * yet supported value. */ - fun xResolution(xResolution: JsonField) = apply { + fun xResolution(xResolution: JsonField) = apply { this.xResolution = xResolution } @@ -2716,16 +3611,16 @@ private constructor( this.yCbCrPositioning = yCbCrPositioning } - fun yResolution(yResolution: Long) = yResolution(JsonField.of(yResolution)) + fun yResolution(yResolution: Double) = yResolution(JsonField.of(yResolution)) /** * Sets [Builder.yResolution] to an arbitrary JSON value. * - * You should usually call [Builder.yResolution] with a well-typed [Long] value + * You should usually call [Builder.yResolution] with a well-typed [Double] value * instead. This method is primarily for setting the field to an undocumented or not * yet supported value. */ - fun yResolution(yResolution: JsonField) = apply { + fun yResolution(yResolution: JsonField) = apply { this.yResolution = yResolution } @@ -2758,8 +3653,11 @@ private constructor( */ fun build(): Image = Image( + artist, + copyright, exifOffset, gpsInfo, + imageDescription, make, model, modifyDate, @@ -2790,8 +3688,11 @@ private constructor( return@apply } + artist() + copyright() exifOffset() gpsInfo() + imageDescription() make() model() modifyDate() @@ -2820,8 +3721,11 @@ private constructor( */ @JvmSynthetic internal fun validity(): Int = - (if (exifOffset.asKnown().isPresent) 1 else 0) + + (if (artist.asKnown().isPresent) 1 else 0) + + (if (copyright.asKnown().isPresent) 1 else 0) + + (if (exifOffset.asKnown().isPresent) 1 else 0) + (if (gpsInfo.asKnown().isPresent) 1 else 0) + + (if (imageDescription.asKnown().isPresent) 1 else 0) + (if (make.asKnown().isPresent) 1 else 0) + (if (model.asKnown().isPresent) 1 else 0) + (if (modifyDate.asKnown().isPresent) 1 else 0) + @@ -2838,8 +3742,11 @@ private constructor( } return other is Image && + artist == other.artist && + copyright == other.copyright && exifOffset == other.exifOffset && gpsInfo == other.gpsInfo && + imageDescription == other.imageDescription && make == other.make && model == other.model && modifyDate == other.modifyDate && @@ -2854,8 +3761,11 @@ private constructor( private val hashCode: Int by lazy { Objects.hash( + artist, + copyright, exifOffset, gpsInfo, + imageDescription, make, model, modifyDate, @@ -2872,7 +3782,7 @@ private constructor( override fun hashCode(): Int = hashCode override fun toString() = - "Image{exifOffset=$exifOffset, gpsInfo=$gpsInfo, make=$make, model=$model, modifyDate=$modifyDate, orientation=$orientation, resolutionUnit=$resolutionUnit, software=$software, xResolution=$xResolution, yCbCrPositioning=$yCbCrPositioning, yResolution=$yResolution, additionalProperties=$additionalProperties}" + "Image{artist=$artist, copyright=$copyright, exifOffset=$exifOffset, gpsInfo=$gpsInfo, imageDescription=$imageDescription, make=$make, model=$model, modifyDate=$modifyDate, orientation=$orientation, resolutionUnit=$resolutionUnit, software=$software, xResolution=$xResolution, yCbCrPositioning=$yCbCrPositioning, yResolution=$yResolution, additionalProperties=$additionalProperties}" } /** JSON object. */ @@ -3203,8 +4113,8 @@ private constructor( private val resolutionUnit: JsonField, private val thumbnailLength: JsonField, private val thumbnailOffset: JsonField, - private val xResolution: JsonField, - private val yResolution: JsonField, + private val xResolution: JsonField, + private val yResolution: JsonField, private val additionalProperties: MutableMap, ) { @@ -3224,10 +4134,10 @@ private constructor( thumbnailOffset: JsonField = JsonMissing.of(), @JsonProperty("XResolution") @ExcludeMissing - xResolution: JsonField = JsonMissing.of(), + xResolution: JsonField = JsonMissing.of(), @JsonProperty("YResolution") @ExcludeMissing - yResolution: JsonField = JsonMissing.of(), + yResolution: JsonField = JsonMissing.of(), ) : this( compression, resolutionUnit, @@ -3266,13 +4176,13 @@ private constructor( * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). */ - fun xResolution(): Optional = xResolution.getOptional("XResolution") + fun xResolution(): Optional = xResolution.getOptional("XResolution") /** * @throws ImageKitInvalidDataException if the JSON field has an unexpected type (e.g. * if the server responded with an unexpected value). */ - fun yResolution(): Optional = yResolution.getOptional("YResolution") + fun yResolution(): Optional = yResolution.getOptional("YResolution") /** * Returns the raw JSON value of [compression]. @@ -3322,7 +4232,7 @@ private constructor( */ @JsonProperty("XResolution") @ExcludeMissing - fun _xResolution(): JsonField = xResolution + fun _xResolution(): JsonField = xResolution /** * Returns the raw JSON value of [yResolution]. @@ -3332,7 +4242,7 @@ private constructor( */ @JsonProperty("YResolution") @ExcludeMissing - fun _yResolution(): JsonField = yResolution + fun _yResolution(): JsonField = yResolution @JsonAnySetter private fun putAdditionalProperty(key: String, value: JsonValue) { @@ -3359,8 +4269,8 @@ private constructor( private var resolutionUnit: JsonField = JsonMissing.of() private var thumbnailLength: JsonField = JsonMissing.of() private var thumbnailOffset: JsonField = JsonMissing.of() - private var xResolution: JsonField = JsonMissing.of() - private var yResolution: JsonField = JsonMissing.of() + private var xResolution: JsonField = JsonMissing.of() + private var yResolution: JsonField = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @JvmSynthetic @@ -3429,29 +4339,29 @@ private constructor( this.thumbnailOffset = thumbnailOffset } - fun xResolution(xResolution: Long) = xResolution(JsonField.of(xResolution)) + fun xResolution(xResolution: Double) = xResolution(JsonField.of(xResolution)) /** * Sets [Builder.xResolution] to an arbitrary JSON value. * - * You should usually call [Builder.xResolution] with a well-typed [Long] value + * You should usually call [Builder.xResolution] with a well-typed [Double] value * instead. This method is primarily for setting the field to an undocumented or not * yet supported value. */ - fun xResolution(xResolution: JsonField) = apply { + fun xResolution(xResolution: JsonField) = apply { this.xResolution = xResolution } - fun yResolution(yResolution: Long) = yResolution(JsonField.of(yResolution)) + fun yResolution(yResolution: Double) = yResolution(JsonField.of(yResolution)) /** * Sets [Builder.yResolution] to an arbitrary JSON value. * - * You should usually call [Builder.yResolution] with a well-typed [Long] value + * You should usually call [Builder.yResolution] with a well-typed [Double] value * instead. This method is primarily for setting the field to an undocumented or not * yet supported value. */ - fun yResolution(yResolution: JsonField) = apply { + fun yResolution(yResolution: JsonField) = apply { this.yResolution = yResolution } diff --git a/image-kit-java-core/src/test/kotlin/io/imagekit/models/beta/v2/files/FileUploadResponseTest.kt b/image-kit-java-core/src/test/kotlin/io/imagekit/models/beta/v2/files/FileUploadResponseTest.kt index b9a37cba..9b96e041 100644 --- a/image-kit-java-core/src/test/kotlin/io/imagekit/models/beta/v2/files/FileUploadResponseTest.kt +++ b/image-kit-java-core/src/test/kotlin/io/imagekit/models/beta/v2/files/FileUploadResponseTest.kt @@ -67,6 +67,7 @@ internal class FileUploadResponseTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -81,33 +82,57 @@ internal class FileUploadResponseTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -127,8 +152,8 @@ internal class FileUploadResponseTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -221,6 +246,7 @@ internal class FileUploadResponseTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -235,33 +261,57 @@ internal class FileUploadResponseTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -281,8 +331,8 @@ internal class FileUploadResponseTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -382,6 +432,7 @@ internal class FileUploadResponseTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -396,33 +447,57 @@ internal class FileUploadResponseTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -442,8 +517,8 @@ internal class FileUploadResponseTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() diff --git a/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/FileUploadResponseTest.kt b/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/FileUploadResponseTest.kt index 07f1f69e..6ffad9ef 100644 --- a/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/FileUploadResponseTest.kt +++ b/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/FileUploadResponseTest.kt @@ -66,6 +66,7 @@ internal class FileUploadResponseTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -80,33 +81,57 @@ internal class FileUploadResponseTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -126,8 +151,8 @@ internal class FileUploadResponseTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -220,6 +245,7 @@ internal class FileUploadResponseTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -234,33 +260,57 @@ internal class FileUploadResponseTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -280,8 +330,8 @@ internal class FileUploadResponseTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -381,6 +431,7 @@ internal class FileUploadResponseTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -395,33 +446,57 @@ internal class FileUploadResponseTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -441,8 +516,8 @@ internal class FileUploadResponseTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() diff --git a/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/MetadataTest.kt b/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/MetadataTest.kt index ab004c52..0b773633 100644 --- a/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/MetadataTest.kt +++ b/image-kit-java-core/src/test/kotlin/io/imagekit/models/files/MetadataTest.kt @@ -23,6 +23,7 @@ internal class MetadataTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -37,33 +38,57 @@ internal class MetadataTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -83,8 +108,8 @@ internal class MetadataTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -110,6 +135,7 @@ internal class MetadataTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -124,33 +150,57 @@ internal class MetadataTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -170,8 +220,8 @@ internal class MetadataTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -201,6 +251,7 @@ internal class MetadataTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -215,33 +266,57 @@ internal class MetadataTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -261,8 +336,8 @@ internal class MetadataTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() diff --git a/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnsafeUnwrapWebhookEventTest.kt b/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnsafeUnwrapWebhookEventTest.kt index d7674219..fd3c10c9 100644 --- a/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnsafeUnwrapWebhookEventTest.kt +++ b/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnsafeUnwrapWebhookEventTest.kt @@ -639,6 +639,7 @@ internal class UnsafeUnwrapWebhookEventTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -653,35 +654,57 @@ internal class UnsafeUnwrapWebhookEventTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) .gps( - Metadata.Exif.Gps.builder().addGpsVersionId(0L).build() + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -701,8 +724,8 @@ internal class UnsafeUnwrapWebhookEventTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -853,6 +876,7 @@ internal class UnsafeUnwrapWebhookEventTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -867,37 +891,57 @@ internal class UnsafeUnwrapWebhookEventTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) .gps( Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) .addGpsVersionId(0L) .build() ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -920,8 +964,8 @@ internal class UnsafeUnwrapWebhookEventTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() diff --git a/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnwrapWebhookEventTest.kt b/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnwrapWebhookEventTest.kt index 616ad516..23347b93 100644 --- a/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnwrapWebhookEventTest.kt +++ b/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UnwrapWebhookEventTest.kt @@ -637,6 +637,7 @@ internal class UnwrapWebhookEventTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -651,35 +652,57 @@ internal class UnwrapWebhookEventTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) .gps( - Metadata.Exif.Gps.builder().addGpsVersionId(0L).build() + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -699,8 +722,8 @@ internal class UnwrapWebhookEventTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -851,6 +874,7 @@ internal class UnwrapWebhookEventTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -865,37 +889,57 @@ internal class UnwrapWebhookEventTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) .gps( Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) .addGpsVersionId(0L) .build() ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -918,8 +962,8 @@ internal class UnwrapWebhookEventTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() diff --git a/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UploadPreTransformSuccessEventTest.kt b/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UploadPreTransformSuccessEventTest.kt index 4c62f94f..5e839689 100644 --- a/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UploadPreTransformSuccessEventTest.kt +++ b/image-kit-java-core/src/test/kotlin/io/imagekit/models/webhooks/UploadPreTransformSuccessEventTest.kt @@ -88,6 +88,7 @@ internal class UploadPreTransformSuccessEventTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -102,35 +103,57 @@ internal class UploadPreTransformSuccessEventTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) .gps( - Metadata.Exif.Gps.builder().addGpsVersionId(0L).build() + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -150,8 +173,8 @@ internal class UploadPreTransformSuccessEventTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -271,6 +294,7 @@ internal class UploadPreTransformSuccessEventTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -285,33 +309,57 @@ internal class UploadPreTransformSuccessEventTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) - .gps(Metadata.Exif.Gps.builder().addGpsVersionId(0L).build()) + .gps( + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() + ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -331,8 +379,8 @@ internal class UploadPreTransformSuccessEventTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build() @@ -461,6 +509,7 @@ internal class UploadPreTransformSuccessEventTest { .exif( Metadata.Exif.ExifDetails.builder() .apertureValue(0.0) + .brightnessValue(0.0) .colorSpace(0L) .createDate("CreateDate") .customRendered(0L) @@ -475,35 +524,57 @@ internal class UploadPreTransformSuccessEventTest { .flash(0L) .flashpixVersion("FlashpixVersion") .fNumber(0.0) - .focalLength(0L) + .focalLength(0.0) + .focalLengthIn35mmFormat(0L) .focalPlaneResolutionUnit(0L) .focalPlaneXResolution(0.0) .focalPlaneYResolution(0.0) .interopOffset(0L) .iso(0L) + .lensModel("LensModel") + .lightSource(0L) + .maxApertureValue(0.0) .meteringMode(0L) .sceneCaptureType(0L) + .sceneType("SceneType") + .sensingMethod(0L) .shutterSpeedValue(0.0) .subSecTime("SubSecTime") + .userComment("UserComment") .whiteBalance(0L) .build() ) .gps( - Metadata.Exif.Gps.builder().addGpsVersionId(0L).build() + Metadata.Exif.Gps.builder() + .gpsAltitude(0.0) + .gpsAltitudeRef(0L) + .gpsDateStamp("GPSDateStamp") + .gpsImgDirection(0.0) + .gpsImgDirectionRef("GPSImgDirectionRef") + .addGpsLatitude(0.0) + .gpsLatitudeRef("GPSLatitudeRef") + .addGpsLongitude(0.0) + .gpsLongitudeRef("GPSLongitudeRef") + .addGpsTimeStamp(0.0) + .addGpsVersionId(0L) + .build() ) .image( Metadata.Exif.Image.builder() + .artist("Artist") + .copyright("Copyright") .exifOffset(0L) .gpsInfo(0L) + .imageDescription("ImageDescription") .make("Make") .model("Model") .modifyDate("ModifyDate") .orientation(0L) .resolutionUnit(0L) .software("Software") - .xResolution(0L) + .xResolution(0.0) .yCbCrPositioning(0L) - .yResolution(0L) + .yResolution(0.0) .build() ) .interoperability( @@ -523,8 +594,8 @@ internal class UploadPreTransformSuccessEventTest { .resolutionUnit(0L) .thumbnailLength(0L) .thumbnailOffset(0L) - .xResolution(0L) - .yResolution(0L) + .xResolution(0.0) + .yResolution(0.0) .build() ) .build()