diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 63d95c3d..ee59578e 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 1732900d-e173-47c1-a90d-d45182eb35d9 management: - docChecksum: 7dec92ab9151a1b5a35df5faa81811ba + docChecksum: 5d44282cd3351c75bd6c9a894dbe1ec9 docVersion: 0.0.3 - speakeasyVersion: 1.484.1 - generationVersion: 2.503.2 - releaseVersion: 0.11.5 - configChecksum: e1b162d958a45d93386466a95963ae3c + speakeasyVersion: 1.487.0 + generationVersion: 2.506.0 + releaseVersion: 0.11.6 + configChecksum: 1514fec36cc1c11ad647b4b324b472d6 repoURL: https://github.com/LukeHagar/plexjava.git published: true features: @@ -68,6 +68,10 @@ generatedFiles: - docs/models/errors/EnablePaperTrailLogErrors.md - docs/models/errors/EnablePaperTrailUnauthorized.md - docs/models/errors/Errors.md + - docs/models/errors/GetActorsLibraryBadRequest.md + - docs/models/errors/GetActorsLibraryErrors.md + - docs/models/errors/GetActorsLibraryLibraryErrors.md + - docs/models/errors/GetActorsLibraryUnauthorized.md - docs/models/errors/GetAllLibrariesBadRequest.md - docs/models/errors/GetAllLibrariesErrors.md - docs/models/errors/GetAllLibrariesLibraryErrors.md @@ -132,14 +136,14 @@ generatedFiles: - docs/models/errors/GetLibraryItemsErrors.md - docs/models/errors/GetLibraryItemsLibraryErrors.md - docs/models/errors/GetLibraryItemsUnauthorized.md + - docs/models/errors/GetMediaMetaDataBadRequest.md + - docs/models/errors/GetMediaMetaDataErrors.md + - docs/models/errors/GetMediaMetaDataLibraryErrors.md + - docs/models/errors/GetMediaMetaDataUnauthorized.md - docs/models/errors/GetMediaProvidersBadRequest.md - docs/models/errors/GetMediaProvidersErrors.md - docs/models/errors/GetMediaProvidersServerErrors.md - docs/models/errors/GetMediaProvidersUnauthorized.md - - docs/models/errors/GetMetaDataByRatingKeyBadRequest.md - - docs/models/errors/GetMetaDataByRatingKeyErrors.md - - docs/models/errors/GetMetaDataByRatingKeyLibraryErrors.md - - docs/models/errors/GetMetaDataByRatingKeyUnauthorized.md - docs/models/errors/GetMetadataChildrenBadRequest.md - docs/models/errors/GetMetadataChildrenErrors.md - docs/models/errors/GetMetadataChildrenLibraryErrors.md @@ -398,6 +402,12 @@ generatedFiles: - docs/models/operations/Friend.md - docs/models/operations/Genre.md - docs/models/operations/GeoData.md + - docs/models/operations/GetActorsLibraryDirectory.md + - docs/models/operations/GetActorsLibraryMediaContainer.md + - docs/models/operations/GetActorsLibraryQueryParamType.md + - docs/models/operations/GetActorsLibraryRequest.md + - docs/models/operations/GetActorsLibraryResponse.md + - docs/models/operations/GetActorsLibraryResponseBody.md - docs/models/operations/GetAllLibrariesDirectory.md - docs/models/operations/GetAllLibrariesLocation.md - docs/models/operations/GetAllLibrariesMediaContainer.md @@ -419,6 +429,7 @@ generatedFiles: - docs/models/operations/GetCompanionsDataResponse.md - docs/models/operations/GetCountriesLibraryDirectory.md - docs/models/operations/GetCountriesLibraryMediaContainer.md + - docs/models/operations/GetCountriesLibraryQueryParamType.md - docs/models/operations/GetCountriesLibraryRequest.md - docs/models/operations/GetCountriesLibraryResponse.md - docs/models/operations/GetCountriesLibraryResponseBody.md @@ -429,6 +440,7 @@ generatedFiles: - docs/models/operations/GetFileHashResponse.md - docs/models/operations/GetGenresLibraryDirectory.md - docs/models/operations/GetGenresLibraryMediaContainer.md + - docs/models/operations/GetGenresLibraryQueryParamType.md - docs/models/operations/GetGenresLibraryRequest.md - docs/models/operations/GetGenresLibraryResponse.md - docs/models/operations/GetGenresLibraryResponseBody.md @@ -511,24 +523,27 @@ generatedFiles: - docs/models/operations/GetLibraryItemsType.md - docs/models/operations/GetLibraryItemsUltraBlurColors.md - docs/models/operations/GetLibraryItemsWriter.md + - docs/models/operations/GetMediaMetaDataCountry.md + - docs/models/operations/GetMediaMetaDataDirector.md + - docs/models/operations/GetMediaMetaDataGenre.md + - docs/models/operations/GetMediaMetaDataImage.md + - docs/models/operations/GetMediaMetaDataLocation.md + - docs/models/operations/GetMediaMetaDataMedia.md + - docs/models/operations/GetMediaMetaDataMediaContainer.md + - docs/models/operations/GetMediaMetaDataMetadata.md + - docs/models/operations/GetMediaMetaDataPart.md + - docs/models/operations/GetMediaMetaDataRequest.md + - docs/models/operations/GetMediaMetaDataResponse.md + - docs/models/operations/GetMediaMetaDataResponseBody.md + - docs/models/operations/GetMediaMetaDataRole.md + - docs/models/operations/GetMediaMetaDataStream.md + - docs/models/operations/GetMediaMetaDataUltraBlurColors.md + - docs/models/operations/GetMediaMetaDataWriter.md - docs/models/operations/GetMediaProvidersDirectory.md - docs/models/operations/GetMediaProvidersMediaContainer.md - docs/models/operations/GetMediaProvidersRequest.md - docs/models/operations/GetMediaProvidersResponse.md - docs/models/operations/GetMediaProvidersResponseBody.md - - docs/models/operations/GetMetaDataByRatingKeyCountry.md - - docs/models/operations/GetMetaDataByRatingKeyDirector.md - - docs/models/operations/GetMetaDataByRatingKeyGenre.md - - docs/models/operations/GetMetaDataByRatingKeyMedia.md - - docs/models/operations/GetMetaDataByRatingKeyMediaContainer.md - - docs/models/operations/GetMetaDataByRatingKeyMetadata.md - - docs/models/operations/GetMetaDataByRatingKeyPart.md - - docs/models/operations/GetMetaDataByRatingKeyRequest.md - - docs/models/operations/GetMetaDataByRatingKeyResponse.md - - docs/models/operations/GetMetaDataByRatingKeyResponseBody.md - - docs/models/operations/GetMetaDataByRatingKeyRole.md - - docs/models/operations/GetMetaDataByRatingKeyStream.md - - docs/models/operations/GetMetaDataByRatingKeyWriter.md - docs/models/operations/GetMetadataChildrenDirectory.md - docs/models/operations/GetMetadataChildrenMediaContainer.md - docs/models/operations/GetMetadataChildrenMetadata.md @@ -815,7 +830,7 @@ generatedFiles: - docs/models/operations/QueryParamOnlyTransient.md - docs/models/operations/QueryParamSmart.md - docs/models/operations/QueryParamType.md - - docs/models/operations/Ratings.md + - docs/models/operations/Rating.md - docs/models/operations/Release.md - docs/models/operations/ResponseBody.md - docs/models/operations/Restricted.md @@ -830,6 +845,7 @@ generatedFiles: - docs/models/operations/SharedServers.md - docs/models/operations/SharedSources.md - docs/models/operations/ShowOrdering.md + - docs/models/operations/Similar.md - docs/models/operations/Skip.md - docs/models/operations/Smart.md - docs/models/operations/Sort.md @@ -950,6 +966,10 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/errors/EnablePaperTrailLogErrors.java - src/main/java/dev/plexapi/sdk/models/errors/EnablePaperTrailUnauthorized.java - src/main/java/dev/plexapi/sdk/models/errors/Errors.java + - src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryBadRequest.java + - src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryErrors.java + - src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryLibraryErrors.java + - src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryUnauthorized.java - src/main/java/dev/plexapi/sdk/models/errors/GetAllLibrariesBadRequest.java - src/main/java/dev/plexapi/sdk/models/errors/GetAllLibrariesErrors.java - src/main/java/dev/plexapi/sdk/models/errors/GetAllLibrariesLibraryErrors.java @@ -1014,14 +1034,14 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/errors/GetLibraryItemsErrors.java - src/main/java/dev/plexapi/sdk/models/errors/GetLibraryItemsLibraryErrors.java - src/main/java/dev/plexapi/sdk/models/errors/GetLibraryItemsUnauthorized.java + - src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataBadRequest.java + - src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataErrors.java + - src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataLibraryErrors.java + - src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataUnauthorized.java - src/main/java/dev/plexapi/sdk/models/errors/GetMediaProvidersBadRequest.java - src/main/java/dev/plexapi/sdk/models/errors/GetMediaProvidersErrors.java - src/main/java/dev/plexapi/sdk/models/errors/GetMediaProvidersServerErrors.java - src/main/java/dev/plexapi/sdk/models/errors/GetMediaProvidersUnauthorized.java - - src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyBadRequest.java - - src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyErrors.java - - src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyLibraryErrors.java - - src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyUnauthorized.java - src/main/java/dev/plexapi/sdk/models/errors/GetMetadataChildrenBadRequest.java - src/main/java/dev/plexapi/sdk/models/errors/GetMetadataChildrenErrors.java - src/main/java/dev/plexapi/sdk/models/errors/GetMetadataChildrenLibraryErrors.java @@ -1290,6 +1310,13 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/operations/Friend.java - src/main/java/dev/plexapi/sdk/models/operations/Genre.java - src/main/java/dev/plexapi/sdk/models/operations/GeoData.java + - src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryDirectory.java + - src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryMediaContainer.java + - src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryQueryParamType.java + - src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequest.java + - src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequestBuilder.java + - src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponse.java + - src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponseBody.java - src/main/java/dev/plexapi/sdk/models/operations/GetAllLibrariesDirectory.java - src/main/java/dev/plexapi/sdk/models/operations/GetAllLibrariesLocation.java - src/main/java/dev/plexapi/sdk/models/operations/GetAllLibrariesMediaContainer.java @@ -1317,6 +1344,7 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/operations/GetCompanionsDataResponse.java - src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryDirectory.java - src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryMediaContainer.java + - src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryQueryParamType.java - src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequest.java - src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequestBuilder.java - src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryResponse.java @@ -1330,6 +1358,7 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/operations/GetFileHashResponse.java - src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryDirectory.java - src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryMediaContainer.java + - src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryQueryParamType.java - src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequest.java - src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequestBuilder.java - src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryResponse.java @@ -1419,26 +1448,29 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsType.java - src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsUltraBlurColors.java - src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsWriter.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataCountry.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataDirector.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataGenre.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataImage.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataLocation.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMedia.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMediaContainer.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMetadata.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataPart.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequest.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequestBuilder.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponse.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponseBody.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRole.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataStream.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataUltraBlurColors.java + - src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataWriter.java - src/main/java/dev/plexapi/sdk/models/operations/GetMediaProvidersDirectory.java - src/main/java/dev/plexapi/sdk/models/operations/GetMediaProvidersMediaContainer.java - src/main/java/dev/plexapi/sdk/models/operations/GetMediaProvidersRequest.java - src/main/java/dev/plexapi/sdk/models/operations/GetMediaProvidersRequestBuilder.java - src/main/java/dev/plexapi/sdk/models/operations/GetMediaProvidersResponse.java - src/main/java/dev/plexapi/sdk/models/operations/GetMediaProvidersResponseBody.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyCountry.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyDirector.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyGenre.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMedia.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMediaContainer.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMetadata.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyPart.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequest.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequestBuilder.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponse.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponseBody.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRole.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyStream.java - - src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyWriter.java - src/main/java/dev/plexapi/sdk/models/operations/GetMetadataChildrenDirectory.java - src/main/java/dev/plexapi/sdk/models/operations/GetMetadataChildrenMediaContainer.java - src/main/java/dev/plexapi/sdk/models/operations/GetMetadataChildrenMetadata.java @@ -1768,7 +1800,7 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/operations/QueryParamOnlyTransient.java - src/main/java/dev/plexapi/sdk/models/operations/QueryParamSmart.java - src/main/java/dev/plexapi/sdk/models/operations/QueryParamType.java - - src/main/java/dev/plexapi/sdk/models/operations/Ratings.java + - src/main/java/dev/plexapi/sdk/models/operations/Rating.java - src/main/java/dev/plexapi/sdk/models/operations/Release.java - src/main/java/dev/plexapi/sdk/models/operations/ResponseBody.java - src/main/java/dev/plexapi/sdk/models/operations/Restricted.java @@ -1784,6 +1816,7 @@ generatedFiles: - src/main/java/dev/plexapi/sdk/models/operations/SharedServers.java - src/main/java/dev/plexapi/sdk/models/operations/SharedSources.java - src/main/java/dev/plexapi/sdk/models/operations/ShowOrdering.java + - src/main/java/dev/plexapi/sdk/models/operations/Similar.java - src/main/java/dev/plexapi/sdk/models/operations/Skip.java - src/main/java/dev/plexapi/sdk/models/operations/Smart.java - src/main/java/dev/plexapi/sdk/models/operations/Sort.java @@ -2864,6 +2897,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Shows (Reality)", "title2": "By Genre", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/10/all?genre=89", "key": "89", "title": "Action", "type": "genre"}]}} @@ -2876,6 +2911,8 @@ examples: parameters: path: sectionKey: 9518 + query: + type: 2 responses: "200": application/json: {"MediaContainer": {"size": 50, "identifier": "com.plexapp.plugins.library", "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Country", "viewGroup": "secondary", "Directory": [{"fastKey": "/library/sections/2/all?country=15491", "key": "15491", "title": "Japan"}]}} @@ -2907,5 +2944,45 @@ examples: application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-actors-library: + speakeasy-default-get-actors-library: + parameters: + path: + sectionKey: 9518 + query: + type: 2 + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "identifier": "com.plexapp.plugins.library", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "nocache": true, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "viewMode": "131131", "Directory": [{"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}, {"fastKey": "/library/sections/2/all?actor=134671", "thumb": "https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg", "key": "134671", "title": "Aaron Paul"}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} + get-media-meta-data: + speakeasy-default-get-media-meta-data: + parameters: + path: + ratingKey: 9518 + query: + includeConcerts: true + includeExtras: true + includeOnDeck: true + includePopularLeaves: true + includePreferences: true + includeReviews: true + includeChapters: true + includeStations: true + includeExternalMedia: true + asyncAugmentMetadata: true + asyncCheckFiles: true + asyncRefreshAnalysis: true + asyncRefreshLocalMediaAgent: true + responses: + "200": + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": []}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}, {"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": []}], "Image": [], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1625505101, "updatedAt": 1736487993, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": []}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "container": "mkv", "videoProfile": "main 10", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}, {"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}]}} + "400": + application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} + "401": + application/json: {"errors": [{"code": 1001, "message": "User could not be authenticated", "status": 401}, {"code": 1001, "message": "User could not be authenticated", "status": 401}]} examplesVersion: 1.0.0 generatedTests: {} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index e1017e14..e5dae3a4 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -13,7 +13,7 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false java: - version: 0.11.5 + version: 0.11.6 additionalDependencies: [] additionalPlugins: [] artifactID: plexapi diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index de8bdcee..ef844d17 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.484.1 +speakeasyVersion: 1.487.0 sources: my-source: sourceNamespace: my-source @@ -8,19 +8,19 @@ sources: - latest plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 tags: - latest - - speakeasy-sdk-regen-1738801581 + - speakeasy-sdk-regen-1738887982 targets: plexjava: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:e6ab335dd91a4165f4510e4a3af8a55819c6310b7e66251266d2384376f3ccae - sourceBlobDigest: sha256:89d1b1133e400c89f0d06efe5e5168f5ba25a413e1ab8380d442d6b233e2e5a9 + sourceRevisionDigest: sha256:49536684a97842ea7c069f909012b31a22a046d8277aee47b50a334494bf2c64 + sourceBlobDigest: sha256:eac671ea32ce31e1e558839153f7effef39bb35b4e461c6e95661d0eaf4ce1c8 codeSamplesNamespace: code-samples-java-plexjava - codeSamplesRevisionDigest: sha256:85b9a83c615e20272177b4b49152c959df250bf45bc141a4652d71090ec72db7 + codeSamplesRevisionDigest: sha256:f6b3bb99318fe110da82aa0504a0bd6ca71010bef2f5827c5c895e6e564e5889 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 42ea6dc9..bfa6c1fe 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ The samples below show how a published SDK artifact is used: Gradle: ```groovy -implementation 'dev.plexapi:plexapi:0.11.5' +implementation 'dev.plexapi:plexapi:0.11.6' ``` Maven: @@ -77,7 +77,7 @@ Maven: dev.plexapi plexapi - 0.11.5 + 0.11.6 ``` @@ -173,8 +173,9 @@ public class Application { * [getSearchLibrary](docs/sdks/library/README.md#getsearchlibrary) - Search Library * [getGenresLibrary](docs/sdks/library/README.md#getgenreslibrary) - Get Genres of library media * [getCountriesLibrary](docs/sdks/library/README.md#getcountrieslibrary) - Get Countries of library media +* [getActorsLibrary](docs/sdks/library/README.md#getactorslibrary) - Get Actors of library media * [getSearchAllLibraries](docs/sdks/library/README.md#getsearchalllibraries) - Search All Libraries -* [getMetaDataByRatingKey](docs/sdks/library/README.md#getmetadatabyratingkey) - Get Metadata by RatingKey +* [getMediaMetaData](docs/sdks/library/README.md#getmediametadata) - Get Media Metadata * [getMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [getTopWatchedContent](docs/sdks/library/README.md#gettopwatchedcontent) - Get Top Watched Content * [getOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck diff --git a/RELEASES.md b/RELEASES.md index 5e211024..0c856cda 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -238,4 +238,14 @@ Based on: ### Generated - [java v0.11.5] . ### Releases -- [Maven Central v0.11.5] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.11.5 - . \ No newline at end of file +- [Maven Central v0.11.5] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.11.5 - . + +## 2025-02-07 00:26:07 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.487.0 (2.506.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [java v0.11.6] . +### Releases +- [Maven Central v0.11.6] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.11.6 - . \ No newline at end of file diff --git a/build.gradle b/build.gradle index defebae7..706eae15 100644 --- a/build.gradle +++ b/build.gradle @@ -63,7 +63,7 @@ tasks.withType(Javadoc) { } group = "dev.plexapi" -version = "0.11.5" +version = "0.11.6" sourcesJar { archiveBaseName = "plexapi" @@ -101,7 +101,7 @@ publishing { maven(MavenPublication) { groupId = 'dev.plexapi' artifactId = 'plexapi' - version = '0.11.5' + version = '0.11.6' from components.java diff --git a/codeSamples.yaml b/codeSamples.yaml index 3080ac74..fa9dfdf8 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -841,26 +841,44 @@ actions: update: x-codeSamples: - lang: java - label: key + label: data source: |- package hello.world; import dev.plexapi.plexapi.PlexAPI; - import dev.plexapi.plexapi.models.errors.GetMetaDataByRatingKeyBadRequest; - import dev.plexapi.plexapi.models.errors.GetMetaDataByRatingKeyUnauthorized; - import dev.plexapi.plexapi.models.operations.GetMetaDataByRatingKeyResponse; + import dev.plexapi.plexapi.models.errors.GetMediaMetaDataBadRequest; + import dev.plexapi.plexapi.models.errors.GetMediaMetaDataUnauthorized; + import dev.plexapi.plexapi.models.operations.GetMediaMetaDataRequest; + import dev.plexapi.plexapi.models.operations.GetMediaMetaDataResponse; import java.lang.Exception; public class Application { - public static void main(String[] args) throws GetMetaDataByRatingKeyBadRequest, GetMetaDataByRatingKeyUnauthorized, Exception { + public static void main(String[] args) throws GetMediaMetaDataBadRequest, GetMediaMetaDataUnauthorized, Exception { PlexAPI sdk = PlexAPI.builder() .accessToken("") .build(); - GetMetaDataByRatingKeyResponse res = sdk.library().getMetaDataByRatingKey() + GetMediaMetaDataRequest req = GetMediaMetaDataRequest.builder() .ratingKey(9518L) + .includeConcerts(true) + .includeExtras(true) + .includeOnDeck(true) + .includePopularLeaves(true) + .includePreferences(true) + .includeReviews(true) + .includeChapters(true) + .includeStations(true) + .includeExternalMedia(true) + .asyncAugmentMetadata(true) + .asyncCheckFiles(true) + .asyncRefreshAnalysis(true) + .asyncRefreshLocalMediaAgent(true) + .build(); + + GetMediaMetaDataResponse res = sdk.library().getMediaMetaData() + .request(req) .call(); if (res.object().isPresent()) { @@ -1231,6 +1249,39 @@ actions: .sectionKey(9518) .call(); + if (res.object().isPresent()) { + // handle response + } + } + } + - target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"] + update: + x-codeSamples: + - lang: java + label: library + source: |- + package hello.world; + + import dev.plexapi.plexapi.PlexAPI; + import dev.plexapi.plexapi.models.errors.GetActorsLibraryBadRequest; + import dev.plexapi.plexapi.models.errors.GetActorsLibraryUnauthorized; + import dev.plexapi.plexapi.models.operations.GetActorsLibraryQueryParamType; + import dev.plexapi.plexapi.models.operations.GetActorsLibraryResponse; + import java.lang.Exception; + + public class Application { + + public static void main(String[] args) throws GetActorsLibraryBadRequest, GetActorsLibraryUnauthorized, Exception { + + PlexAPI sdk = PlexAPI.builder() + .accessToken("") + .build(); + + GetActorsLibraryResponse res = sdk.library().getActorsLibrary() + .sectionKey(9518) + .type(GetActorsLibraryQueryParamType.TvShow) + .call(); + if (res.object().isPresent()) { // handle response } @@ -1247,6 +1298,7 @@ actions: import dev.plexapi.plexapi.PlexAPI; import dev.plexapi.plexapi.models.errors.GetCountriesLibraryBadRequest; import dev.plexapi.plexapi.models.errors.GetCountriesLibraryUnauthorized; + import dev.plexapi.plexapi.models.operations.GetCountriesLibraryQueryParamType; import dev.plexapi.plexapi.models.operations.GetCountriesLibraryResponse; import java.lang.Exception; @@ -1260,6 +1312,7 @@ actions: GetCountriesLibraryResponse res = sdk.library().getCountriesLibrary() .sectionKey(9518) + .type(GetCountriesLibraryQueryParamType.TvShow) .call(); if (res.object().isPresent()) { @@ -1278,6 +1331,7 @@ actions: import dev.plexapi.plexapi.PlexAPI; import dev.plexapi.plexapi.models.errors.GetGenresLibraryBadRequest; import dev.plexapi.plexapi.models.errors.GetGenresLibraryUnauthorized; + import dev.plexapi.plexapi.models.operations.GetGenresLibraryQueryParamType; import dev.plexapi.plexapi.models.operations.GetGenresLibraryResponse; import java.lang.Exception; @@ -1291,6 +1345,7 @@ actions: GetGenresLibraryResponse res = sdk.library().getGenresLibrary() .sectionKey(9518) + .type(GetGenresLibraryQueryParamType.TvShow) .call(); if (res.object().isPresent()) { @@ -1389,8 +1444,8 @@ actions: GetLibraryItemsRequest req = GetLibraryItemsRequest.builder() .tag(Tag.EDITION) - .sectionKey(9518) .type(GetLibraryItemsQueryParamType.TvShow) + .sectionKey(9518) .build(); GetLibraryItemsResponse res = sdk.library().getLibraryItems() diff --git a/docs/models/errors/GetMetaDataByRatingKeyBadRequest.md b/docs/models/errors/GetActorsLibraryBadRequest.md similarity index 92% rename from docs/models/errors/GetMetaDataByRatingKeyBadRequest.md rename to docs/models/errors/GetActorsLibraryBadRequest.md index 7bee9e47..6980a6ed 100644 --- a/docs/models/errors/GetMetaDataByRatingKeyBadRequest.md +++ b/docs/models/errors/GetActorsLibraryBadRequest.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyBadRequest +# GetActorsLibraryBadRequest Bad Request - A parameter was not specified, or was specified incorrectly. @@ -7,5 +7,5 @@ Bad Request - A parameter was not specified, or was specified incorrectly. | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `errors` | List\<[GetMetaDataByRatingKeyErrors](../../models/errors/GetMetaDataByRatingKeyErrors.md)> | :heavy_minus_sign: | N/A | +| `errors` | List\<[GetActorsLibraryErrors](../../models/errors/GetActorsLibraryErrors.md)> | :heavy_minus_sign: | N/A | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/GetMetaDataByRatingKeyErrors.md b/docs/models/errors/GetActorsLibraryErrors.md similarity index 96% rename from docs/models/errors/GetMetaDataByRatingKeyErrors.md rename to docs/models/errors/GetActorsLibraryErrors.md index 93792a89..5488ebc8 100644 --- a/docs/models/errors/GetMetaDataByRatingKeyErrors.md +++ b/docs/models/errors/GetActorsLibraryErrors.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyErrors +# GetActorsLibraryErrors ## Fields diff --git a/docs/models/errors/GetMetaDataByRatingKeyLibraryErrors.md b/docs/models/errors/GetActorsLibraryLibraryErrors.md similarity index 95% rename from docs/models/errors/GetMetaDataByRatingKeyLibraryErrors.md rename to docs/models/errors/GetActorsLibraryLibraryErrors.md index bc0c379e..fa178e44 100644 --- a/docs/models/errors/GetMetaDataByRatingKeyLibraryErrors.md +++ b/docs/models/errors/GetActorsLibraryLibraryErrors.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyLibraryErrors +# GetActorsLibraryLibraryErrors ## Fields diff --git a/docs/models/errors/GetMetaDataByRatingKeyUnauthorized.md b/docs/models/errors/GetActorsLibraryUnauthorized.md similarity index 92% rename from docs/models/errors/GetMetaDataByRatingKeyUnauthorized.md rename to docs/models/errors/GetActorsLibraryUnauthorized.md index ff0c9fee..b366f810 100644 --- a/docs/models/errors/GetMetaDataByRatingKeyUnauthorized.md +++ b/docs/models/errors/GetActorsLibraryUnauthorized.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyUnauthorized +# GetActorsLibraryUnauthorized Unauthorized - Returned if the X-Plex-Token is missing from the header or query. @@ -7,5 +7,5 @@ Unauthorized - Returned if the X-Plex-Token is missing from the header or query. | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `errors` | List\<[GetMetaDataByRatingKeyLibraryErrors](../../models/errors/GetMetaDataByRatingKeyLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `errors` | List\<[GetActorsLibraryLibraryErrors](../../models/errors/GetActorsLibraryLibraryErrors.md)> | :heavy_minus_sign: | N/A | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/GetMediaMetaDataBadRequest.md b/docs/models/errors/GetMediaMetaDataBadRequest.md new file mode 100644 index 00000000..d911b75a --- /dev/null +++ b/docs/models/errors/GetMediaMetaDataBadRequest.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataBadRequest + +Bad Request - A parameter was not specified, or was specified incorrectly. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `errors` | List\<[GetMediaMetaDataErrors](../../models/errors/GetMediaMetaDataErrors.md)> | :heavy_minus_sign: | N/A | +| `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/errors/GetMediaMetaDataErrors.md b/docs/models/errors/GetMediaMetaDataErrors.md new file mode 100644 index 00000000..13275f41 --- /dev/null +++ b/docs/models/errors/GetMediaMetaDataErrors.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `code` | *Optional\* | :heavy_minus_sign: | N/A | 1000 | +| `message` | *Optional\* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `status` | *Optional\* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/models/errors/GetMediaMetaDataLibraryErrors.md b/docs/models/errors/GetMediaMetaDataLibraryErrors.md new file mode 100644 index 00000000..d67b12b9 --- /dev/null +++ b/docs/models/errors/GetMediaMetaDataLibraryErrors.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataLibraryErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `code` | *Optional\* | :heavy_minus_sign: | N/A | 1001 | +| `message` | *Optional\* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `status` | *Optional\* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/models/errors/GetMediaMetaDataUnauthorized.md b/docs/models/errors/GetMediaMetaDataUnauthorized.md new file mode 100644 index 00000000..9565317e --- /dev/null +++ b/docs/models/errors/GetMediaMetaDataUnauthorized.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataUnauthorized + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `errors` | List\<[GetMediaMetaDataLibraryErrors](../../models/errors/GetMediaMetaDataLibraryErrors.md)> | :heavy_minus_sign: | N/A | +| `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/GetActorsLibraryDirectory.md b/docs/models/operations/GetActorsLibraryDirectory.md new file mode 100644 index 00000000..ccc56a59 --- /dev/null +++ b/docs/models/operations/GetActorsLibraryDirectory.md @@ -0,0 +1,11 @@ +# GetActorsLibraryDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `fastKey` | *String* | :heavy_check_mark: | A fast lookup key for the actor relative url. | /library/sections/2/all?actor=134671 | +| `thumb` | *String* | :heavy_check_mark: | URL for the thumbnail image of the actor. | https://metadata-static.plex.tv/e/people/e2a915b537ef720252b6d408bc1f91b3.jpg | +| `key` | *String* | :heavy_check_mark: | A unique key representing the actor. | 134671 | +| `title` | *String* | :heavy_check_mark: | The name of the actor. | Aaron Paul | \ No newline at end of file diff --git a/docs/models/operations/GetActorsLibraryMediaContainer.md b/docs/models/operations/GetActorsLibraryMediaContainer.md new file mode 100644 index 00000000..618ff025 --- /dev/null +++ b/docs/models/operations/GetActorsLibraryMediaContainer.md @@ -0,0 +1,20 @@ +# GetActorsLibraryMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `size` | *double* | :heavy_check_mark: | N/A | 50 | +| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `art` | *String* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `identifier` | *String* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `mediaTagPrefix` | *String* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `mediaTagVersion` | *long* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `nocache` | *boolean* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `thumb` | *String* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `title1` | *String* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `title2` | *String* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | +| `viewGroup` | *String* | :heavy_check_mark: | Identifier for the view group layout. | secondary | +| `viewMode` | *String* | :heavy_check_mark: | Identifier for the view mode. | 131131 | +| `directory` | List\<[GetActorsLibraryDirectory](../../models/operations/GetActorsLibraryDirectory.md)> | :heavy_minus_sign: | An array of actor entries for media items. | | \ No newline at end of file diff --git a/docs/models/operations/GetActorsLibraryQueryParamType.md b/docs/models/operations/GetActorsLibraryQueryParamType.md new file mode 100644 index 00000000..c3709620 --- /dev/null +++ b/docs/models/operations/GetActorsLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetActorsLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/models/operations/GetActorsLibraryRequest.md b/docs/models/operations/GetActorsLibraryRequest.md new file mode 100644 index 00000000..202a7bbb --- /dev/null +++ b/docs/models/operations/GetActorsLibraryRequest.md @@ -0,0 +1,9 @@ +# GetActorsLibraryRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetActorsLibraryQueryParamType](../../models/operations/GetActorsLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/models/operations/GetActorsLibraryResponse.md b/docs/models/operations/GetActorsLibraryResponse.md new file mode 100644 index 00000000..043ab94c --- /dev/null +++ b/docs/models/operations/GetActorsLibraryResponse.md @@ -0,0 +1,11 @@ +# GetActorsLibraryResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [Optional\](../../models/operations/GetActorsLibraryResponseBody.md) | :heavy_minus_sign: | Successful response containing media container data. | \ No newline at end of file diff --git a/docs/models/operations/GetActorsLibraryResponseBody.md b/docs/models/operations/GetActorsLibraryResponseBody.md new file mode 100644 index 00000000..4d52eede --- /dev/null +++ b/docs/models/operations/GetActorsLibraryResponseBody.md @@ -0,0 +1,10 @@ +# GetActorsLibraryResponseBody + +Successful response containing media container data. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `mediaContainer` | [Optional\](../../models/operations/GetActorsLibraryMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/GetCountriesLibraryQueryParamType.md b/docs/models/operations/GetCountriesLibraryQueryParamType.md new file mode 100644 index 00000000..722cb197 --- /dev/null +++ b/docs/models/operations/GetCountriesLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetCountriesLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/models/operations/GetCountriesLibraryRequest.md b/docs/models/operations/GetCountriesLibraryRequest.md index d52503e5..d4f8ab3b 100644 --- a/docs/models/operations/GetCountriesLibraryRequest.md +++ b/docs/models/operations/GetCountriesLibraryRequest.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetCountriesLibraryQueryParamType](../../models/operations/GetCountriesLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/models/operations/GetGenresLibraryQueryParamType.md b/docs/models/operations/GetGenresLibraryQueryParamType.md new file mode 100644 index 00000000..4ef877ed --- /dev/null +++ b/docs/models/operations/GetGenresLibraryQueryParamType.md @@ -0,0 +1,22 @@ +# GetGenresLibraryQueryParamType + +The type of media to retrieve or filter by. +1 = movie +2 = show +3 = season +4 = episode +E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + + +## Values + +| Name | Value | +| --------- | --------- | +| `Movie` | 1 | +| `TvShow` | 2 | +| `Season` | 3 | +| `Episode` | 4 | +| `Audio` | 8 | +| `Album` | 9 | +| `Track` | 10 | \ No newline at end of file diff --git a/docs/models/operations/GetGenresLibraryRequest.md b/docs/models/operations/GetGenresLibraryRequest.md index 59c96272..a5966f10 100644 --- a/docs/models/operations/GetGenresLibraryRequest.md +++ b/docs/models/operations/GetGenresLibraryRequest.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetGenresLibraryQueryParamType](../../models/operations/GetGenresLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/models/operations/GetLibraryItemsQueryParamType.md b/docs/models/operations/GetLibraryItemsQueryParamType.md index c0b13045..2aa19a35 100644 --- a/docs/models/operations/GetLibraryItemsQueryParamType.md +++ b/docs/models/operations/GetLibraryItemsQueryParamType.md @@ -1,6 +1,6 @@ # GetLibraryItemsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/models/operations/GetLibraryItemsRequest.md b/docs/models/operations/GetLibraryItemsRequest.md index c64c4e70..8e365438 100644 --- a/docs/models/operations/GetLibraryItemsRequest.md +++ b/docs/models/operations/GetLibraryItemsRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tag` | [Tag](../../models/operations/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | -| `includeGuids` | [Optional\](../../models/operations/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [Optional\](../../models/operations/GetLibraryItemsQueryParamType.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `includeMeta` | [Optional\](../../models/operations/GetLibraryItemsQueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `xPlexContainerStart` | *Optional\* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `xPlexContainerSize` | *Optional\* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tag` | [Tag](../../models/operations/Tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | +| `includeGuids` | [Optional\](../../models/operations/IncludeGuids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `type` | [GetLibraryItemsQueryParamType](../../models/operations/GetLibraryItemsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `includeMeta` | [Optional\](../../models/operations/GetLibraryItemsQueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `xPlexContainerStart` | *Optional\* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `xPlexContainerSize` | *Optional\* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataCountry.md b/docs/models/operations/GetMediaMetaDataCountry.md new file mode 100644 index 00000000..525b93e5 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataCountry.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataCountry + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *long* | :heavy_check_mark: | The unique country identifier. | 58591 | +| `filter` | *String* | :heavy_check_mark: | The filter string for the country. | country=58591 | +| `tag` | *String* | :heavy_check_mark: | The country name. | United States of America | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataDirector.md b/docs/models/operations/GetMediaMetaDataDirector.md new file mode 100644 index 00000000..196d9ff5 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataDirector.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataDirector + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *Optional\* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *Optional\* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataGenre.md b/docs/models/operations/GetMediaMetaDataGenre.md new file mode 100644 index 00000000..b3ba21ef --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataGenre.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataGenre + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `id` | *long* | :heavy_check_mark: | The unique genre identifier. | 1057 | +| `filter` | *String* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | +| `tag` | *String* | :heavy_check_mark: | The genre name. | Crime | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataImage.md b/docs/models/operations/GetMediaMetaDataImage.md new file mode 100644 index 00000000..eeb5bbc5 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataImage.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataImage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `alt` | *String* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | +| `type` | *String* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | +| `url` | *String* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataLocation.md b/docs/models/operations/GetMediaMetaDataLocation.md new file mode 100644 index 00000000..1b12f5b6 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataLocation.md @@ -0,0 +1,8 @@ +# GetMediaMetaDataLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `path` | *String* | :heavy_check_mark: | The file path for the location. | /TV Shows/Better Call Saul | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataMedia.md b/docs/models/operations/GetMediaMetaDataMedia.md new file mode 100644 index 00000000..2b61dedc --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataMedia.md @@ -0,0 +1,22 @@ +# GetMediaMetaDataMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| `id` | *long* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `duration` | *long* | :heavy_check_mark: | Duration of the media in milliseconds. | 9610350 | +| `bitrate` | *long* | :heavy_check_mark: | Bitrate in bits per second. | 25512 | +| `width` | *long* | :heavy_check_mark: | Video width in pixels. | 3840 | +| `height` | *long* | :heavy_check_mark: | Video height in pixels. | 1602 | +| `aspectRatio` | *float* | :heavy_check_mark: | Aspect ratio of the video. | 2.35 | +| `audioChannels` | *long* | :heavy_check_mark: | Number of audio channels. | 6 | +| `audioCodec` | *String* | :heavy_check_mark: | Audio codec used. | eac3 | +| `videoCodec` | *String* | :heavy_check_mark: | Video codec used. | hevc | +| `videoResolution` | *String* | :heavy_check_mark: | Video resolution (e.g., 4k). | 4k | +| `container` | *String* | :heavy_check_mark: | File container type. | mkv | +| `videoFrameRate` | *String* | :heavy_check_mark: | Frame rate of the video (e.g., 24p). | 24p | +| `videoProfile` | *String* | :heavy_check_mark: | Video profile (e.g., main 10). | main 10 | +| `hasVoiceActivity` | *boolean* | :heavy_check_mark: | Indicates whether voice activity is detected. | false | +| `part` | List\<[GetMediaMetaDataPart](../../models/operations/GetMediaMetaDataPart.md)> | :heavy_check_mark: | An array of parts for this media item. | | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataMediaContainer.md b/docs/models/operations/GetMediaMetaDataMediaContainer.md new file mode 100644 index 00000000..159bde06 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataMediaContainer.md @@ -0,0 +1,16 @@ +# GetMediaMetaDataMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `size` | *double* | :heavy_check_mark: | N/A | 50 | +| `allowSync` | *boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `identifier` | *String* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `librarySectionID` | *long* | :heavy_check_mark: | The unique identifier for the library section. | 2 | +| `librarySectionTitle` | *String* | :heavy_check_mark: | The title of the library section. | TV Series | +| `librarySectionUUID` | *Optional\* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | +| `mediaTagPrefix` | *String* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `mediaTagVersion` | *long* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `metadata` | List\<[GetMediaMetaDataMetadata](../../models/operations/GetMediaMetaDataMetadata.md)> | :heavy_check_mark: | An array of metadata items. | | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyMetadata.md b/docs/models/operations/GetMediaMetaDataMetadata.md similarity index 54% rename from docs/models/operations/GetMetaDataByRatingKeyMetadata.md rename to docs/models/operations/GetMediaMetaDataMetadata.md index 3e1ba58e..cf13cf1b 100644 --- a/docs/models/operations/GetMetaDataByRatingKeyMetadata.md +++ b/docs/models/operations/GetMediaMetaDataMetadata.md @@ -1,45 +1,66 @@ -# GetMetaDataByRatingKeyMetadata +# GetMediaMetaDataMetadata ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ratingKey` | *Optional\* | :heavy_minus_sign: | N/A | 17 | -| `key` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/17 | -| `guid` | *Optional\* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | -| `studio` | *Optional\* | :heavy_minus_sign: | N/A | Universal Pictures | -| `type` | *Optional\* | :heavy_minus_sign: | N/A | movie | -| `title` | *Optional\* | :heavy_minus_sign: | N/A | Serenity | -| `librarySectionTitle` | *Optional\* | :heavy_minus_sign: | N/A | Movies | -| `librarySectionID` | *Optional\* | :heavy_minus_sign: | N/A | 1 | -| `librarySectionKey` | *Optional\* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `grandparentTitle` | *Optional\* | :heavy_minus_sign: | The name of the album artist for the track when audio, and the name of the TV show for the episode when video. | | -| `parentTitle` | *Optional\* | :heavy_minus_sign: | The name of the album for the track when audio, and the name of the season for the episode when TV show. | | -| `originalTitle` | *Optional\* | :heavy_minus_sign: | The orginal untranslated name of the media item when non-english. | | -| `index` | *Optional\* | :heavy_minus_sign: | The index starting from 0 of this media item in the MetaData array. | | -| `parentIndex` | *Optional\* | :heavy_minus_sign: | The parent index starting from 0 of this media item in the parent MetaData array. | | -| `contentRating` | *Optional\* | :heavy_minus_sign: | N/A | PG-13 | -| `summary` | *Optional\* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | -| `rating` | *Optional\* | :heavy_minus_sign: | N/A | 8.2 | -| `audienceRating` | *Optional\* | :heavy_minus_sign: | N/A | 9.1 | -| `year` | *Optional\* | :heavy_minus_sign: | N/A | 2005 | -| `tagline` | *Optional\* | :heavy_minus_sign: | N/A | They aim to misbehave. | -| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | -| `art` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | -| `duration` | *Optional\* | :heavy_minus_sign: | N/A | 141417 | -| `originallyAvailableAt` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | -| `addedAt` | *Optional\* | :heavy_minus_sign: | N/A | 1705637164 | -| `updatedAt` | *Optional\* | :heavy_minus_sign: | N/A | 1705637165 | -| `audienceRatingImage` | *Optional\* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `hasPremiumPrimaryExtra` | *Optional\* | :heavy_minus_sign: | N/A | 1 | -| `ratingImage` | *Optional\* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `media` | List\<[GetMetaDataByRatingKeyMedia](../../models/operations/GetMetaDataByRatingKeyMedia.md)> | :heavy_minus_sign: | N/A | | -| `genre` | List\<[GetMetaDataByRatingKeyGenre](../../models/operations/GetMetaDataByRatingKeyGenre.md)> | :heavy_minus_sign: | N/A | | -| `country` | List\<[GetMetaDataByRatingKeyCountry](../../models/operations/GetMetaDataByRatingKeyCountry.md)> | :heavy_minus_sign: | N/A | | -| `guids` | List\<[Guids](../../models/operations/Guids.md)> | :heavy_minus_sign: | N/A | | -| `ratings` | List\<[Ratings](../../models/operations/Ratings.md)> | :heavy_minus_sign: | N/A | | -| `director` | List\<[GetMetaDataByRatingKeyDirector](../../models/operations/GetMetaDataByRatingKeyDirector.md)> | :heavy_minus_sign: | N/A | | -| `writer` | List\<[GetMetaDataByRatingKeyWriter](../../models/operations/GetMetaDataByRatingKeyWriter.md)> | :heavy_minus_sign: | N/A | | -| `role` | List\<[GetMetaDataByRatingKeyRole](../../models/operations/GetMetaDataByRatingKeyRole.md)> | :heavy_minus_sign: | N/A | | -| `producer` | List\<[Producer](../../models/operations/Producer.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ratingKey` | *String* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | +| `parentRatingKey` | *Optional\* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | +| `grandparentRatingKey` | *Optional\* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | +| `parentGuid` | *Optional\* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | +| `grandparentGuid` | *Optional\* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | +| `grandparentSlug` | *Optional\* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | +| `grandparentKey` | *Optional\* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | +| `parentKey` | *Optional\* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 | +| `key` | *String* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children | +| `guid` | *String* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb | +| `slug` | *Optional\* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | +| `studio` | *Optional\* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | +| `type` | *String* | :heavy_check_mark: | The type of content (e.g., show, movie). | show | +| `title` | *String* | :heavy_check_mark: | The title of the content. | Better Call Saul | +| `originalTitle` | *Optional\* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | +| `librarySectionTitle` | *String* | :heavy_check_mark: | The title of the library section. | TV Series | +| `librarySectionID` | *long* | :heavy_check_mark: | The ID of the library section. | 2 | +| `librarySectionKey` | *String* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | +| `contentRating` | *String* | :heavy_check_mark: | The content rating (e.g., TV-MA). | TV-MA | +| `summary` | *String* | :heavy_check_mark: | A summary of the content. | Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to "Breaking Bad" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman. | +| `index` | *Optional\* | :heavy_minus_sign: | The index or order of the item. | 1 | +| `grandparentTitle` | *Optional\* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | +| `parentTitle` | *Optional\* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | +| `audienceRating` | *float* | :heavy_check_mark: | The audience rating for the content. | 8.7 | +| `viewCount` | *Optional\* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | +| `skipCount` | *Optional\* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | +| `lastViewedAt` | *Optional\* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | +| `year` | *long* | :heavy_check_mark: | The release year. | 2015 | +| `tagline` | *Optional\* | :heavy_minus_sign: | The tagline of the content. | Make the call | +| `chapterSource` | *Optional\* | :heavy_minus_sign: | N/A | media | +| `primaryExtraKey` | *Optional\* | :heavy_minus_sign: | N/A | /library/metadata/134704 | +| `thumb` | *String* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | +| `art` | *String* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | +| `theme` | *Optional\* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | +| `duration` | *long* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | +| `originallyAvailableAt` | [LocalDate](https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html) | :heavy_check_mark: | The original release date. | 2015-02-08 | +| `leafCount` | *Optional\* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | +| `viewedLeafCount` | *Optional\* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | +| `childCount` | *Optional\* | :heavy_minus_sign: | The number of child items. | 6 | +| `addedAt` | *long* | :heavy_check_mark: | Unix timestamp when the item was added. | 1625505101 | +| `updatedAt` | *long* | :heavy_check_mark: | Unix timestamp when the item was last updated. | 1736487993 | +| `audienceRatingImage` | *String* | :heavy_check_mark: | The URL for the audience rating image. | themoviedb://image.rating | +| `parentIndex` | *Optional\* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | +| `parentThumb` | *Optional\* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | +| `grandparentThumb` | *Optional\* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | +| `grandparentArt` | *Optional\* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | +| `media` | List\<[GetMediaMetaDataMedia](../../models/operations/GetMediaMetaDataMedia.md)> | :heavy_minus_sign: | N/A | | +| `image` | List\<[GetMediaMetaDataImage](../../models/operations/GetMediaMetaDataImage.md)> | :heavy_check_mark: | An array of image objects. | | +| `ultraBlurColors` | [GetMediaMetaDataUltraBlurColors](../../models/operations/GetMediaMetaDataUltraBlurColors.md) | :heavy_check_mark: | N/A | | +| `genre` | List\<[GetMediaMetaDataGenre](../../models/operations/GetMediaMetaDataGenre.md)> | :heavy_minus_sign: | An array of genre tags. | | +| `country` | List\<[GetMediaMetaDataCountry](../../models/operations/GetMediaMetaDataCountry.md)> | :heavy_minus_sign: | An array of country tags. | | +| `guids` | List\<[Guids](../../models/operations/Guids.md)> | :heavy_check_mark: | An array of GUID objects. | | +| `rating` | List\<[Rating](../../models/operations/Rating.md)> | :heavy_check_mark: | An array of rating objects. | | +| `role` | List\<[GetMediaMetaDataRole](../../models/operations/GetMediaMetaDataRole.md)> | :heavy_minus_sign: | An array of Actor roles. | | +| `director` | List\<[GetMediaMetaDataDirector](../../models/operations/GetMediaMetaDataDirector.md)> | :heavy_minus_sign: | An array of Director roles. | | +| `writer` | List\<[GetMediaMetaDataWriter](../../models/operations/GetMediaMetaDataWriter.md)> | :heavy_minus_sign: | An array of Writer roles. | | +| `producer` | List\<[Producer](../../models/operations/Producer.md)> | :heavy_minus_sign: | An array of Writer roles. | | +| `similar` | List\<[Similar](../../models/operations/Similar.md)> | :heavy_minus_sign: | An array of similar content objects. | | +| `location` | List\<[GetMediaMetaDataLocation](../../models/operations/GetMediaMetaDataLocation.md)> | :heavy_minus_sign: | An array of location objects. | | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataPart.md b/docs/models/operations/GetMediaMetaDataPart.md new file mode 100644 index 00000000..96de413f --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataPart.md @@ -0,0 +1,18 @@ +# GetMediaMetaDataPart + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `accessible` | *Optional\* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `exists` | *Optional\* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `id` | *long* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `key` | *String* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `indexes` | *Optional\* | :heavy_minus_sign: | N/A | sd | +| `duration` | *long* | :heavy_check_mark: | Duration of the part in milliseconds. | 9610350 | +| `file` | *String* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `size` | *long* | :heavy_check_mark: | File size in bytes. | 30649952104 | +| `container` | *String* | :heavy_check_mark: | Container format of the part. | mkv | +| `videoProfile` | *String* | :heavy_check_mark: | Video profile for the part. | main 10 | +| `stream` | List\<[GetMediaMetaDataStream](../../models/operations/GetMediaMetaDataStream.md)> | :heavy_check_mark: | An array of streams for this part. | | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataRequest.md b/docs/models/operations/GetMediaMetaDataRequest.md new file mode 100644 index 00000000..4f56f787 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataRequest.md @@ -0,0 +1,21 @@ +# GetMediaMetaDataRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | +| `ratingKey` | *long* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | +| `includeConcerts` | *Optional\* | :heavy_minus_sign: | Include concerts data if set to true. | true | +| `includeExtras` | *Optional\* | :heavy_minus_sign: | Include extra content (e.g. bonus features). | true | +| `includeOnDeck` | *Optional\* | :heavy_minus_sign: | Include on-deck items. | true | +| `includePopularLeaves` | *Optional\* | :heavy_minus_sign: | Include popular leaves (episodes/chapters). | true | +| `includePreferences` | *Optional\* | :heavy_minus_sign: | Include preferences information. | true | +| `includeReviews` | *Optional\* | :heavy_minus_sign: | Include reviews for the content. | true | +| `includeChapters` | *Optional\* | :heavy_minus_sign: | Include chapter details. | true | +| `includeStations` | *Optional\* | :heavy_minus_sign: | Include station data. | true | +| `includeExternalMedia` | *Optional\* | :heavy_minus_sign: | Include external media data. | true | +| `asyncAugmentMetadata` | *Optional\* | :heavy_minus_sign: | Trigger asynchronous metadata augmentation. | true | +| `asyncCheckFiles` | *Optional\* | :heavy_minus_sign: | Trigger asynchronous file checking. | true | +| `asyncRefreshAnalysis` | *Optional\* | :heavy_minus_sign: | Trigger asynchronous refresh of analysis. | true | +| `asyncRefreshLocalMediaAgent` | *Optional\* | :heavy_minus_sign: | Trigger asynchronous refresh of the local media agent. | true | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyResponse.md b/docs/models/operations/GetMediaMetaDataResponse.md similarity index 94% rename from docs/models/operations/GetMetaDataByRatingKeyResponse.md rename to docs/models/operations/GetMediaMetaDataResponse.md index 047e1650..4153ed55 100644 --- a/docs/models/operations/GetMetaDataByRatingKeyResponse.md +++ b/docs/models/operations/GetMediaMetaDataResponse.md @@ -1,4 +1,4 @@ -# GetMetaDataByRatingKeyResponse +# GetMediaMetaDataResponse ## Fields @@ -8,4 +8,4 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `object` | [Optional\](../../models/operations/GetMetaDataByRatingKeyResponseBody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file +| `object` | [Optional\](../../models/operations/GetMediaMetaDataResponseBody.md) | :heavy_minus_sign: | The metadata of the library item. | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataResponseBody.md b/docs/models/operations/GetMediaMetaDataResponseBody.md new file mode 100644 index 00000000..ad54a955 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataResponseBody.md @@ -0,0 +1,10 @@ +# GetMediaMetaDataResponseBody + +The metadata of the library item. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `mediaContainer` | [Optional\](../../models/operations/GetMediaMetaDataMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataRole.md b/docs/models/operations/GetMediaMetaDataRole.md new file mode 100644 index 00000000..4f70b039 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataRole.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataRole + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *Optional\* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *Optional\* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataStream.md b/docs/models/operations/GetMediaMetaDataStream.md new file mode 100644 index 00000000..81aad8b3 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataStream.md @@ -0,0 +1,53 @@ +# GetMediaMetaDataStream + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `id` | *long* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `streamType` | *long* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | +| `default_` | *Optional\* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *String* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *long* | :heavy_check_mark: | Index of the stream. | 0 | +| `bitrate` | *long* | :heavy_check_mark: | Bitrate of the stream. | 24743 | +| `language` | *String* | :heavy_check_mark: | Language of the stream. | English | +| `languageTag` | *String* | :heavy_check_mark: | Language tag (e.g., en). | en | +| `languageCode` | *String* | :heavy_check_mark: | ISO language code. | eng | +| `doviblCompatID` | *Optional\* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `doviblPresent` | *Optional\* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `dovielPresent` | *Optional\* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `doviLevel` | *Optional\* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `doviPresent` | *Optional\* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `doviProfile` | *Optional\* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpuPresent` | *Optional\* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `doviVersion` | *Optional\* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bitDepth` | *Optional\* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chromaLocation` | *Optional\* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chromaSubsampling` | *Optional\* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `codedHeight` | *Optional\* | :heavy_minus_sign: | Coded video height. | 1608 | +| `codedWidth` | *Optional\* | :heavy_minus_sign: | Coded video width. | 3840 | +| `colorPrimaries` | *Optional\* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `colorRange` | *Optional\* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `colorSpace` | *Optional\* | :heavy_minus_sign: | Color space. | bt2020nc | +| `colorTrc` | *Optional\* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frameRate` | *Optional\* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `height` | *Optional\* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *Optional\* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *Optional\* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `hasScalingMatrix` | *Optional\* | :heavy_minus_sign: | N/A | false | +| `profile` | *Optional\* | :heavy_minus_sign: | Video profile. | main 10 | +| `scanType` | *Optional\* | :heavy_minus_sign: | N/A | progressive | +| `refFrames` | *Optional\* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *Optional\* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `displayTitle` | *String* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extendedDisplayTitle` | *String* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *Optional\* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *Optional\* | :heavy_minus_sign: | N/A | true | +| `channels` | *Optional\* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audioChannelLayout` | *Optional\* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `samplingRate` | *Optional\* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `canAutoSync` | *Optional\* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearingImpaired` | *Optional\* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *Optional\* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *Optional\* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataUltraBlurColors.md b/docs/models/operations/GetMediaMetaDataUltraBlurColors.md new file mode 100644 index 00000000..c6adca12 --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataUltraBlurColors.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataUltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `topLeft` | *String* | :heavy_check_mark: | The top-left color value. | 11333a | +| `topRight` | *String* | :heavy_check_mark: | The top-right color value. | 1d2721 | +| `bottomRight` | *String* | :heavy_check_mark: | The bottom-right color value. | 5c451d | +| `bottomLeft` | *String* | :heavy_check_mark: | The bottom-left color value. | 372c10 | \ No newline at end of file diff --git a/docs/models/operations/GetMediaMetaDataWriter.md b/docs/models/operations/GetMediaMetaDataWriter.md new file mode 100644 index 00000000..2c334c9e --- /dev/null +++ b/docs/models/operations/GetMediaMetaDataWriter.md @@ -0,0 +1,13 @@ +# GetMediaMetaDataWriter + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *Optional\* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *Optional\* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyCountry.md b/docs/models/operations/GetMetaDataByRatingKeyCountry.md deleted file mode 100644 index c3236314..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyCountry.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyCountry - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 116 | -| `filter` | *Optional\* | :heavy_minus_sign: | N/A | country=116 | -| `tag` | *Optional\* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyDirector.md b/docs/models/operations/GetMetaDataByRatingKeyDirector.md deleted file mode 100644 index 9ab0cabc..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyDirector.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetMetaDataByRatingKeyDirector - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 130 | -| `filter` | *Optional\* | :heavy_minus_sign: | N/A | director=130 | -| `tag` | *Optional\* | :heavy_minus_sign: | N/A | Joss Whedon | -| `tagKey` | *Optional\* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyGenre.md b/docs/models/operations/GetMetaDataByRatingKeyGenre.md deleted file mode 100644 index aa5fd75b..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyGenre.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyGenre - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 184 | -| `filter` | *Optional\* | :heavy_minus_sign: | N/A | genre=184 | -| `tag` | *Optional\* | :heavy_minus_sign: | N/A | Thriller | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyMedia.md b/docs/models/operations/GetMetaDataByRatingKeyMedia.md deleted file mode 100644 index 8cfbdf8c..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyMedia.md +++ /dev/null @@ -1,24 +0,0 @@ -# GetMetaDataByRatingKeyMedia - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 15 | -| `duration` | *Optional\* | :heavy_minus_sign: | N/A | 141417 | -| `bitrate` | *Optional\* | :heavy_minus_sign: | N/A | 2278 | -| `width` | *Optional\* | :heavy_minus_sign: | N/A | 1920 | -| `height` | *Optional\* | :heavy_minus_sign: | N/A | 814 | -| `aspectRatio` | *Optional\* | :heavy_minus_sign: | N/A | 2.35 | -| `audioChannels` | *Optional\* | :heavy_minus_sign: | N/A | 2 | -| `audioCodec` | *Optional\* | :heavy_minus_sign: | N/A | aac | -| `videoCodec` | *Optional\* | :heavy_minus_sign: | N/A | h264 | -| `videoResolution` | *Optional\* | :heavy_minus_sign: | N/A | 1080 | -| `container` | *Optional\* | :heavy_minus_sign: | N/A | mp4 | -| `videoFrameRate` | *Optional\* | :heavy_minus_sign: | N/A | 24p | -| `optimizedForStreaming` | *Optional\* | :heavy_minus_sign: | N/A | 0 | -| `audioProfile` | *Optional\* | :heavy_minus_sign: | N/A | lc | -| `has64bitOffsets` | *Optional\* | :heavy_minus_sign: | N/A | false | -| `videoProfile` | *Optional\* | :heavy_minus_sign: | N/A | high | -| `part` | List\<[GetMetaDataByRatingKeyPart](../../models/operations/GetMetaDataByRatingKeyPart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyMediaContainer.md b/docs/models/operations/GetMetaDataByRatingKeyMediaContainer.md deleted file mode 100644 index 83553d05..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyMediaContainer.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetMetaDataByRatingKeyMediaContainer - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| `size` | *Optional\* | :heavy_minus_sign: | N/A | 1 | -| `allowSync` | *Optional\* | :heavy_minus_sign: | N/A | true | -| `identifier` | *Optional\* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `librarySectionID` | *Optional\* | :heavy_minus_sign: | N/A | 1 | -| `librarySectionTitle` | *Optional\* | :heavy_minus_sign: | N/A | Movies | -| `librarySectionUUID` | *Optional\* | :heavy_minus_sign: | N/A | cfc899d7-3000-46f6-8489-b9592714ada5 | -| `mediaTagPrefix` | *Optional\* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `mediaTagVersion` | *Optional\* | :heavy_minus_sign: | N/A | 1698860922 | -| `metadata` | List\<[GetMetaDataByRatingKeyMetadata](../../models/operations/GetMetaDataByRatingKeyMetadata.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyPart.md b/docs/models/operations/GetMetaDataByRatingKeyPart.md deleted file mode 100644 index c769b4a7..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyPart.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetMetaDataByRatingKeyPart - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 15 | -| `key` | *Optional\* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | -| `duration` | *Optional\* | :heavy_minus_sign: | N/A | 141417 | -| `file` | *Optional\* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | -| `size` | *Optional\* | :heavy_minus_sign: | N/A | 40271948 | -| `audioProfile` | *Optional\* | :heavy_minus_sign: | N/A | lc | -| `container` | *Optional\* | :heavy_minus_sign: | N/A | mp4 | -| `has64bitOffsets` | *Optional\* | :heavy_minus_sign: | N/A | false | -| `optimizedForStreaming` | *Optional\* | :heavy_minus_sign: | N/A | false | -| `videoProfile` | *Optional\* | :heavy_minus_sign: | N/A | high | -| `stream` | List\<[GetMetaDataByRatingKeyStream](../../models/operations/GetMetaDataByRatingKeyStream.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyRequest.md b/docs/models/operations/GetMetaDataByRatingKeyRequest.md deleted file mode 100644 index 98d25f52..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyRequest.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetMetaDataByRatingKeyRequest - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ratingKey` | *long* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyResponseBody.md b/docs/models/operations/GetMetaDataByRatingKeyResponseBody.md deleted file mode 100644 index c55ce5a0..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyResponseBody.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetMetaDataByRatingKeyResponseBody - -The metadata of the library item. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `mediaContainer` | [Optional\](../../models/operations/GetMetaDataByRatingKeyMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyRole.md b/docs/models/operations/GetMetaDataByRatingKeyRole.md deleted file mode 100644 index 27993bd8..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyRole.md +++ /dev/null @@ -1,13 +0,0 @@ -# GetMetaDataByRatingKeyRole - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 220 | -| `filter` | *Optional\* | :heavy_minus_sign: | N/A | actor=220 | -| `tag` | *Optional\* | :heavy_minus_sign: | N/A | Dennis Keiffer | -| `tagKey` | *Optional\* | :heavy_minus_sign: | N/A | 5d77683554f42c001f8c4708 | -| `role` | *Optional\* | :heavy_minus_sign: | N/A | Bar Guy (uncredited) | -| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyStream.md b/docs/models/operations/GetMetaDataByRatingKeyStream.md deleted file mode 100644 index e85ed3b9..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyStream.md +++ /dev/null @@ -1,39 +0,0 @@ -# GetMetaDataByRatingKeyStream - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 29 | -| `streamType` | *Optional\* | :heavy_minus_sign: | N/A | 2 | -| `default_` | *Optional\* | :heavy_minus_sign: | N/A | true | -| `codec` | *Optional\* | :heavy_minus_sign: | N/A | aac | -| `index` | *Optional\* | :heavy_minus_sign: | N/A | 0 | -| `bitrate` | *Optional\* | :heavy_minus_sign: | N/A | 128 | -| `bitDepth` | *Optional\* | :heavy_minus_sign: | N/A | 8 | -| `chromaLocation` | *Optional\* | :heavy_minus_sign: | N/A | left | -| `chromaSubsampling` | *Optional\* | :heavy_minus_sign: | N/A | 14520 | -| `codedHeight` | *Optional\* | :heavy_minus_sign: | N/A | 816 | -| `codedWidth` | *Optional\* | :heavy_minus_sign: | N/A | 1920 | -| `colorPrimaries` | *Optional\* | :heavy_minus_sign: | N/A | bt709 | -| `colorRange` | *Optional\* | :heavy_minus_sign: | N/A | tv | -| `colorSpace` | *Optional\* | :heavy_minus_sign: | N/A | bt709 | -| `colorTrc` | *Optional\* | :heavy_minus_sign: | N/A | bt709 | -| `frameRate` | *Optional\* | :heavy_minus_sign: | N/A | 24 | -| `hasScalingMatrix` | *Optional\* | :heavy_minus_sign: | N/A | false | -| `height` | *Optional\* | :heavy_minus_sign: | N/A | 814 | -| `level` | *Optional\* | :heavy_minus_sign: | N/A | 40 | -| `profile` | *Optional\* | :heavy_minus_sign: | N/A | lc | -| `refFrames` | *Optional\* | :heavy_minus_sign: | N/A | 4 | -| `scanType` | *Optional\* | :heavy_minus_sign: | N/A | progressive | -| `streamIdentifier` | *Optional\* | :heavy_minus_sign: | N/A | 1 | -| `width` | *Optional\* | :heavy_minus_sign: | N/A | 1920 | -| `displayTitle` | *Optional\* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `extendedDisplayTitle` | *Optional\* | :heavy_minus_sign: | N/A | English (AAC Stereo) | -| `selected` | *Optional\* | :heavy_minus_sign: | N/A | true | -| `channels` | *Optional\* | :heavy_minus_sign: | N/A | 2 | -| `language` | *Optional\* | :heavy_minus_sign: | N/A | English | -| `languageTag` | *Optional\* | :heavy_minus_sign: | N/A | en | -| `languageCode` | *Optional\* | :heavy_minus_sign: | N/A | eng | -| `samplingRate` | *Optional\* | :heavy_minus_sign: | N/A | 44100 | \ No newline at end of file diff --git a/docs/models/operations/GetMetaDataByRatingKeyWriter.md b/docs/models/operations/GetMetaDataByRatingKeyWriter.md deleted file mode 100644 index c1b58136..00000000 --- a/docs/models/operations/GetMetaDataByRatingKeyWriter.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetMetaDataByRatingKeyWriter - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 132 | -| `filter` | *Optional\* | :heavy_minus_sign: | N/A | writer=132 | -| `tag` | *Optional\* | :heavy_minus_sign: | N/A | Joss Whedon | -| `tagKey` | *Optional\* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f | -| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg | \ No newline at end of file diff --git a/docs/models/operations/GetPlaylistContentsQueryParamType.md b/docs/models/operations/GetPlaylistContentsQueryParamType.md index b5b34abc..7d477fb1 100644 --- a/docs/models/operations/GetPlaylistContentsQueryParamType.md +++ b/docs/models/operations/GetPlaylistContentsQueryParamType.md @@ -1,6 +1,6 @@ # GetPlaylistContentsQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/models/operations/GetPlaylistContentsRequest.md b/docs/models/operations/GetPlaylistContentsRequest.md index 33542276..f5876a9a 100644 --- a/docs/models/operations/GetPlaylistContentsRequest.md +++ b/docs/models/operations/GetPlaylistContentsRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `playlistID` | *double* | :heavy_check_mark: | the ID of the playlist | | -| `type` | [GetPlaylistContentsQueryParamType](../../models/operations/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `playlistID` | *double* | :heavy_check_mark: | the ID of the playlist | | +| `type` | [GetPlaylistContentsQueryParamType](../../models/operations/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/models/operations/GetRecentlyAddedLibraryRequest.md b/docs/models/operations/GetRecentlyAddedLibraryRequest.md index 424ac443..852659d2 100644 --- a/docs/models/operations/GetRecentlyAddedLibraryRequest.md +++ b/docs/models/operations/GetRecentlyAddedLibraryRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentDirectoryID` | *Optional\* | :heavy_minus_sign: | N/A | 2 | -| `pinnedContentDirectoryID` | List\<*long*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | -| `sectionID` | *Optional\* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `type` | [QueryParamType](../../models/operations/QueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `includeMeta` | [Optional\](../../models/operations/QueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `xPlexContainerStart` | *Optional\* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `xPlexContainerSize` | *Optional\* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentDirectoryID` | *Optional\* | :heavy_minus_sign: | N/A | 2 | +| `pinnedContentDirectoryID` | List\<*long*> | :heavy_minus_sign: | N/A | [
3,
5,
7,
13,
12,
1,
6,
14,
2,
10,
16,
17
] | +| `sectionID` | *Optional\* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [QueryParamType](../../models/operations/QueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `includeMeta` | [Optional\](../../models/operations/QueryParamIncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `xPlexContainerStart` | *Optional\* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `xPlexContainerSize` | *Optional\* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/models/operations/GetRecentlyAddedRequest.md b/docs/models/operations/GetRecentlyAddedRequest.md index 0f58037c..93ee1e64 100644 --- a/docs/models/operations/GetRecentlyAddedRequest.md +++ b/docs/models/operations/GetRecentlyAddedRequest.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentDirectoryID` | *long* | :heavy_check_mark: | The content directory ID. | | -| `pinnedContentDirectoryID` | *Optional\* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | -| `sectionID` | *Optional\* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | -| `type` | [Type](../../models/operations/Type.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | -| `includeMeta` | [Optional\](../../models/operations/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `xPlexContainerStart` | *Optional\* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | -| `xPlexContainerSize` | *Optional\* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentDirectoryID` | *long* | :heavy_check_mark: | The content directory ID. | | +| `pinnedContentDirectoryID` | *Optional\* | :heavy_minus_sign: | Comma-separated list of pinned content directory IDs. | | +| `sectionID` | *Optional\* | :heavy_minus_sign: | The library section ID for filtering content. | 2 | +| `type` | [Type](../../models/operations/Type.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `includeMeta` | [Optional\](../../models/operations/IncludeMeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | +| `xPlexContainerStart` | *Optional\* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | +| `xPlexContainerSize` | *Optional\* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/models/operations/GetSearchLibraryQueryParamType.md b/docs/models/operations/GetSearchLibraryQueryParamType.md index 9e3a4826..38b26848 100644 --- a/docs/models/operations/GetSearchLibraryQueryParamType.md +++ b/docs/models/operations/GetSearchLibraryQueryParamType.md @@ -1,6 +1,6 @@ # GetSearchLibraryQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/models/operations/GetSearchLibraryRequest.md b/docs/models/operations/GetSearchLibraryRequest.md index 0bb4fa97..41f9c2cf 100644 --- a/docs/models/operations/GetSearchLibraryRequest.md +++ b/docs/models/operations/GetSearchLibraryRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [GetSearchLibraryQueryParamType](../../models/operations/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetSearchLibraryQueryParamType](../../models/operations/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/models/operations/GetTopWatchedContentQueryParamType.md b/docs/models/operations/GetTopWatchedContentQueryParamType.md index 6736d2a0..ada3d481 100644 --- a/docs/models/operations/GetTopWatchedContentQueryParamType.md +++ b/docs/models/operations/GetTopWatchedContentQueryParamType.md @@ -1,6 +1,6 @@ # GetTopWatchedContentQueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/models/operations/GetTopWatchedContentRequest.md b/docs/models/operations/GetTopWatchedContentRequest.md index 1c2463e8..d2bca25f 100644 --- a/docs/models/operations/GetTopWatchedContentRequest.md +++ b/docs/models/operations/GetTopWatchedContentRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `includeGuids` | *Optional\* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [GetTopWatchedContentQueryParamType](../../models/operations/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `includeGuids` | *Optional\* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `type` | [GetTopWatchedContentQueryParamType](../../models/operations/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | \ No newline at end of file diff --git a/docs/models/operations/Guids.md b/docs/models/operations/Guids.md index 6870da05..ba446d4b 100644 --- a/docs/models/operations/Guids.md +++ b/docs/models/operations/Guids.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | tvdb://2337 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *String* | :heavy_check_mark: | The GUID value. | imdb://tt3032476 | \ No newline at end of file diff --git a/docs/models/operations/Producer.md b/docs/models/operations/Producer.md index e8a91b14..81b77f5e 100644 --- a/docs/models/operations/Producer.md +++ b/docs/models/operations/Producer.md @@ -5,8 +5,9 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | N/A | 221 | -| `filter` | *Optional\* | :heavy_minus_sign: | N/A | producer=221 | -| `tag` | *Optional\* | :heavy_minus_sign: | N/A | Barry Mendel | -| `tagKey` | *Optional\* | :heavy_minus_sign: | N/A | 5d776826961905001eb90e2b | -| `thumb` | *Optional\* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg | \ No newline at end of file +| `id` | *long* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `filter` | *String* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `tag` | *String* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `tagKey` | *String* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `role` | *Optional\* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `thumb` | *Optional\* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/models/operations/QueryParamType.md b/docs/models/operations/QueryParamType.md index 13fedecc..cfaf2bd3 100644 --- a/docs/models/operations/QueryParamType.md +++ b/docs/models/operations/QueryParamType.md @@ -1,6 +1,6 @@ # QueryParamType -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/models/operations/Rating.md b/docs/models/operations/Rating.md new file mode 100644 index 00000000..b2e6e26b --- /dev/null +++ b/docs/models/operations/Rating.md @@ -0,0 +1,10 @@ +# Rating + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `image` | *String* | :heavy_check_mark: | The image or reference for the rating. | imdb://image.rating | +| `value` | *float* | :heavy_check_mark: | The rating value. | 9 | +| `type` | *String* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/models/operations/Ratings.md b/docs/models/operations/Ratings.md deleted file mode 100644 index 25bbd494..00000000 --- a/docs/models/operations/Ratings.md +++ /dev/null @@ -1,10 +0,0 @@ -# Ratings - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | -| `image` | *Optional\* | :heavy_minus_sign: | N/A | themoviedb://image.rating | -| `value` | *Optional\* | :heavy_minus_sign: | N/A | 7.4 | -| `type` | *Optional\* | :heavy_minus_sign: | N/A | audience | \ No newline at end of file diff --git a/docs/models/operations/Similar.md b/docs/models/operations/Similar.md new file mode 100644 index 00000000..f25759a2 --- /dev/null +++ b/docs/models/operations/Similar.md @@ -0,0 +1,10 @@ +# Similar + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *long* | :heavy_check_mark: | The unique similar item identifier. | 26 | +| `filter` | *String* | :heavy_check_mark: | The filter string for similar items. | similar=26 | +| `tag` | *String* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad | \ No newline at end of file diff --git a/docs/models/operations/Type.md b/docs/models/operations/Type.md index e0e804eb..db3f9b7e 100644 --- a/docs/models/operations/Type.md +++ b/docs/models/operations/Type.md @@ -1,6 +1,6 @@ # Type -The type of media to retrieve. +The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index ccf8fde0..d008ddac 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -18,8 +18,9 @@ API Calls interacting with Plex Media Server Libraries * [getSearchLibrary](#getsearchlibrary) - Search Library * [getGenresLibrary](#getgenreslibrary) - Get Genres of library media * [getCountriesLibrary](#getcountrieslibrary) - Get Countries of library media +* [getActorsLibrary](#getactorslibrary) - Get Actors of library media * [getSearchAllLibraries](#getsearchalllibraries) - Search All Libraries -* [getMetaDataByRatingKey](#getmetadatabyratingkey) - Get Metadata by RatingKey +* [getMediaMetaData](#getmediametadata) - Get Media Metadata * [getMetadataChildren](#getmetadatachildren) - Get Items Children * [getTopWatchedContent](#gettopwatchedcontent) - Get Top Watched Content * [getOnDeck](#getondeck) - Get On Deck @@ -395,8 +396,8 @@ public class Application { GetLibraryItemsRequest req = GetLibraryItemsRequest.builder() .tag(Tag.EDITION) - .sectionKey(9518) .type(GetLibraryItemsQueryParamType.TvShow) + .sectionKey(9518) .build(); GetLibraryItemsResponse res = sdk.library().getLibraryItems() @@ -538,10 +539,10 @@ public class Application { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | -| `type` | [GetSearchLibraryQueryParamType](../../models/operations/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetSearchLibraryQueryParamType](../../models/operations/GetSearchLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response @@ -568,6 +569,7 @@ package hello.world; import dev.plexapi.sdk.PlexAPI; import dev.plexapi.sdk.models.errors.GetGenresLibraryBadRequest; import dev.plexapi.sdk.models.errors.GetGenresLibraryUnauthorized; +import dev.plexapi.sdk.models.operations.GetGenresLibraryQueryParamType; import dev.plexapi.sdk.models.operations.GetGenresLibraryResponse; import java.lang.Exception; @@ -581,6 +583,7 @@ public class Application { GetGenresLibraryResponse res = sdk.library().getGenresLibrary() .sectionKey(9518) + .type(GetGenresLibraryQueryParamType.TvShow) .call(); if (res.object().isPresent()) { @@ -592,9 +595,10 @@ public class Application { ### Parameters -| Parameter | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetGenresLibraryQueryParamType](../../models/operations/GetGenresLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response @@ -621,6 +625,7 @@ package hello.world; import dev.plexapi.sdk.PlexAPI; import dev.plexapi.sdk.models.errors.GetCountriesLibraryBadRequest; import dev.plexapi.sdk.models.errors.GetCountriesLibraryUnauthorized; +import dev.plexapi.sdk.models.operations.GetCountriesLibraryQueryParamType; import dev.plexapi.sdk.models.operations.GetCountriesLibraryResponse; import java.lang.Exception; @@ -634,6 +639,7 @@ public class Application { GetCountriesLibraryResponse res = sdk.library().getCountriesLibrary() .sectionKey(9518) + .type(GetCountriesLibraryQueryParamType.TvShow) .call(); if (res.object().isPresent()) { @@ -645,9 +651,10 @@ public class Application { ### Parameters -| Parameter | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetCountriesLibraryQueryParamType](../../models/operations/GetCountriesLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response @@ -661,6 +668,62 @@ public class Application { | models/errors/GetCountriesLibraryUnauthorized | 401 | application/json | | models/errors/SDKError | 4XX, 5XX | \*/\* | +## getActorsLibrary + +Retrieves a list of all the actors that are found for the media in this library. + + +### Example Usage + +```java +package hello.world; + +import dev.plexapi.sdk.PlexAPI; +import dev.plexapi.sdk.models.errors.GetActorsLibraryBadRequest; +import dev.plexapi.sdk.models.errors.GetActorsLibraryUnauthorized; +import dev.plexapi.sdk.models.operations.GetActorsLibraryQueryParamType; +import dev.plexapi.sdk.models.operations.GetActorsLibraryResponse; +import java.lang.Exception; + +public class Application { + + public static void main(String[] args) throws GetActorsLibraryBadRequest, GetActorsLibraryUnauthorized, Exception { + + PlexAPI sdk = PlexAPI.builder() + .accessToken("") + .build(); + + GetActorsLibraryResponse res = sdk.library().getActorsLibrary() + .sectionKey(9518) + .type(GetActorsLibraryQueryParamType.TvShow) + .call(); + + if (res.object().isPresent()) { + // handle response + } + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sectionKey` | *int* | :heavy_check_mark: | The unique key of the Plex library.
Note: This is unique in the context of the Plex server.
| 9518 | +| `type` | [GetActorsLibraryQueryParamType](../../models/operations/GetActorsLibraryQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | + +### Response + +**[GetActorsLibraryResponse](../../models/operations/GetActorsLibraryResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | +| models/errors/GetActorsLibraryBadRequest | 400 | application/json | +| models/errors/GetActorsLibraryUnauthorized | 401 | application/json | +| models/errors/SDKError | 4XX, 5XX | \*/\* | + ## getSearchAllLibraries Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type. @@ -724,9 +787,9 @@ public class Application { | models/errors/GetSearchAllLibrariesUnauthorized | 401 | application/json | | models/errors/SDKError | 4XX, 5XX | \*/\* | -## getMetaDataByRatingKey +## getMediaMetaData -This endpoint will return the metadata of a library item specified with the ratingKey. +This endpoint will return all the (meta)data of a library item specified with by the ratingKey. ### Example Usage @@ -735,21 +798,39 @@ This endpoint will return the metadata of a library item specified with the rati package hello.world; import dev.plexapi.sdk.PlexAPI; -import dev.plexapi.sdk.models.errors.GetMetaDataByRatingKeyBadRequest; -import dev.plexapi.sdk.models.errors.GetMetaDataByRatingKeyUnauthorized; -import dev.plexapi.sdk.models.operations.GetMetaDataByRatingKeyResponse; +import dev.plexapi.sdk.models.errors.GetMediaMetaDataBadRequest; +import dev.plexapi.sdk.models.errors.GetMediaMetaDataUnauthorized; +import dev.plexapi.sdk.models.operations.GetMediaMetaDataRequest; +import dev.plexapi.sdk.models.operations.GetMediaMetaDataResponse; import java.lang.Exception; public class Application { - public static void main(String[] args) throws GetMetaDataByRatingKeyBadRequest, GetMetaDataByRatingKeyUnauthorized, Exception { + public static void main(String[] args) throws GetMediaMetaDataBadRequest, GetMediaMetaDataUnauthorized, Exception { PlexAPI sdk = PlexAPI.builder() .accessToken("") .build(); - GetMetaDataByRatingKeyResponse res = sdk.library().getMetaDataByRatingKey() + GetMediaMetaDataRequest req = GetMediaMetaDataRequest.builder() .ratingKey(9518L) + .includeConcerts(true) + .includeExtras(true) + .includeOnDeck(true) + .includePopularLeaves(true) + .includePreferences(true) + .includeReviews(true) + .includeChapters(true) + .includeStations(true) + .includeExternalMedia(true) + .asyncAugmentMetadata(true) + .asyncCheckFiles(true) + .asyncRefreshAnalysis(true) + .asyncRefreshLocalMediaAgent(true) + .build(); + + GetMediaMetaDataResponse res = sdk.library().getMediaMetaData() + .request(req) .call(); if (res.object().isPresent()) { @@ -761,21 +842,21 @@ public class Application { ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `ratingKey` | *long* | :heavy_check_mark: | the id of the library item to return the children of. | 9518 | +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `request` | [GetMediaMetaDataRequest](../../models/operations/GetMediaMetaDataRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response -**[GetMetaDataByRatingKeyResponse](../../models/operations/GetMetaDataByRatingKeyResponse.md)** +**[GetMediaMetaDataResponse](../../models/operations/GetMediaMetaDataResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | -| models/errors/GetMetaDataByRatingKeyBadRequest | 400 | application/json | -| models/errors/GetMetaDataByRatingKeyUnauthorized | 401 | application/json | -| models/errors/SDKError | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | +| models/errors/GetMediaMetaDataBadRequest | 400 | application/json | +| models/errors/GetMediaMetaDataUnauthorized | 401 | application/json | +| models/errors/SDKError | 4XX, 5XX | \*/\* | ## getMetadataChildren @@ -871,10 +952,10 @@ public class Application { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `includeGuids` | *Optional\* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | -| `type` | [GetTopWatchedContentQueryParamType](../../models/operations/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `includeGuids` | *Optional\* | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | +| `type` | [GetTopWatchedContentQueryParamType](../../models/operations/GetTopWatchedContentQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index d5f9960c..267697cb 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -344,10 +344,10 @@ public class Application { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `playlistID` | *double* | :heavy_check_mark: | the ID of the playlist | | -| `type` | [GetPlaylistContentsQueryParamType](../../models/operations/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| Parameter | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `playlistID` | *double* | :heavy_check_mark: | the ID of the playlist | | +| `type` | [GetPlaylistContentsQueryParamType](../../models/operations/GetPlaylistContentsQueryParamType.md) | :heavy_check_mark: | The type of media to retrieve or filter by.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | ### Response diff --git a/src/main/java/dev/plexapi/sdk/Library.java b/src/main/java/dev/plexapi/sdk/Library.java index 58a6f900..5ec40cd6 100644 --- a/src/main/java/dev/plexapi/sdk/Library.java +++ b/src/main/java/dev/plexapi/sdk/Library.java @@ -7,6 +7,8 @@ package dev.plexapi.sdk; import com.fasterxml.jackson.core.type.TypeReference; import dev.plexapi.sdk.models.errors.DeleteLibraryBadRequest; import dev.plexapi.sdk.models.errors.DeleteLibraryUnauthorized; +import dev.plexapi.sdk.models.errors.GetActorsLibraryBadRequest; +import dev.plexapi.sdk.models.errors.GetActorsLibraryUnauthorized; import dev.plexapi.sdk.models.errors.GetAllLibrariesBadRequest; import dev.plexapi.sdk.models.errors.GetAllLibrariesUnauthorized; import dev.plexapi.sdk.models.errors.GetCountriesLibraryBadRequest; @@ -19,8 +21,8 @@ import dev.plexapi.sdk.models.errors.GetLibraryDetailsBadRequest; import dev.plexapi.sdk.models.errors.GetLibraryDetailsUnauthorized; import dev.plexapi.sdk.models.errors.GetLibraryItemsBadRequest; import dev.plexapi.sdk.models.errors.GetLibraryItemsUnauthorized; -import dev.plexapi.sdk.models.errors.GetMetaDataByRatingKeyBadRequest; -import dev.plexapi.sdk.models.errors.GetMetaDataByRatingKeyUnauthorized; +import dev.plexapi.sdk.models.errors.GetMediaMetaDataBadRequest; +import dev.plexapi.sdk.models.errors.GetMediaMetaDataUnauthorized; import dev.plexapi.sdk.models.errors.GetMetadataChildrenBadRequest; import dev.plexapi.sdk.models.errors.GetMetadataChildrenUnauthorized; import dev.plexapi.sdk.models.errors.GetOnDeckBadRequest; @@ -40,9 +42,15 @@ import dev.plexapi.sdk.models.operations.DeleteLibraryRequest; import dev.plexapi.sdk.models.operations.DeleteLibraryRequestBuilder; import dev.plexapi.sdk.models.operations.DeleteLibraryResponse; import dev.plexapi.sdk.models.operations.Force; +import dev.plexapi.sdk.models.operations.GetActorsLibraryQueryParamType; +import dev.plexapi.sdk.models.operations.GetActorsLibraryRequest; +import dev.plexapi.sdk.models.operations.GetActorsLibraryRequestBuilder; +import dev.plexapi.sdk.models.operations.GetActorsLibraryResponse; +import dev.plexapi.sdk.models.operations.GetActorsLibraryResponseBody; import dev.plexapi.sdk.models.operations.GetAllLibrariesRequestBuilder; import dev.plexapi.sdk.models.operations.GetAllLibrariesResponse; import dev.plexapi.sdk.models.operations.GetAllLibrariesResponseBody; +import dev.plexapi.sdk.models.operations.GetCountriesLibraryQueryParamType; import dev.plexapi.sdk.models.operations.GetCountriesLibraryRequest; import dev.plexapi.sdk.models.operations.GetCountriesLibraryRequestBuilder; import dev.plexapi.sdk.models.operations.GetCountriesLibraryResponse; @@ -50,6 +58,7 @@ import dev.plexapi.sdk.models.operations.GetCountriesLibraryResponseBody; import dev.plexapi.sdk.models.operations.GetFileHashRequest; import dev.plexapi.sdk.models.operations.GetFileHashRequestBuilder; import dev.plexapi.sdk.models.operations.GetFileHashResponse; +import dev.plexapi.sdk.models.operations.GetGenresLibraryQueryParamType; import dev.plexapi.sdk.models.operations.GetGenresLibraryRequest; import dev.plexapi.sdk.models.operations.GetGenresLibraryRequestBuilder; import dev.plexapi.sdk.models.operations.GetGenresLibraryResponse; @@ -62,10 +71,10 @@ import dev.plexapi.sdk.models.operations.GetLibraryItemsRequest; import dev.plexapi.sdk.models.operations.GetLibraryItemsRequestBuilder; import dev.plexapi.sdk.models.operations.GetLibraryItemsResponse; import dev.plexapi.sdk.models.operations.GetLibraryItemsResponseBody; -import dev.plexapi.sdk.models.operations.GetMetaDataByRatingKeyRequest; -import dev.plexapi.sdk.models.operations.GetMetaDataByRatingKeyRequestBuilder; -import dev.plexapi.sdk.models.operations.GetMetaDataByRatingKeyResponse; -import dev.plexapi.sdk.models.operations.GetMetaDataByRatingKeyResponseBody; +import dev.plexapi.sdk.models.operations.GetMediaMetaDataRequest; +import dev.plexapi.sdk.models.operations.GetMediaMetaDataRequestBuilder; +import dev.plexapi.sdk.models.operations.GetMediaMetaDataResponse; +import dev.plexapi.sdk.models.operations.GetMediaMetaDataResponseBody; import dev.plexapi.sdk.models.operations.GetMetadataChildrenRequest; import dev.plexapi.sdk.models.operations.GetMetadataChildrenRequestBuilder; import dev.plexapi.sdk.models.operations.GetMetadataChildrenResponse; @@ -127,8 +136,9 @@ public class Library implements MethodCallGetSearchLibrary, MethodCallGetGenresLibrary, MethodCallGetCountriesLibrary, + MethodCallGetActorsLibrary, MethodCallGetSearchAllLibraries, - MethodCallGetMetaDataByRatingKey, + MethodCallGetMediaMetaData, MethodCallGetMetadataChildren, MethodCallGetTopWatchedContent, MethodCallGetOnDeck { @@ -1545,7 +1555,7 @@ public class Library implements * @param sectionKey The unique key of the Plex library. Note: This is unique in the context of the Plex server. - * @param type The type of media to retrieve. + * @param type The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season @@ -1728,15 +1738,24 @@ public class Library implements * @param sectionKey The unique key of the Plex library. Note: This is unique in the context of the Plex server. + * @param type The type of media to retrieve or filter by. + 1 = movie + 2 = show + 3 = season + 4 = episode + E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * @return The response from the API call * @throws Exception if the API call fails */ public GetGenresLibraryResponse getGenresLibrary( - int sectionKey) throws Exception { + int sectionKey, + GetGenresLibraryQueryParamType type) throws Exception { GetGenresLibraryRequest request = GetGenresLibraryRequest .builder() .sectionKey(sectionKey) + .type(type) .build(); String _baseUrl = Utils.templateUrl( @@ -1751,6 +1770,11 @@ public class Library implements _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); + + _req.addQueryParams(Utils.getQueryParams( + GetGenresLibraryRequest.class, + request, + null)); Optional _hookSecuritySource = this.sdkConfiguration.securitySource(); Utils.configureSecurity(_req, @@ -1897,15 +1921,24 @@ public class Library implements * @param sectionKey The unique key of the Plex library. Note: This is unique in the context of the Plex server. + * @param type The type of media to retrieve or filter by. + 1 = movie + 2 = show + 3 = season + 4 = episode + E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * @return The response from the API call * @throws Exception if the API call fails */ public GetCountriesLibraryResponse getCountriesLibrary( - int sectionKey) throws Exception { + int sectionKey, + GetCountriesLibraryQueryParamType type) throws Exception { GetCountriesLibraryRequest request = GetCountriesLibraryRequest .builder() .sectionKey(sectionKey) + .type(type) .build(); String _baseUrl = Utils.templateUrl( @@ -1920,6 +1953,11 @@ public class Library implements _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); + + _req.addQueryParams(Utils.getQueryParams( + GetCountriesLibraryRequest.class, + request, + null)); Optional _hookSecuritySource = this.sdkConfiguration.securitySource(); Utils.configureSecurity(_req, @@ -2049,6 +2087,189 @@ public class Library implements + /** + * Get Actors of library media + * Retrieves a list of all the actors that are found for the media in this library. + * + * @return The call builder + */ + public GetActorsLibraryRequestBuilder getActorsLibrary() { + return new GetActorsLibraryRequestBuilder(this); + } + + /** + * Get Actors of library media + * Retrieves a list of all the actors that are found for the media in this library. + * + * @param sectionKey The unique key of the Plex library. + Note: This is unique in the context of the Plex server. + + * @param type The type of media to retrieve or filter by. + 1 = movie + 2 = show + 3 = season + 4 = episode + E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + + * @return The response from the API call + * @throws Exception if the API call fails + */ + public GetActorsLibraryResponse getActorsLibrary( + int sectionKey, + GetActorsLibraryQueryParamType type) throws Exception { + GetActorsLibraryRequest request = + GetActorsLibraryRequest + .builder() + .sectionKey(sectionKey) + .type(type) + .build(); + + String _baseUrl = Utils.templateUrl( + this.sdkConfiguration.serverUrl, this.sdkConfiguration.getServerVariableDefaults()); + String _url = Utils.generateURL( + GetActorsLibraryRequest.class, + _baseUrl, + "/library/sections/{sectionKey}/actor", + request, null); + + HTTPRequest _req = new HTTPRequest(_url, "GET"); + _req.addHeader("Accept", "application/json") + .addHeader("user-agent", + SDKConfiguration.USER_AGENT); + + _req.addQueryParams(Utils.getQueryParams( + GetActorsLibraryRequest.class, + request, + null)); + + Optional _hookSecuritySource = this.sdkConfiguration.securitySource(); + Utils.configureSecurity(_req, + this.sdkConfiguration.securitySource.getSecurity()); + HTTPClient _client = this.sdkConfiguration.defaultClient; + HttpRequest _r = + sdkConfiguration.hooks() + .beforeRequest( + new BeforeRequestContextImpl( + "get-actors-library", + Optional.of(List.of()), + _hookSecuritySource), + _req.build()); + HttpResponse _httpRes; + try { + _httpRes = _client.send(_r); + if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "404", "4XX", "5XX")) { + _httpRes = sdkConfiguration.hooks() + .afterError( + new AfterErrorContextImpl( + "get-actors-library", + Optional.of(List.of()), + _hookSecuritySource), + Optional.of(_httpRes), + Optional.empty()); + } else { + _httpRes = sdkConfiguration.hooks() + .afterSuccess( + new AfterSuccessContextImpl( + "get-actors-library", + Optional.of(List.of()), + _hookSecuritySource), + _httpRes); + } + } catch (Exception _e) { + _httpRes = sdkConfiguration.hooks() + .afterError( + new AfterErrorContextImpl( + "get-actors-library", + Optional.of(List.of()), + _hookSecuritySource), + Optional.empty(), + Optional.of(_e)); + } + String _contentType = _httpRes + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + GetActorsLibraryResponse.Builder _resBuilder = + GetActorsLibraryResponse + .builder() + .contentType(_contentType) + .statusCode(_httpRes.statusCode()) + .rawResponse(_httpRes); + + GetActorsLibraryResponse _res = _resBuilder.build(); + + if (Utils.statusCodeMatches(_httpRes.statusCode(), "200")) { + if (Utils.contentTypeMatches(_contentType, "application/json")) { + GetActorsLibraryResponseBody _out = Utils.mapper().readValue( + Utils.toUtf8AndClose(_httpRes.body()), + new TypeReference() {}); + _res.withObject(Optional.ofNullable(_out)); + return _res; + } else { + throw new SDKError( + _httpRes, + _httpRes.statusCode(), + "Unexpected content-type received: " + _contentType, + Utils.extractByteArrayFromBody(_httpRes)); + } + } + if (Utils.statusCodeMatches(_httpRes.statusCode(), "400")) { + if (Utils.contentTypeMatches(_contentType, "application/json")) { + GetActorsLibraryBadRequest _out = Utils.mapper().readValue( + Utils.toUtf8AndClose(_httpRes.body()), + new TypeReference() {}); + _out.withRawResponse(Optional.ofNullable(_httpRes)); + + throw _out; + } else { + throw new SDKError( + _httpRes, + _httpRes.statusCode(), + "Unexpected content-type received: " + _contentType, + Utils.extractByteArrayFromBody(_httpRes)); + } + } + if (Utils.statusCodeMatches(_httpRes.statusCode(), "401")) { + if (Utils.contentTypeMatches(_contentType, "application/json")) { + GetActorsLibraryUnauthorized _out = Utils.mapper().readValue( + Utils.toUtf8AndClose(_httpRes.body()), + new TypeReference() {}); + _out.withRawResponse(Optional.ofNullable(_httpRes)); + + throw _out; + } else { + throw new SDKError( + _httpRes, + _httpRes.statusCode(), + "Unexpected content-type received: " + _contentType, + Utils.extractByteArrayFromBody(_httpRes)); + } + } + if (Utils.statusCodeMatches(_httpRes.statusCode(), "404", "4XX")) { + // no content + throw new SDKError( + _httpRes, + _httpRes.statusCode(), + "API error occurred", + Utils.extractByteArrayFromBody(_httpRes)); + } + if (Utils.statusCodeMatches(_httpRes.statusCode(), "5XX")) { + // no content + throw new SDKError( + _httpRes, + _httpRes.statusCode(), + "API error occurred", + Utils.extractByteArrayFromBody(_httpRes)); + } + throw new SDKError( + _httpRes, + _httpRes.statusCode(), + "Unexpected status code received: " + _httpRes.statusCode(), + Utils.extractByteArrayFromBody(_httpRes)); + } + + + /** * Search All Libraries * Search the provided query across all library sections, or a single section, and return matches as hubs, split up by type. @@ -2215,35 +2436,29 @@ public class Library implements /** - * Get Metadata by RatingKey - * This endpoint will return the metadata of a library item specified with the ratingKey. + * Get Media Metadata + * This endpoint will return all the (meta)data of a library item specified with by the ratingKey. * * @return The call builder */ - public GetMetaDataByRatingKeyRequestBuilder getMetaDataByRatingKey() { - return new GetMetaDataByRatingKeyRequestBuilder(this); + public GetMediaMetaDataRequestBuilder getMediaMetaData() { + return new GetMediaMetaDataRequestBuilder(this); } /** - * Get Metadata by RatingKey - * This endpoint will return the metadata of a library item specified with the ratingKey. + * Get Media Metadata + * This endpoint will return all the (meta)data of a library item specified with by the ratingKey. * - * @param ratingKey the id of the library item to return the children of. + * @param request The request object containing all of the parameters for the API call. * @return The response from the API call * @throws Exception if the API call fails */ - public GetMetaDataByRatingKeyResponse getMetaDataByRatingKey( - long ratingKey) throws Exception { - GetMetaDataByRatingKeyRequest request = - GetMetaDataByRatingKeyRequest - .builder() - .ratingKey(ratingKey) - .build(); - + public GetMediaMetaDataResponse getMediaMetaData( + GetMediaMetaDataRequest request) throws Exception { String _baseUrl = Utils.templateUrl( this.sdkConfiguration.serverUrl, this.sdkConfiguration.getServerVariableDefaults()); String _url = Utils.generateURL( - GetMetaDataByRatingKeyRequest.class, + GetMediaMetaDataRequest.class, _baseUrl, "/library/metadata/{ratingKey}", request, null); @@ -2252,6 +2467,11 @@ public class Library implements _req.addHeader("Accept", "application/json") .addHeader("user-agent", SDKConfiguration.USER_AGENT); + + _req.addQueryParams(Utils.getQueryParams( + GetMediaMetaDataRequest.class, + request, + null)); Optional _hookSecuritySource = this.sdkConfiguration.securitySource(); Utils.configureSecurity(_req, @@ -2261,18 +2481,18 @@ public class Library implements sdkConfiguration.hooks() .beforeRequest( new BeforeRequestContextImpl( - "get-meta-data-by-rating-key", + "get-media-meta-data", Optional.of(List.of()), _hookSecuritySource), _req.build()); HttpResponse _httpRes; try { _httpRes = _client.send(_r); - if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "4XX", "5XX")) { + if (Utils.statusCodeMatches(_httpRes.statusCode(), "400", "401", "404", "4XX", "5XX")) { _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( - "get-meta-data-by-rating-key", + "get-media-meta-data", Optional.of(List.of()), _hookSecuritySource), Optional.of(_httpRes), @@ -2281,7 +2501,7 @@ public class Library implements _httpRes = sdkConfiguration.hooks() .afterSuccess( new AfterSuccessContextImpl( - "get-meta-data-by-rating-key", + "get-media-meta-data", Optional.of(List.of()), _hookSecuritySource), _httpRes); @@ -2290,7 +2510,7 @@ public class Library implements _httpRes = sdkConfiguration.hooks() .afterError( new AfterErrorContextImpl( - "get-meta-data-by-rating-key", + "get-media-meta-data", Optional.of(List.of()), _hookSecuritySource), Optional.empty(), @@ -2300,20 +2520,20 @@ public class Library implements .headers() .firstValue("Content-Type") .orElse("application/octet-stream"); - GetMetaDataByRatingKeyResponse.Builder _resBuilder = - GetMetaDataByRatingKeyResponse + GetMediaMetaDataResponse.Builder _resBuilder = + GetMediaMetaDataResponse .builder() .contentType(_contentType) .statusCode(_httpRes.statusCode()) .rawResponse(_httpRes); - GetMetaDataByRatingKeyResponse _res = _resBuilder.build(); + GetMediaMetaDataResponse _res = _resBuilder.build(); if (Utils.statusCodeMatches(_httpRes.statusCode(), "200")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { - GetMetaDataByRatingKeyResponseBody _out = Utils.mapper().readValue( + GetMediaMetaDataResponseBody _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), - new TypeReference() {}); + new TypeReference() {}); _res.withObject(Optional.ofNullable(_out)); return _res; } else { @@ -2326,9 +2546,9 @@ public class Library implements } if (Utils.statusCodeMatches(_httpRes.statusCode(), "400")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { - GetMetaDataByRatingKeyBadRequest _out = Utils.mapper().readValue( + GetMediaMetaDataBadRequest _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), - new TypeReference() {}); + new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; @@ -2342,9 +2562,9 @@ public class Library implements } if (Utils.statusCodeMatches(_httpRes.statusCode(), "401")) { if (Utils.contentTypeMatches(_contentType, "application/json")) { - GetMetaDataByRatingKeyUnauthorized _out = Utils.mapper().readValue( + GetMediaMetaDataUnauthorized _out = Utils.mapper().readValue( Utils.toUtf8AndClose(_httpRes.body()), - new TypeReference() {}); + new TypeReference() {}); _out.withRawResponse(Optional.ofNullable(_httpRes)); throw _out; @@ -2356,7 +2576,7 @@ public class Library implements Utils.extractByteArrayFromBody(_httpRes)); } } - if (Utils.statusCodeMatches(_httpRes.statusCode(), "4XX")) { + if (Utils.statusCodeMatches(_httpRes.statusCode(), "404", "4XX")) { // no content throw new SDKError( _httpRes, @@ -2584,7 +2804,7 @@ public class Library implements * Get Top Watched Content * This endpoint will return the top watched content from libraries of a certain type * - * @param type The type of media to retrieve. + * @param type The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season @@ -2605,7 +2825,7 @@ public class Library implements * * @param includeGuids Adds the Guids object to the response - * @param type The type of media to retrieve. + * @param type The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/src/main/java/dev/plexapi/sdk/Playlists.java b/src/main/java/dev/plexapi/sdk/Playlists.java index 1ff2558b..4657acf7 100644 --- a/src/main/java/dev/plexapi/sdk/Playlists.java +++ b/src/main/java/dev/plexapi/sdk/Playlists.java @@ -976,7 +976,7 @@ public class Playlists implements * Note that for dumb playlists, items have a `playlistItemID` attribute which is used for deleting or moving items. * * @param playlistID the ID of the playlist - * @param type The type of media to retrieve. + * @param type The type of media to retrieve or filter by. 1 = movie 2 = show 3 = season diff --git a/src/main/java/dev/plexapi/sdk/SDKConfiguration.java b/src/main/java/dev/plexapi/sdk/SDKConfiguration.java index 1a1f46ea..df030e9d 100644 --- a/src/main/java/dev/plexapi/sdk/SDKConfiguration.java +++ b/src/main/java/dev/plexapi/sdk/SDKConfiguration.java @@ -43,8 +43,8 @@ class SDKConfiguration { } }; private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "0.0.3"; - public static final String SDK_VERSION = "0.11.5"; - public static final String GEN_VERSION = "2.503.2"; + public static final String SDK_VERSION = "0.11.6"; + public static final String GEN_VERSION = "2.506.0"; private static final String BASE_PACKAGE = "dev.plexapi.sdk"; public static final String USER_AGENT = String.format("speakeasy-sdk/%s %s %s %s %s", diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryBadRequest.java b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryBadRequest.java new file mode 100644 index 00000000..24afcb77 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryBadRequest.java @@ -0,0 +1,173 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.errors; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.io.InputStream; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + +/** + * GetActorsLibraryBadRequest - Bad Request - A parameter was not specified, or was specified incorrectly. + */ +@SuppressWarnings("serial") +public class GetActorsLibraryBadRequest extends RuntimeException { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("errors") + private Optional> errors; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("RawResponse") + private Optional> rawResponse; + + @JsonCreator + public GetActorsLibraryBadRequest( + @JsonProperty("errors") Optional> errors, + @JsonProperty("RawResponse") Optional> rawResponse) { + Utils.checkNotNull(errors, "errors"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.errors = errors; + this.rawResponse = rawResponse; + } + + public GetActorsLibraryBadRequest() { + this(Optional.empty(), Optional.empty()); + } + + @SuppressWarnings("unchecked") + public Optional> errors(){ + return (Optional>) errors; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + @SuppressWarnings("unchecked") + public Optional> rawResponse(){ + return (Optional>) rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetActorsLibraryBadRequest withErrors(List errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = Optional.ofNullable(errors); + return this; + } + + public GetActorsLibraryBadRequest withErrors(Optional> errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = errors; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetActorsLibraryBadRequest withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = Optional.ofNullable(rawResponse); + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetActorsLibraryBadRequest withRawResponse(Optional> rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetActorsLibraryBadRequest other = (GetActorsLibraryBadRequest) o; + return + Objects.deepEquals(this.errors, other.errors) && + Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + errors, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(GetActorsLibraryBadRequest.class, + "errors", errors, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private Optional> errors = Optional.empty(); + + private Optional> rawResponse; + + private Builder() { + // force use of static builder() method + } + + public Builder errors(List errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = Optional.ofNullable(errors); + return this; + } + + public Builder errors(Optional> errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = errors; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = Optional.ofNullable(rawResponse); + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(Optional> rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public GetActorsLibraryBadRequest build() { + return new GetActorsLibraryBadRequest( + errors, + rawResponse); + } + } +} diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyErrors.java b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryErrors.java similarity index 85% rename from src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyErrors.java rename to src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryErrors.java index 0190dcf7..00c63da3 100644 --- a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyErrors.java +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryErrors.java @@ -18,7 +18,7 @@ import java.util.Objects; import java.util.Optional; -public class GetMetaDataByRatingKeyErrors { +public class GetActorsLibraryErrors { @JsonInclude(Include.NON_ABSENT) @JsonProperty("code") @@ -33,7 +33,7 @@ public class GetMetaDataByRatingKeyErrors { private Optional status; @JsonCreator - public GetMetaDataByRatingKeyErrors( + public GetActorsLibraryErrors( @JsonProperty("code") Optional code, @JsonProperty("message") Optional message, @JsonProperty("status") Optional status) { @@ -45,7 +45,7 @@ public class GetMetaDataByRatingKeyErrors { this.status = status; } - public GetMetaDataByRatingKeyErrors() { + public GetActorsLibraryErrors() { this(Optional.empty(), Optional.empty(), Optional.empty()); } @@ -68,37 +68,37 @@ public class GetMetaDataByRatingKeyErrors { return new Builder(); } - public GetMetaDataByRatingKeyErrors withCode(int code) { + public GetActorsLibraryErrors withCode(int code) { Utils.checkNotNull(code, "code"); this.code = Optional.ofNullable(code); return this; } - public GetMetaDataByRatingKeyErrors withCode(Optional code) { + public GetActorsLibraryErrors withCode(Optional code) { Utils.checkNotNull(code, "code"); this.code = code; return this; } - public GetMetaDataByRatingKeyErrors withMessage(String message) { + public GetActorsLibraryErrors withMessage(String message) { Utils.checkNotNull(message, "message"); this.message = Optional.ofNullable(message); return this; } - public GetMetaDataByRatingKeyErrors withMessage(Optional message) { + public GetActorsLibraryErrors withMessage(Optional message) { Utils.checkNotNull(message, "message"); this.message = message; return this; } - public GetMetaDataByRatingKeyErrors withStatus(int status) { + public GetActorsLibraryErrors withStatus(int status) { Utils.checkNotNull(status, "status"); this.status = Optional.ofNullable(status); return this; } - public GetMetaDataByRatingKeyErrors withStatus(Optional status) { + public GetActorsLibraryErrors withStatus(Optional status) { Utils.checkNotNull(status, "status"); this.status = status; return this; @@ -112,7 +112,7 @@ public class GetMetaDataByRatingKeyErrors { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyErrors other = (GetMetaDataByRatingKeyErrors) o; + GetActorsLibraryErrors other = (GetActorsLibraryErrors) o; return Objects.deepEquals(this.code, other.code) && Objects.deepEquals(this.message, other.message) && @@ -129,7 +129,7 @@ public class GetMetaDataByRatingKeyErrors { @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyErrors.class, + return Utils.toString(GetActorsLibraryErrors.class, "code", code, "message", message, "status", status); @@ -183,8 +183,8 @@ public class GetMetaDataByRatingKeyErrors { return this; } - public GetMetaDataByRatingKeyErrors build() { - return new GetMetaDataByRatingKeyErrors( + public GetActorsLibraryErrors build() { + return new GetActorsLibraryErrors( code, message, status); diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyLibraryErrors.java b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryLibraryErrors.java similarity index 83% rename from src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyLibraryErrors.java rename to src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryLibraryErrors.java index 793be7d3..457c816b 100644 --- a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyLibraryErrors.java +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryLibraryErrors.java @@ -18,7 +18,7 @@ import java.util.Objects; import java.util.Optional; -public class GetMetaDataByRatingKeyLibraryErrors { +public class GetActorsLibraryLibraryErrors { @JsonInclude(Include.NON_ABSENT) @JsonProperty("code") @@ -33,7 +33,7 @@ public class GetMetaDataByRatingKeyLibraryErrors { private Optional status; @JsonCreator - public GetMetaDataByRatingKeyLibraryErrors( + public GetActorsLibraryLibraryErrors( @JsonProperty("code") Optional code, @JsonProperty("message") Optional message, @JsonProperty("status") Optional status) { @@ -45,7 +45,7 @@ public class GetMetaDataByRatingKeyLibraryErrors { this.status = status; } - public GetMetaDataByRatingKeyLibraryErrors() { + public GetActorsLibraryLibraryErrors() { this(Optional.empty(), Optional.empty(), Optional.empty()); } @@ -68,37 +68,37 @@ public class GetMetaDataByRatingKeyLibraryErrors { return new Builder(); } - public GetMetaDataByRatingKeyLibraryErrors withCode(int code) { + public GetActorsLibraryLibraryErrors withCode(int code) { Utils.checkNotNull(code, "code"); this.code = Optional.ofNullable(code); return this; } - public GetMetaDataByRatingKeyLibraryErrors withCode(Optional code) { + public GetActorsLibraryLibraryErrors withCode(Optional code) { Utils.checkNotNull(code, "code"); this.code = code; return this; } - public GetMetaDataByRatingKeyLibraryErrors withMessage(String message) { + public GetActorsLibraryLibraryErrors withMessage(String message) { Utils.checkNotNull(message, "message"); this.message = Optional.ofNullable(message); return this; } - public GetMetaDataByRatingKeyLibraryErrors withMessage(Optional message) { + public GetActorsLibraryLibraryErrors withMessage(Optional message) { Utils.checkNotNull(message, "message"); this.message = message; return this; } - public GetMetaDataByRatingKeyLibraryErrors withStatus(int status) { + public GetActorsLibraryLibraryErrors withStatus(int status) { Utils.checkNotNull(status, "status"); this.status = Optional.ofNullable(status); return this; } - public GetMetaDataByRatingKeyLibraryErrors withStatus(Optional status) { + public GetActorsLibraryLibraryErrors withStatus(Optional status) { Utils.checkNotNull(status, "status"); this.status = status; return this; @@ -112,7 +112,7 @@ public class GetMetaDataByRatingKeyLibraryErrors { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyLibraryErrors other = (GetMetaDataByRatingKeyLibraryErrors) o; + GetActorsLibraryLibraryErrors other = (GetActorsLibraryLibraryErrors) o; return Objects.deepEquals(this.code, other.code) && Objects.deepEquals(this.message, other.message) && @@ -129,7 +129,7 @@ public class GetMetaDataByRatingKeyLibraryErrors { @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyLibraryErrors.class, + return Utils.toString(GetActorsLibraryLibraryErrors.class, "code", code, "message", message, "status", status); @@ -183,8 +183,8 @@ public class GetMetaDataByRatingKeyLibraryErrors { return this; } - public GetMetaDataByRatingKeyLibraryErrors build() { - return new GetMetaDataByRatingKeyLibraryErrors( + public GetActorsLibraryLibraryErrors build() { + return new GetActorsLibraryLibraryErrors( code, message, status); diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryUnauthorized.java b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryUnauthorized.java new file mode 100644 index 00000000..f8db539f --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetActorsLibraryUnauthorized.java @@ -0,0 +1,173 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.errors; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.io.InputStream; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + +/** + * GetActorsLibraryUnauthorized - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + */ +@SuppressWarnings("serial") +public class GetActorsLibraryUnauthorized extends RuntimeException { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("errors") + private Optional> errors; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("RawResponse") + private Optional> rawResponse; + + @JsonCreator + public GetActorsLibraryUnauthorized( + @JsonProperty("errors") Optional> errors, + @JsonProperty("RawResponse") Optional> rawResponse) { + Utils.checkNotNull(errors, "errors"); + Utils.checkNotNull(rawResponse, "rawResponse"); + this.errors = errors; + this.rawResponse = rawResponse; + } + + public GetActorsLibraryUnauthorized() { + this(Optional.empty(), Optional.empty()); + } + + @SuppressWarnings("unchecked") + public Optional> errors(){ + return (Optional>) errors; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + @SuppressWarnings("unchecked") + public Optional> rawResponse(){ + return (Optional>) rawResponse; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetActorsLibraryUnauthorized withErrors(List errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = Optional.ofNullable(errors); + return this; + } + + public GetActorsLibraryUnauthorized withErrors(Optional> errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = errors; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetActorsLibraryUnauthorized withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = Optional.ofNullable(rawResponse); + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetActorsLibraryUnauthorized withRawResponse(Optional> rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetActorsLibraryUnauthorized other = (GetActorsLibraryUnauthorized) o; + return + Objects.deepEquals(this.errors, other.errors) && + Objects.deepEquals(this.rawResponse, other.rawResponse); + } + + @Override + public int hashCode() { + return java.util.Objects.hash( + errors, + rawResponse); + } + + @Override + public String toString() { + return Utils.toString(GetActorsLibraryUnauthorized.class, + "errors", errors, + "rawResponse", rawResponse); + } + + public final static class Builder { + + private Optional> errors = Optional.empty(); + + private Optional> rawResponse; + + private Builder() { + // force use of static builder() method + } + + public Builder errors(List errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = Optional.ofNullable(errors); + return this; + } + + public Builder errors(Optional> errors) { + Utils.checkNotNull(errors, "errors"); + this.errors = errors; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = Optional.ofNullable(rawResponse); + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(Optional> rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + public GetActorsLibraryUnauthorized build() { + return new GetActorsLibraryUnauthorized( + errors, + rawResponse); + } + } +} diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyBadRequest.java b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataBadRequest.java similarity index 73% rename from src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyBadRequest.java rename to src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataBadRequest.java index 41ced3e3..2691abbc 100644 --- a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyBadRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataBadRequest.java @@ -19,14 +19,14 @@ import java.util.Objects; import java.util.Optional; /** - * GetMetaDataByRatingKeyBadRequest - Bad Request - A parameter was not specified, or was specified incorrectly. + * GetMediaMetaDataBadRequest - Bad Request - A parameter was not specified, or was specified incorrectly. */ @SuppressWarnings("serial") -public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { +public class GetMediaMetaDataBadRequest extends RuntimeException { @JsonInclude(Include.NON_ABSENT) @JsonProperty("errors") - private Optional> errors; + private Optional> errors; /** * Raw HTTP response; suitable for custom response parsing @@ -36,8 +36,8 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { private Optional> rawResponse; @JsonCreator - public GetMetaDataByRatingKeyBadRequest( - @JsonProperty("errors") Optional> errors, + public GetMediaMetaDataBadRequest( + @JsonProperty("errors") Optional> errors, @JsonProperty("RawResponse") Optional> rawResponse) { Utils.checkNotNull(errors, "errors"); Utils.checkNotNull(rawResponse, "rawResponse"); @@ -45,13 +45,13 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { this.rawResponse = rawResponse; } - public GetMetaDataByRatingKeyBadRequest() { + public GetMediaMetaDataBadRequest() { this(Optional.empty(), Optional.empty()); } @SuppressWarnings("unchecked") - public Optional> errors(){ - return (Optional>) errors; + public Optional> errors(){ + return (Optional>) errors; } /** @@ -66,13 +66,13 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { return new Builder(); } - public GetMetaDataByRatingKeyBadRequest withErrors(List errors) { + public GetMediaMetaDataBadRequest withErrors(List errors) { Utils.checkNotNull(errors, "errors"); this.errors = Optional.ofNullable(errors); return this; } - public GetMetaDataByRatingKeyBadRequest withErrors(Optional> errors) { + public GetMediaMetaDataBadRequest withErrors(Optional> errors) { Utils.checkNotNull(errors, "errors"); this.errors = errors; return this; @@ -81,7 +81,7 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { /** * Raw HTTP response; suitable for custom response parsing */ - public GetMetaDataByRatingKeyBadRequest withRawResponse(HttpResponse rawResponse) { + public GetMediaMetaDataBadRequest withRawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = Optional.ofNullable(rawResponse); return this; @@ -90,7 +90,7 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { /** * Raw HTTP response; suitable for custom response parsing */ - public GetMetaDataByRatingKeyBadRequest withRawResponse(Optional> rawResponse) { + public GetMediaMetaDataBadRequest withRawResponse(Optional> rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; @@ -104,7 +104,7 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyBadRequest other = (GetMetaDataByRatingKeyBadRequest) o; + GetMediaMetaDataBadRequest other = (GetMediaMetaDataBadRequest) o; return Objects.deepEquals(this.errors, other.errors) && Objects.deepEquals(this.rawResponse, other.rawResponse); @@ -119,14 +119,14 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyBadRequest.class, + return Utils.toString(GetMediaMetaDataBadRequest.class, "errors", errors, "rawResponse", rawResponse); } public final static class Builder { - private Optional> errors = Optional.empty(); + private Optional> errors = Optional.empty(); private Optional> rawResponse; @@ -134,13 +134,13 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { // force use of static builder() method } - public Builder errors(List errors) { + public Builder errors(List errors) { Utils.checkNotNull(errors, "errors"); this.errors = Optional.ofNullable(errors); return this; } - public Builder errors(Optional> errors) { + public Builder errors(Optional> errors) { Utils.checkNotNull(errors, "errors"); this.errors = errors; return this; @@ -164,8 +164,8 @@ public class GetMetaDataByRatingKeyBadRequest extends RuntimeException { return this; } - public GetMetaDataByRatingKeyBadRequest build() { - return new GetMetaDataByRatingKeyBadRequest( + public GetMediaMetaDataBadRequest build() { + return new GetMediaMetaDataBadRequest( errors, rawResponse); } diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataErrors.java b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataErrors.java new file mode 100644 index 00000000..d5cd4709 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataErrors.java @@ -0,0 +1,194 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.errors; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Integer; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; + + +public class GetMediaMetaDataErrors { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("code") + private Optional code; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("message") + private Optional message; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private Optional status; + + @JsonCreator + public GetMediaMetaDataErrors( + @JsonProperty("code") Optional code, + @JsonProperty("message") Optional message, + @JsonProperty("status") Optional status) { + Utils.checkNotNull(code, "code"); + Utils.checkNotNull(message, "message"); + Utils.checkNotNull(status, "status"); + this.code = code; + this.message = message; + this.status = status; + } + + public GetMediaMetaDataErrors() { + this(Optional.empty(), Optional.empty(), Optional.empty()); + } + + @JsonIgnore + public Optional code() { + return code; + } + + @JsonIgnore + public Optional message() { + return message; + } + + @JsonIgnore + public Optional status() { + return status; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetMediaMetaDataErrors withCode(int code) { + Utils.checkNotNull(code, "code"); + this.code = Optional.ofNullable(code); + return this; + } + + public GetMediaMetaDataErrors withCode(Optional code) { + Utils.checkNotNull(code, "code"); + this.code = code; + return this; + } + + public GetMediaMetaDataErrors withMessage(String message) { + Utils.checkNotNull(message, "message"); + this.message = Optional.ofNullable(message); + return this; + } + + public GetMediaMetaDataErrors withMessage(Optional message) { + Utils.checkNotNull(message, "message"); + this.message = message; + return this; + } + + public GetMediaMetaDataErrors withStatus(int status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public GetMediaMetaDataErrors withStatus(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataErrors other = (GetMediaMetaDataErrors) o; + return + Objects.deepEquals(this.code, other.code) && + Objects.deepEquals(this.message, other.message) && + Objects.deepEquals(this.status, other.status); + } + + @Override + public int hashCode() { + return Objects.hash( + code, + message, + status); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataErrors.class, + "code", code, + "message", message, + "status", status); + } + + public final static class Builder { + + private Optional code = Optional.empty(); + + private Optional message = Optional.empty(); + + private Optional status = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder code(int code) { + Utils.checkNotNull(code, "code"); + this.code = Optional.ofNullable(code); + return this; + } + + public Builder code(Optional code) { + Utils.checkNotNull(code, "code"); + this.code = code; + return this; + } + + public Builder message(String message) { + Utils.checkNotNull(message, "message"); + this.message = Optional.ofNullable(message); + return this; + } + + public Builder message(Optional message) { + Utils.checkNotNull(message, "message"); + this.message = message; + return this; + } + + public Builder status(int status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public Builder status(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public GetMediaMetaDataErrors build() { + return new GetMediaMetaDataErrors( + code, + message, + status); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataLibraryErrors.java b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataLibraryErrors.java new file mode 100644 index 00000000..bb21d512 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataLibraryErrors.java @@ -0,0 +1,194 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.errors; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Integer; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; + + +public class GetMediaMetaDataLibraryErrors { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("code") + private Optional code; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("message") + private Optional message; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private Optional status; + + @JsonCreator + public GetMediaMetaDataLibraryErrors( + @JsonProperty("code") Optional code, + @JsonProperty("message") Optional message, + @JsonProperty("status") Optional status) { + Utils.checkNotNull(code, "code"); + Utils.checkNotNull(message, "message"); + Utils.checkNotNull(status, "status"); + this.code = code; + this.message = message; + this.status = status; + } + + public GetMediaMetaDataLibraryErrors() { + this(Optional.empty(), Optional.empty(), Optional.empty()); + } + + @JsonIgnore + public Optional code() { + return code; + } + + @JsonIgnore + public Optional message() { + return message; + } + + @JsonIgnore + public Optional status() { + return status; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetMediaMetaDataLibraryErrors withCode(int code) { + Utils.checkNotNull(code, "code"); + this.code = Optional.ofNullable(code); + return this; + } + + public GetMediaMetaDataLibraryErrors withCode(Optional code) { + Utils.checkNotNull(code, "code"); + this.code = code; + return this; + } + + public GetMediaMetaDataLibraryErrors withMessage(String message) { + Utils.checkNotNull(message, "message"); + this.message = Optional.ofNullable(message); + return this; + } + + public GetMediaMetaDataLibraryErrors withMessage(Optional message) { + Utils.checkNotNull(message, "message"); + this.message = message; + return this; + } + + public GetMediaMetaDataLibraryErrors withStatus(int status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public GetMediaMetaDataLibraryErrors withStatus(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataLibraryErrors other = (GetMediaMetaDataLibraryErrors) o; + return + Objects.deepEquals(this.code, other.code) && + Objects.deepEquals(this.message, other.message) && + Objects.deepEquals(this.status, other.status); + } + + @Override + public int hashCode() { + return Objects.hash( + code, + message, + status); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataLibraryErrors.class, + "code", code, + "message", message, + "status", status); + } + + public final static class Builder { + + private Optional code = Optional.empty(); + + private Optional message = Optional.empty(); + + private Optional status = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder code(int code) { + Utils.checkNotNull(code, "code"); + this.code = Optional.ofNullable(code); + return this; + } + + public Builder code(Optional code) { + Utils.checkNotNull(code, "code"); + this.code = code; + return this; + } + + public Builder message(String message) { + Utils.checkNotNull(message, "message"); + this.message = Optional.ofNullable(message); + return this; + } + + public Builder message(Optional message) { + Utils.checkNotNull(message, "message"); + this.message = message; + return this; + } + + public Builder status(int status) { + Utils.checkNotNull(status, "status"); + this.status = Optional.ofNullable(status); + return this; + } + + public Builder status(Optional status) { + Utils.checkNotNull(status, "status"); + this.status = status; + return this; + } + + public GetMediaMetaDataLibraryErrors build() { + return new GetMediaMetaDataLibraryErrors( + code, + message, + status); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyUnauthorized.java b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataUnauthorized.java similarity index 72% rename from src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyUnauthorized.java rename to src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataUnauthorized.java index 7d1557c0..b74a7db7 100644 --- a/src/main/java/dev/plexapi/sdk/models/errors/GetMetaDataByRatingKeyUnauthorized.java +++ b/src/main/java/dev/plexapi/sdk/models/errors/GetMediaMetaDataUnauthorized.java @@ -19,14 +19,14 @@ import java.util.Objects; import java.util.Optional; /** - * GetMetaDataByRatingKeyUnauthorized - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + * GetMediaMetaDataUnauthorized - Unauthorized - Returned if the X-Plex-Token is missing from the header or query. */ @SuppressWarnings("serial") -public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { +public class GetMediaMetaDataUnauthorized extends RuntimeException { @JsonInclude(Include.NON_ABSENT) @JsonProperty("errors") - private Optional> errors; + private Optional> errors; /** * Raw HTTP response; suitable for custom response parsing @@ -36,8 +36,8 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { private Optional> rawResponse; @JsonCreator - public GetMetaDataByRatingKeyUnauthorized( - @JsonProperty("errors") Optional> errors, + public GetMediaMetaDataUnauthorized( + @JsonProperty("errors") Optional> errors, @JsonProperty("RawResponse") Optional> rawResponse) { Utils.checkNotNull(errors, "errors"); Utils.checkNotNull(rawResponse, "rawResponse"); @@ -45,13 +45,13 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { this.rawResponse = rawResponse; } - public GetMetaDataByRatingKeyUnauthorized() { + public GetMediaMetaDataUnauthorized() { this(Optional.empty(), Optional.empty()); } @SuppressWarnings("unchecked") - public Optional> errors(){ - return (Optional>) errors; + public Optional> errors(){ + return (Optional>) errors; } /** @@ -66,13 +66,13 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { return new Builder(); } - public GetMetaDataByRatingKeyUnauthorized withErrors(List errors) { + public GetMediaMetaDataUnauthorized withErrors(List errors) { Utils.checkNotNull(errors, "errors"); this.errors = Optional.ofNullable(errors); return this; } - public GetMetaDataByRatingKeyUnauthorized withErrors(Optional> errors) { + public GetMediaMetaDataUnauthorized withErrors(Optional> errors) { Utils.checkNotNull(errors, "errors"); this.errors = errors; return this; @@ -81,7 +81,7 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { /** * Raw HTTP response; suitable for custom response parsing */ - public GetMetaDataByRatingKeyUnauthorized withRawResponse(HttpResponse rawResponse) { + public GetMediaMetaDataUnauthorized withRawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = Optional.ofNullable(rawResponse); return this; @@ -90,7 +90,7 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { /** * Raw HTTP response; suitable for custom response parsing */ - public GetMetaDataByRatingKeyUnauthorized withRawResponse(Optional> rawResponse) { + public GetMediaMetaDataUnauthorized withRawResponse(Optional> rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; @@ -104,7 +104,7 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyUnauthorized other = (GetMetaDataByRatingKeyUnauthorized) o; + GetMediaMetaDataUnauthorized other = (GetMediaMetaDataUnauthorized) o; return Objects.deepEquals(this.errors, other.errors) && Objects.deepEquals(this.rawResponse, other.rawResponse); @@ -119,14 +119,14 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyUnauthorized.class, + return Utils.toString(GetMediaMetaDataUnauthorized.class, "errors", errors, "rawResponse", rawResponse); } public final static class Builder { - private Optional> errors = Optional.empty(); + private Optional> errors = Optional.empty(); private Optional> rawResponse; @@ -134,13 +134,13 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { // force use of static builder() method } - public Builder errors(List errors) { + public Builder errors(List errors) { Utils.checkNotNull(errors, "errors"); this.errors = Optional.ofNullable(errors); return this; } - public Builder errors(Optional> errors) { + public Builder errors(Optional> errors) { Utils.checkNotNull(errors, "errors"); this.errors = errors; return this; @@ -164,8 +164,8 @@ public class GetMetaDataByRatingKeyUnauthorized extends RuntimeException { return this; } - public GetMetaDataByRatingKeyUnauthorized build() { - return new GetMetaDataByRatingKeyUnauthorized( + public GetMediaMetaDataUnauthorized build() { + return new GetMediaMetaDataUnauthorized( errors, rawResponse); } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryDirectory.java b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryDirectory.java new file mode 100644 index 00000000..601eb830 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryDirectory.java @@ -0,0 +1,224 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class GetActorsLibraryDirectory { + + /** + * A fast lookup key for the actor relative url. + */ + @JsonProperty("fastKey") + private String fastKey; + + /** + * URL for the thumbnail image of the actor. + */ + @JsonProperty("thumb") + private String thumb; + + /** + * A unique key representing the actor. + */ + @JsonProperty("key") + private String key; + + /** + * The name of the actor. + */ + @JsonProperty("title") + private String title; + + @JsonCreator + public GetActorsLibraryDirectory( + @JsonProperty("fastKey") String fastKey, + @JsonProperty("thumb") String thumb, + @JsonProperty("key") String key, + @JsonProperty("title") String title) { + Utils.checkNotNull(fastKey, "fastKey"); + Utils.checkNotNull(thumb, "thumb"); + Utils.checkNotNull(key, "key"); + Utils.checkNotNull(title, "title"); + this.fastKey = fastKey; + this.thumb = thumb; + this.key = key; + this.title = title; + } + + /** + * A fast lookup key for the actor relative url. + */ + @JsonIgnore + public String fastKey() { + return fastKey; + } + + /** + * URL for the thumbnail image of the actor. + */ + @JsonIgnore + public String thumb() { + return thumb; + } + + /** + * A unique key representing the actor. + */ + @JsonIgnore + public String key() { + return key; + } + + /** + * The name of the actor. + */ + @JsonIgnore + public String title() { + return title; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * A fast lookup key for the actor relative url. + */ + public GetActorsLibraryDirectory withFastKey(String fastKey) { + Utils.checkNotNull(fastKey, "fastKey"); + this.fastKey = fastKey; + return this; + } + + /** + * URL for the thumbnail image of the actor. + */ + public GetActorsLibraryDirectory withThumb(String thumb) { + Utils.checkNotNull(thumb, "thumb"); + this.thumb = thumb; + return this; + } + + /** + * A unique key representing the actor. + */ + public GetActorsLibraryDirectory withKey(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * The name of the actor. + */ + public GetActorsLibraryDirectory withTitle(String title) { + Utils.checkNotNull(title, "title"); + this.title = title; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetActorsLibraryDirectory other = (GetActorsLibraryDirectory) o; + return + Objects.deepEquals(this.fastKey, other.fastKey) && + Objects.deepEquals(this.thumb, other.thumb) && + Objects.deepEquals(this.key, other.key) && + Objects.deepEquals(this.title, other.title); + } + + @Override + public int hashCode() { + return Objects.hash( + fastKey, + thumb, + key, + title); + } + + @Override + public String toString() { + return Utils.toString(GetActorsLibraryDirectory.class, + "fastKey", fastKey, + "thumb", thumb, + "key", key, + "title", title); + } + + public final static class Builder { + + private String fastKey; + + private String thumb; + + private String key; + + private String title; + + private Builder() { + // force use of static builder() method + } + + /** + * A fast lookup key for the actor relative url. + */ + public Builder fastKey(String fastKey) { + Utils.checkNotNull(fastKey, "fastKey"); + this.fastKey = fastKey; + return this; + } + + /** + * URL for the thumbnail image of the actor. + */ + public Builder thumb(String thumb) { + Utils.checkNotNull(thumb, "thumb"); + this.thumb = thumb; + return this; + } + + /** + * A unique key representing the actor. + */ + public Builder key(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * The name of the actor. + */ + public Builder title(String title) { + Utils.checkNotNull(title, "title"); + this.title = title; + return this; + } + + public GetActorsLibraryDirectory build() { + return new GetActorsLibraryDirectory( + fastKey, + thumb, + key, + title); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryMediaContainer.java b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryMediaContainer.java new file mode 100644 index 00000000..c1528ce8 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryMediaContainer.java @@ -0,0 +1,625 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + + +public class GetActorsLibraryMediaContainer { + + @JsonProperty("size") + private double size; + + /** + * Indicates whether syncing is allowed. + */ + @JsonProperty("allowSync") + private boolean allowSync; + + /** + * URL for the background artwork of the media container. + */ + @JsonProperty("art") + private String art; + + /** + * An plugin identifier for the media container. + */ + @JsonProperty("identifier") + private String identifier; + + /** + * The prefix used for media tag resource paths. + */ + @JsonProperty("mediaTagPrefix") + private String mediaTagPrefix; + + /** + * The version number for media tags. + */ + @JsonProperty("mediaTagVersion") + private long mediaTagVersion; + + /** + * Specifies whether caching is disabled. + */ + @JsonProperty("nocache") + private boolean nocache; + + /** + * URL for the thumbnail image of the media container. + */ + @JsonProperty("thumb") + private String thumb; + + /** + * The primary title of the media container. + */ + @JsonProperty("title1") + private String title1; + + /** + * The secondary title of the media container. + */ + @JsonProperty("title2") + private String title2; + + /** + * Identifier for the view group layout. + */ + @JsonProperty("viewGroup") + private String viewGroup; + + /** + * Identifier for the view mode. + */ + @JsonProperty("viewMode") + private String viewMode; + + /** + * An array of actor entries for media items. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Directory") + private Optional> directory; + + @JsonCreator + public GetActorsLibraryMediaContainer( + @JsonProperty("size") double size, + @JsonProperty("allowSync") boolean allowSync, + @JsonProperty("art") String art, + @JsonProperty("identifier") String identifier, + @JsonProperty("mediaTagPrefix") String mediaTagPrefix, + @JsonProperty("mediaTagVersion") long mediaTagVersion, + @JsonProperty("nocache") boolean nocache, + @JsonProperty("thumb") String thumb, + @JsonProperty("title1") String title1, + @JsonProperty("title2") String title2, + @JsonProperty("viewGroup") String viewGroup, + @JsonProperty("viewMode") String viewMode, + @JsonProperty("Directory") Optional> directory) { + Utils.checkNotNull(size, "size"); + Utils.checkNotNull(allowSync, "allowSync"); + Utils.checkNotNull(art, "art"); + Utils.checkNotNull(identifier, "identifier"); + Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); + Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); + Utils.checkNotNull(nocache, "nocache"); + Utils.checkNotNull(thumb, "thumb"); + Utils.checkNotNull(title1, "title1"); + Utils.checkNotNull(title2, "title2"); + Utils.checkNotNull(viewGroup, "viewGroup"); + Utils.checkNotNull(viewMode, "viewMode"); + Utils.checkNotNull(directory, "directory"); + this.size = size; + this.allowSync = allowSync; + this.art = art; + this.identifier = identifier; + this.mediaTagPrefix = mediaTagPrefix; + this.mediaTagVersion = mediaTagVersion; + this.nocache = nocache; + this.thumb = thumb; + this.title1 = title1; + this.title2 = title2; + this.viewGroup = viewGroup; + this.viewMode = viewMode; + this.directory = directory; + } + + public GetActorsLibraryMediaContainer( + double size, + boolean allowSync, + String art, + String identifier, + String mediaTagPrefix, + long mediaTagVersion, + boolean nocache, + String thumb, + String title1, + String title2, + String viewGroup, + String viewMode) { + this(size, allowSync, art, identifier, mediaTagPrefix, mediaTagVersion, nocache, thumb, title1, title2, viewGroup, viewMode, Optional.empty()); + } + + @JsonIgnore + public double size() { + return size; + } + + /** + * Indicates whether syncing is allowed. + */ + @JsonIgnore + public boolean allowSync() { + return allowSync; + } + + /** + * URL for the background artwork of the media container. + */ + @JsonIgnore + public String art() { + return art; + } + + /** + * An plugin identifier for the media container. + */ + @JsonIgnore + public String identifier() { + return identifier; + } + + /** + * The prefix used for media tag resource paths. + */ + @JsonIgnore + public String mediaTagPrefix() { + return mediaTagPrefix; + } + + /** + * The version number for media tags. + */ + @JsonIgnore + public long mediaTagVersion() { + return mediaTagVersion; + } + + /** + * Specifies whether caching is disabled. + */ + @JsonIgnore + public boolean nocache() { + return nocache; + } + + /** + * URL for the thumbnail image of the media container. + */ + @JsonIgnore + public String thumb() { + return thumb; + } + + /** + * The primary title of the media container. + */ + @JsonIgnore + public String title1() { + return title1; + } + + /** + * The secondary title of the media container. + */ + @JsonIgnore + public String title2() { + return title2; + } + + /** + * Identifier for the view group layout. + */ + @JsonIgnore + public String viewGroup() { + return viewGroup; + } + + /** + * Identifier for the view mode. + */ + @JsonIgnore + public String viewMode() { + return viewMode; + } + + /** + * An array of actor entries for media items. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> directory() { + return (Optional>) directory; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetActorsLibraryMediaContainer withSize(double size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + /** + * Indicates whether syncing is allowed. + */ + public GetActorsLibraryMediaContainer withAllowSync(boolean allowSync) { + Utils.checkNotNull(allowSync, "allowSync"); + this.allowSync = allowSync; + return this; + } + + /** + * URL for the background artwork of the media container. + */ + public GetActorsLibraryMediaContainer withArt(String art) { + Utils.checkNotNull(art, "art"); + this.art = art; + return this; + } + + /** + * An plugin identifier for the media container. + */ + public GetActorsLibraryMediaContainer withIdentifier(String identifier) { + Utils.checkNotNull(identifier, "identifier"); + this.identifier = identifier; + return this; + } + + /** + * The prefix used for media tag resource paths. + */ + public GetActorsLibraryMediaContainer withMediaTagPrefix(String mediaTagPrefix) { + Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); + this.mediaTagPrefix = mediaTagPrefix; + return this; + } + + /** + * The version number for media tags. + */ + public GetActorsLibraryMediaContainer withMediaTagVersion(long mediaTagVersion) { + Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); + this.mediaTagVersion = mediaTagVersion; + return this; + } + + /** + * Specifies whether caching is disabled. + */ + public GetActorsLibraryMediaContainer withNocache(boolean nocache) { + Utils.checkNotNull(nocache, "nocache"); + this.nocache = nocache; + return this; + } + + /** + * URL for the thumbnail image of the media container. + */ + public GetActorsLibraryMediaContainer withThumb(String thumb) { + Utils.checkNotNull(thumb, "thumb"); + this.thumb = thumb; + return this; + } + + /** + * The primary title of the media container. + */ + public GetActorsLibraryMediaContainer withTitle1(String title1) { + Utils.checkNotNull(title1, "title1"); + this.title1 = title1; + return this; + } + + /** + * The secondary title of the media container. + */ + public GetActorsLibraryMediaContainer withTitle2(String title2) { + Utils.checkNotNull(title2, "title2"); + this.title2 = title2; + return this; + } + + /** + * Identifier for the view group layout. + */ + public GetActorsLibraryMediaContainer withViewGroup(String viewGroup) { + Utils.checkNotNull(viewGroup, "viewGroup"); + this.viewGroup = viewGroup; + return this; + } + + /** + * Identifier for the view mode. + */ + public GetActorsLibraryMediaContainer withViewMode(String viewMode) { + Utils.checkNotNull(viewMode, "viewMode"); + this.viewMode = viewMode; + return this; + } + + /** + * An array of actor entries for media items. + */ + public GetActorsLibraryMediaContainer withDirectory(List directory) { + Utils.checkNotNull(directory, "directory"); + this.directory = Optional.ofNullable(directory); + return this; + } + + /** + * An array of actor entries for media items. + */ + public GetActorsLibraryMediaContainer withDirectory(Optional> directory) { + Utils.checkNotNull(directory, "directory"); + this.directory = directory; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetActorsLibraryMediaContainer other = (GetActorsLibraryMediaContainer) o; + return + Objects.deepEquals(this.size, other.size) && + Objects.deepEquals(this.allowSync, other.allowSync) && + Objects.deepEquals(this.art, other.art) && + Objects.deepEquals(this.identifier, other.identifier) && + Objects.deepEquals(this.mediaTagPrefix, other.mediaTagPrefix) && + Objects.deepEquals(this.mediaTagVersion, other.mediaTagVersion) && + Objects.deepEquals(this.nocache, other.nocache) && + Objects.deepEquals(this.thumb, other.thumb) && + Objects.deepEquals(this.title1, other.title1) && + Objects.deepEquals(this.title2, other.title2) && + Objects.deepEquals(this.viewGroup, other.viewGroup) && + Objects.deepEquals(this.viewMode, other.viewMode) && + Objects.deepEquals(this.directory, other.directory); + } + + @Override + public int hashCode() { + return Objects.hash( + size, + allowSync, + art, + identifier, + mediaTagPrefix, + mediaTagVersion, + nocache, + thumb, + title1, + title2, + viewGroup, + viewMode, + directory); + } + + @Override + public String toString() { + return Utils.toString(GetActorsLibraryMediaContainer.class, + "size", size, + "allowSync", allowSync, + "art", art, + "identifier", identifier, + "mediaTagPrefix", mediaTagPrefix, + "mediaTagVersion", mediaTagVersion, + "nocache", nocache, + "thumb", thumb, + "title1", title1, + "title2", title2, + "viewGroup", viewGroup, + "viewMode", viewMode, + "directory", directory); + } + + public final static class Builder { + + private Double size; + + private Boolean allowSync; + + private String art; + + private String identifier; + + private String mediaTagPrefix; + + private Long mediaTagVersion; + + private Boolean nocache; + + private String thumb; + + private String title1; + + private String title2; + + private String viewGroup; + + private String viewMode; + + private Optional> directory = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder size(double size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + /** + * Indicates whether syncing is allowed. + */ + public Builder allowSync(boolean allowSync) { + Utils.checkNotNull(allowSync, "allowSync"); + this.allowSync = allowSync; + return this; + } + + /** + * URL for the background artwork of the media container. + */ + public Builder art(String art) { + Utils.checkNotNull(art, "art"); + this.art = art; + return this; + } + + /** + * An plugin identifier for the media container. + */ + public Builder identifier(String identifier) { + Utils.checkNotNull(identifier, "identifier"); + this.identifier = identifier; + return this; + } + + /** + * The prefix used for media tag resource paths. + */ + public Builder mediaTagPrefix(String mediaTagPrefix) { + Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); + this.mediaTagPrefix = mediaTagPrefix; + return this; + } + + /** + * The version number for media tags. + */ + public Builder mediaTagVersion(long mediaTagVersion) { + Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); + this.mediaTagVersion = mediaTagVersion; + return this; + } + + /** + * Specifies whether caching is disabled. + */ + public Builder nocache(boolean nocache) { + Utils.checkNotNull(nocache, "nocache"); + this.nocache = nocache; + return this; + } + + /** + * URL for the thumbnail image of the media container. + */ + public Builder thumb(String thumb) { + Utils.checkNotNull(thumb, "thumb"); + this.thumb = thumb; + return this; + } + + /** + * The primary title of the media container. + */ + public Builder title1(String title1) { + Utils.checkNotNull(title1, "title1"); + this.title1 = title1; + return this; + } + + /** + * The secondary title of the media container. + */ + public Builder title2(String title2) { + Utils.checkNotNull(title2, "title2"); + this.title2 = title2; + return this; + } + + /** + * Identifier for the view group layout. + */ + public Builder viewGroup(String viewGroup) { + Utils.checkNotNull(viewGroup, "viewGroup"); + this.viewGroup = viewGroup; + return this; + } + + /** + * Identifier for the view mode. + */ + public Builder viewMode(String viewMode) { + Utils.checkNotNull(viewMode, "viewMode"); + this.viewMode = viewMode; + return this; + } + + /** + * An array of actor entries for media items. + */ + public Builder directory(List directory) { + Utils.checkNotNull(directory, "directory"); + this.directory = Optional.ofNullable(directory); + return this; + } + + /** + * An array of actor entries for media items. + */ + public Builder directory(Optional> directory) { + Utils.checkNotNull(directory, "directory"); + this.directory = directory; + return this; + } + + public GetActorsLibraryMediaContainer build() { + return new GetActorsLibraryMediaContainer( + size, + allowSync, + art, + identifier, + mediaTagPrefix, + mediaTagVersion, + nocache, + thumb, + title1, + title2, + viewGroup, + viewMode, + directory); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryQueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryQueryParamType.java new file mode 100644 index 00000000..9b5e58fa --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryQueryParamType.java @@ -0,0 +1,48 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Objects; +import java.util.Optional; + +/** + * GetActorsLibraryQueryParamType - The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ +public enum GetActorsLibraryQueryParamType { + Movie(1L), + TvShow(2L), + Season(3L), + Episode(4L), + Audio(8L), + Album(9L), + Track(10L); + + @JsonValue + private final long value; + + private GetActorsLibraryQueryParamType(long value) { + this.value = value; + } + + public long value() { + return value; + } + + public static Optional fromValue(long value) { + for (GetActorsLibraryQueryParamType o: GetActorsLibraryQueryParamType.values()) { + if (Objects.deepEquals(o.value, value)) { + return Optional.of(o); + } + } + return Optional.empty(); + } +} diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequest.java new file mode 100644 index 00000000..93797506 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequest.java @@ -0,0 +1,175 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import dev.plexapi.sdk.utils.SpeakeasyMetadata; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Integer; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class GetActorsLibraryRequest { + + /** + * The unique key of the Plex library. + * Note: This is unique in the context of the Plex server. + * + */ + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey") + private int sectionKey; + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=type") + private GetActorsLibraryQueryParamType type; + + @JsonCreator + public GetActorsLibraryRequest( + int sectionKey, + GetActorsLibraryQueryParamType type) { + Utils.checkNotNull(sectionKey, "sectionKey"); + Utils.checkNotNull(type, "type"); + this.sectionKey = sectionKey; + this.type = type; + } + + /** + * The unique key of the Plex library. + * Note: This is unique in the context of the Plex server. + * + */ + @JsonIgnore + public int sectionKey() { + return sectionKey; + } + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + @JsonIgnore + public GetActorsLibraryQueryParamType type() { + return type; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The unique key of the Plex library. + * Note: This is unique in the context of the Plex server. + * + */ + public GetActorsLibraryRequest withSectionKey(int sectionKey) { + Utils.checkNotNull(sectionKey, "sectionKey"); + this.sectionKey = sectionKey; + return this; + } + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + public GetActorsLibraryRequest withType(GetActorsLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetActorsLibraryRequest other = (GetActorsLibraryRequest) o; + return + Objects.deepEquals(this.sectionKey, other.sectionKey) && + Objects.deepEquals(this.type, other.type); + } + + @Override + public int hashCode() { + return Objects.hash( + sectionKey, + type); + } + + @Override + public String toString() { + return Utils.toString(GetActorsLibraryRequest.class, + "sectionKey", sectionKey, + "type", type); + } + + public final static class Builder { + + private Integer sectionKey; + + private GetActorsLibraryQueryParamType type; + + private Builder() { + // force use of static builder() method + } + + /** + * The unique key of the Plex library. + * Note: This is unique in the context of the Plex server. + * + */ + public Builder sectionKey(int sectionKey) { + Utils.checkNotNull(sectionKey, "sectionKey"); + this.sectionKey = sectionKey; + return this; + } + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + public Builder type(GetActorsLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + + public GetActorsLibraryRequest build() { + return new GetActorsLibraryRequest( + sectionKey, + type); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequestBuilder.java b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequestBuilder.java new file mode 100644 index 00000000..2faf19dc --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryRequestBuilder.java @@ -0,0 +1,38 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + +import dev.plexapi.sdk.utils.Utils; +import java.lang.Integer; + +public class GetActorsLibraryRequestBuilder { + + private Integer sectionKey; + private GetActorsLibraryQueryParamType type; + private final SDKMethodInterfaces.MethodCallGetActorsLibrary sdk; + + public GetActorsLibraryRequestBuilder(SDKMethodInterfaces.MethodCallGetActorsLibrary sdk) { + this.sdk = sdk; + } + + public GetActorsLibraryRequestBuilder sectionKey(int sectionKey) { + Utils.checkNotNull(sectionKey, "sectionKey"); + this.sectionKey = sectionKey; + return this; + } + + public GetActorsLibraryRequestBuilder type(GetActorsLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + + public GetActorsLibraryResponse call() throws Exception { + + return sdk.getActorsLibrary( + sectionKey, + type); + } +} diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponse.java b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponse.java new file mode 100644 index 00000000..59049c7e --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponse.java @@ -0,0 +1,251 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import dev.plexapi.sdk.utils.Response; +import dev.plexapi.sdk.utils.Utils; +import java.io.InputStream; +import java.lang.Integer; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.net.http.HttpResponse; +import java.util.Objects; +import java.util.Optional; + + +public class GetActorsLibraryResponse implements Response { + + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * Successful response containing media container data. + */ + private Optional object; + + @JsonCreator + public GetActorsLibraryResponse( + String contentType, + int statusCode, + HttpResponse rawResponse, + Optional object) { + Utils.checkNotNull(contentType, "contentType"); + Utils.checkNotNull(statusCode, "statusCode"); + Utils.checkNotNull(rawResponse, "rawResponse"); + Utils.checkNotNull(object, "object"); + this.contentType = contentType; + this.statusCode = statusCode; + this.rawResponse = rawResponse; + this.object = object; + } + + public GetActorsLibraryResponse( + String contentType, + int statusCode, + HttpResponse rawResponse) { + this(contentType, statusCode, rawResponse, Optional.empty()); + } + + /** + * HTTP response content type for this operation + */ + @JsonIgnore + public String contentType() { + return contentType; + } + + /** + * HTTP response status code for this operation + */ + @JsonIgnore + public int statusCode() { + return statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + @JsonIgnore + public HttpResponse rawResponse() { + return rawResponse; + } + + /** + * Successful response containing media container data. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional object() { + return (Optional) object; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * HTTP response content type for this operation + */ + public GetActorsLibraryResponse withContentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public GetActorsLibraryResponse withStatusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public GetActorsLibraryResponse withRawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful response containing media container data. + */ + public GetActorsLibraryResponse withObject(GetActorsLibraryResponseBody object) { + Utils.checkNotNull(object, "object"); + this.object = Optional.ofNullable(object); + return this; + } + + /** + * Successful response containing media container data. + */ + public GetActorsLibraryResponse withObject(Optional object) { + Utils.checkNotNull(object, "object"); + this.object = object; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetActorsLibraryResponse other = (GetActorsLibraryResponse) o; + return + Objects.deepEquals(this.contentType, other.contentType) && + Objects.deepEquals(this.statusCode, other.statusCode) && + Objects.deepEquals(this.rawResponse, other.rawResponse) && + Objects.deepEquals(this.object, other.object); + } + + @Override + public int hashCode() { + return Objects.hash( + contentType, + statusCode, + rawResponse, + object); + } + + @Override + public String toString() { + return Utils.toString(GetActorsLibraryResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "object", object); + } + + public final static class Builder { + + private String contentType; + + private Integer statusCode; + + private HttpResponse rawResponse; + + private Optional object = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(String contentType) { + Utils.checkNotNull(contentType, "contentType"); + this.contentType = contentType; + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + Utils.checkNotNull(statusCode, "statusCode"); + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(HttpResponse rawResponse) { + Utils.checkNotNull(rawResponse, "rawResponse"); + this.rawResponse = rawResponse; + return this; + } + + /** + * Successful response containing media container data. + */ + public Builder object(GetActorsLibraryResponseBody object) { + Utils.checkNotNull(object, "object"); + this.object = Optional.ofNullable(object); + return this; + } + + /** + * Successful response containing media container data. + */ + public Builder object(Optional object) { + Utils.checkNotNull(object, "object"); + this.object = object; + return this; + } + + public GetActorsLibraryResponse build() { + return new GetActorsLibraryResponse( + contentType, + statusCode, + rawResponse, + object); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponseBody.java b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponseBody.java similarity index 63% rename from src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponseBody.java rename to src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponseBody.java index 57389454..d0400822 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponseBody.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetActorsLibraryResponseBody.java @@ -18,43 +18,43 @@ import java.util.Objects; import java.util.Optional; /** - * GetMetaDataByRatingKeyResponseBody - The metadata of the library item. + * GetActorsLibraryResponseBody - Successful response containing media container data. */ -public class GetMetaDataByRatingKeyResponseBody { +public class GetActorsLibraryResponseBody { @JsonInclude(Include.NON_ABSENT) @JsonProperty("MediaContainer") - private Optional mediaContainer; + private Optional mediaContainer; @JsonCreator - public GetMetaDataByRatingKeyResponseBody( - @JsonProperty("MediaContainer") Optional mediaContainer) { + public GetActorsLibraryResponseBody( + @JsonProperty("MediaContainer") Optional mediaContainer) { Utils.checkNotNull(mediaContainer, "mediaContainer"); this.mediaContainer = mediaContainer; } - public GetMetaDataByRatingKeyResponseBody() { + public GetActorsLibraryResponseBody() { this(Optional.empty()); } @SuppressWarnings("unchecked") @JsonIgnore - public Optional mediaContainer() { - return (Optional) mediaContainer; + public Optional mediaContainer() { + return (Optional) mediaContainer; } public final static Builder builder() { return new Builder(); } - public GetMetaDataByRatingKeyResponseBody withMediaContainer(GetMetaDataByRatingKeyMediaContainer mediaContainer) { + public GetActorsLibraryResponseBody withMediaContainer(GetActorsLibraryMediaContainer mediaContainer) { Utils.checkNotNull(mediaContainer, "mediaContainer"); this.mediaContainer = Optional.ofNullable(mediaContainer); return this; } - public GetMetaDataByRatingKeyResponseBody withMediaContainer(Optional mediaContainer) { + public GetActorsLibraryResponseBody withMediaContainer(Optional mediaContainer) { Utils.checkNotNull(mediaContainer, "mediaContainer"); this.mediaContainer = mediaContainer; return this; @@ -68,7 +68,7 @@ public class GetMetaDataByRatingKeyResponseBody { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyResponseBody other = (GetMetaDataByRatingKeyResponseBody) o; + GetActorsLibraryResponseBody other = (GetActorsLibraryResponseBody) o; return Objects.deepEquals(this.mediaContainer, other.mediaContainer); } @@ -81,32 +81,32 @@ public class GetMetaDataByRatingKeyResponseBody { @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyResponseBody.class, + return Utils.toString(GetActorsLibraryResponseBody.class, "mediaContainer", mediaContainer); } public final static class Builder { - private Optional mediaContainer = Optional.empty(); + private Optional mediaContainer = Optional.empty(); private Builder() { // force use of static builder() method } - public Builder mediaContainer(GetMetaDataByRatingKeyMediaContainer mediaContainer) { + public Builder mediaContainer(GetActorsLibraryMediaContainer mediaContainer) { Utils.checkNotNull(mediaContainer, "mediaContainer"); this.mediaContainer = Optional.ofNullable(mediaContainer); return this; } - public Builder mediaContainer(Optional mediaContainer) { + public Builder mediaContainer(Optional mediaContainer) { Utils.checkNotNull(mediaContainer, "mediaContainer"); this.mediaContainer = mediaContainer; return this; } - public GetMetaDataByRatingKeyResponseBody build() { - return new GetMetaDataByRatingKeyResponseBody( + public GetActorsLibraryResponseBody build() { + return new GetActorsLibraryResponseBody( mediaContainer); } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryQueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryQueryParamType.java new file mode 100644 index 00000000..2dd3987a --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryQueryParamType.java @@ -0,0 +1,48 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Objects; +import java.util.Optional; + +/** + * GetCountriesLibraryQueryParamType - The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ +public enum GetCountriesLibraryQueryParamType { + Movie(1L), + TvShow(2L), + Season(3L), + Episode(4L), + Audio(8L), + Album(9L), + Track(10L); + + @JsonValue + private final long value; + + private GetCountriesLibraryQueryParamType(long value) { + this.value = value; + } + + public long value() { + return value; + } + + public static Optional fromValue(long value) { + for (GetCountriesLibraryQueryParamType o: GetCountriesLibraryQueryParamType.values()) { + if (Objects.deepEquals(o.value, value)) { + return Optional.of(o); + } + } + return Optional.empty(); + } +} diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequest.java index d5ac43a3..82e13555 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequest.java @@ -25,11 +25,26 @@ public class GetCountriesLibraryRequest { @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey") private int sectionKey; + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=type") + private GetCountriesLibraryQueryParamType type; + @JsonCreator public GetCountriesLibraryRequest( - int sectionKey) { + int sectionKey, + GetCountriesLibraryQueryParamType type) { Utils.checkNotNull(sectionKey, "sectionKey"); + Utils.checkNotNull(type, "type"); this.sectionKey = sectionKey; + this.type = type; } /** @@ -42,6 +57,20 @@ public class GetCountriesLibraryRequest { return sectionKey; } + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + @JsonIgnore + public GetCountriesLibraryQueryParamType type() { + return type; + } + public final static Builder builder() { return new Builder(); } @@ -56,6 +85,21 @@ public class GetCountriesLibraryRequest { this.sectionKey = sectionKey; return this; } + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + public GetCountriesLibraryRequest withType(GetCountriesLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } @Override public boolean equals(java.lang.Object o) { @@ -67,24 +111,29 @@ public class GetCountriesLibraryRequest { } GetCountriesLibraryRequest other = (GetCountriesLibraryRequest) o; return - Objects.deepEquals(this.sectionKey, other.sectionKey); + Objects.deepEquals(this.sectionKey, other.sectionKey) && + Objects.deepEquals(this.type, other.type); } @Override public int hashCode() { return Objects.hash( - sectionKey); + sectionKey, + type); } @Override public String toString() { return Utils.toString(GetCountriesLibraryRequest.class, - "sectionKey", sectionKey); + "sectionKey", sectionKey, + "type", type); } public final static class Builder { - private Integer sectionKey; + private Integer sectionKey; + + private GetCountriesLibraryQueryParamType type; private Builder() { // force use of static builder() method @@ -100,10 +149,26 @@ public class GetCountriesLibraryRequest { this.sectionKey = sectionKey; return this; } + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + public Builder type(GetCountriesLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } public GetCountriesLibraryRequest build() { return new GetCountriesLibraryRequest( - sectionKey); + sectionKey, + type); } } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequestBuilder.java b/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequestBuilder.java index 786fd4e5..4b95cac4 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequestBuilder.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetCountriesLibraryRequestBuilder.java @@ -10,6 +10,7 @@ import java.lang.Integer; public class GetCountriesLibraryRequestBuilder { private Integer sectionKey; + private GetCountriesLibraryQueryParamType type; private final SDKMethodInterfaces.MethodCallGetCountriesLibrary sdk; public GetCountriesLibraryRequestBuilder(SDKMethodInterfaces.MethodCallGetCountriesLibrary sdk) { @@ -22,9 +23,16 @@ public class GetCountriesLibraryRequestBuilder { return this; } + public GetCountriesLibraryRequestBuilder type(GetCountriesLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + public GetCountriesLibraryResponse call() throws Exception { return sdk.getCountriesLibrary( - sectionKey); + sectionKey, + type); } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryQueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryQueryParamType.java new file mode 100644 index 00000000..76c46a0c --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryQueryParamType.java @@ -0,0 +1,48 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Objects; +import java.util.Optional; + +/** + * GetGenresLibraryQueryParamType - The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ +public enum GetGenresLibraryQueryParamType { + Movie(1L), + TvShow(2L), + Season(3L), + Episode(4L), + Audio(8L), + Album(9L), + Track(10L); + + @JsonValue + private final long value; + + private GetGenresLibraryQueryParamType(long value) { + this.value = value; + } + + public long value() { + return value; + } + + public static Optional fromValue(long value) { + for (GetGenresLibraryQueryParamType o: GetGenresLibraryQueryParamType.values()) { + if (Objects.deepEquals(o.value, value)) { + return Optional.of(o); + } + } + return Optional.empty(); + } +} diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequest.java index d5567d8e..e7d5ab68 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequest.java @@ -25,11 +25,26 @@ public class GetGenresLibraryRequest { @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionKey") private int sectionKey; + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=type") + private GetGenresLibraryQueryParamType type; + @JsonCreator public GetGenresLibraryRequest( - int sectionKey) { + int sectionKey, + GetGenresLibraryQueryParamType type) { Utils.checkNotNull(sectionKey, "sectionKey"); + Utils.checkNotNull(type, "type"); this.sectionKey = sectionKey; + this.type = type; } /** @@ -42,6 +57,20 @@ public class GetGenresLibraryRequest { return sectionKey; } + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + @JsonIgnore + public GetGenresLibraryQueryParamType type() { + return type; + } + public final static Builder builder() { return new Builder(); } @@ -56,6 +85,21 @@ public class GetGenresLibraryRequest { this.sectionKey = sectionKey; return this; } + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + public GetGenresLibraryRequest withType(GetGenresLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } @Override public boolean equals(java.lang.Object o) { @@ -67,24 +111,29 @@ public class GetGenresLibraryRequest { } GetGenresLibraryRequest other = (GetGenresLibraryRequest) o; return - Objects.deepEquals(this.sectionKey, other.sectionKey); + Objects.deepEquals(this.sectionKey, other.sectionKey) && + Objects.deepEquals(this.type, other.type); } @Override public int hashCode() { return Objects.hash( - sectionKey); + sectionKey, + type); } @Override public String toString() { return Utils.toString(GetGenresLibraryRequest.class, - "sectionKey", sectionKey); + "sectionKey", sectionKey, + "type", type); } public final static class Builder { - private Integer sectionKey; + private Integer sectionKey; + + private GetGenresLibraryQueryParamType type; private Builder() { // force use of static builder() method @@ -100,10 +149,26 @@ public class GetGenresLibraryRequest { this.sectionKey = sectionKey; return this; } + + /** + * The type of media to retrieve or filter by. + * 1 = movie + * 2 = show + * 3 = season + * 4 = episode + * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries + * + */ + public Builder type(GetGenresLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } public GetGenresLibraryRequest build() { return new GetGenresLibraryRequest( - sectionKey); + sectionKey, + type); } } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequestBuilder.java b/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequestBuilder.java index 7dd7175b..e6797b9f 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequestBuilder.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetGenresLibraryRequestBuilder.java @@ -10,6 +10,7 @@ import java.lang.Integer; public class GetGenresLibraryRequestBuilder { private Integer sectionKey; + private GetGenresLibraryQueryParamType type; private final SDKMethodInterfaces.MethodCallGetGenresLibrary sdk; public GetGenresLibraryRequestBuilder(SDKMethodInterfaces.MethodCallGetGenresLibrary sdk) { @@ -22,9 +23,16 @@ public class GetGenresLibraryRequestBuilder { return this; } + public GetGenresLibraryRequestBuilder type(GetGenresLibraryQueryParamType type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + public GetGenresLibraryResponse call() throws Exception { return sdk.getGenresLibrary( - sectionKey); + sectionKey, + type); } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsQueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsQueryParamType.java index a65e3f8e..d47e8612 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsQueryParamType.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsQueryParamType.java @@ -9,7 +9,7 @@ import java.util.Objects; import java.util.Optional; /** - * GetLibraryItemsQueryParamType - The type of media to retrieve. + * GetLibraryItemsQueryParamType - The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsRequest.java index df75d0da..f7158a34 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetLibraryItemsRequest.java @@ -35,7 +35,7 @@ public class GetLibraryItemsRequest { private Optional includeGuids; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -44,7 +44,7 @@ public class GetLibraryItemsRequest { * */ @SpeakeasyMetadata("queryParam:style=form,explode=true,name=type") - private Optional type; + private GetLibraryItemsQueryParamType type; /** * The unique key of the Plex library. @@ -83,7 +83,7 @@ public class GetLibraryItemsRequest { public GetLibraryItemsRequest( Tag tag, Optional includeGuids, - Optional type, + GetLibraryItemsQueryParamType type, int sectionKey, Optional includeMeta, Optional xPlexContainerStart, @@ -106,8 +106,9 @@ public class GetLibraryItemsRequest { public GetLibraryItemsRequest( Tag tag, + GetLibraryItemsQueryParamType type, int sectionKey) { - this(tag, Optional.empty(), Optional.empty(), sectionKey, Optional.empty(), Optional.empty(), Optional.empty()); + this(tag, Optional.empty(), type, sectionKey, Optional.empty(), Optional.empty(), Optional.empty()); } /** @@ -129,7 +130,7 @@ public class GetLibraryItemsRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -137,10 +138,9 @@ public class GetLibraryItemsRequest { * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries * */ - @SuppressWarnings("unchecked") @JsonIgnore - public Optional type() { - return (Optional) type; + public GetLibraryItemsQueryParamType type() { + return type; } /** @@ -219,7 +219,7 @@ public class GetLibraryItemsRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -228,21 +228,6 @@ public class GetLibraryItemsRequest { * */ public GetLibraryItemsRequest withType(GetLibraryItemsQueryParamType type) { - Utils.checkNotNull(type, "type"); - this.type = Optional.ofNullable(type); - return this; - } - - /** - * The type of media to retrieve. - * 1 = movie - * 2 = show - * 3 = season - * 4 = episode - * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries - * - */ - public GetLibraryItemsRequest withType(Optional type) { Utils.checkNotNull(type, "type"); this.type = type; return this; @@ -376,7 +361,7 @@ public class GetLibraryItemsRequest { private Optional includeGuids; - private Optional type = Optional.empty(); + private GetLibraryItemsQueryParamType type; private Integer sectionKey; @@ -420,7 +405,7 @@ public class GetLibraryItemsRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -429,21 +414,6 @@ public class GetLibraryItemsRequest { * */ public Builder type(GetLibraryItemsQueryParamType type) { - Utils.checkNotNull(type, "type"); - this.type = Optional.ofNullable(type); - return this; - } - - /** - * The type of media to retrieve. - * 1 = movie - * 2 = show - * 3 = season - * 4 = episode - * E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries - * - */ - public Builder type(Optional type) { Utils.checkNotNull(type, "type"); this.type = type; return this; diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataCountry.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataCountry.java new file mode 100644 index 00000000..489696ce --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataCountry.java @@ -0,0 +1,184 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class GetMediaMetaDataCountry { + + /** + * The unique country identifier. + */ + @JsonProperty("id") + private long id; + + /** + * The filter string for the country. + */ + @JsonProperty("filter") + private String filter; + + /** + * The country name. + */ + @JsonProperty("tag") + private String tag; + + @JsonCreator + public GetMediaMetaDataCountry( + @JsonProperty("id") long id, + @JsonProperty("filter") String filter, + @JsonProperty("tag") String tag) { + Utils.checkNotNull(id, "id"); + Utils.checkNotNull(filter, "filter"); + Utils.checkNotNull(tag, "tag"); + this.id = id; + this.filter = filter; + this.tag = tag; + } + + /** + * The unique country identifier. + */ + @JsonIgnore + public long id() { + return id; + } + + /** + * The filter string for the country. + */ + @JsonIgnore + public String filter() { + return filter; + } + + /** + * The country name. + */ + @JsonIgnore + public String tag() { + return tag; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The unique country identifier. + */ + public GetMediaMetaDataCountry withId(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * The filter string for the country. + */ + public GetMediaMetaDataCountry withFilter(String filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + /** + * The country name. + */ + public GetMediaMetaDataCountry withTag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataCountry other = (GetMediaMetaDataCountry) o; + return + Objects.deepEquals(this.id, other.id) && + Objects.deepEquals(this.filter, other.filter) && + Objects.deepEquals(this.tag, other.tag); + } + + @Override + public int hashCode() { + return Objects.hash( + id, + filter, + tag); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataCountry.class, + "id", id, + "filter", filter, + "tag", tag); + } + + public final static class Builder { + + private Long id; + + private String filter; + + private String tag; + + private Builder() { + // force use of static builder() method + } + + /** + * The unique country identifier. + */ + public Builder id(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * The filter string for the country. + */ + public Builder filter(String filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + /** + * The country name. + */ + public Builder tag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + public GetMediaMetaDataCountry build() { + return new GetMediaMetaDataCountry( + id, + filter, + tag); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyDirector.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataDirector.java similarity index 52% rename from src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyDirector.java rename to src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataDirector.java index 96b0a696..fae449c1 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyDirector.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataDirector.java @@ -11,78 +11,126 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; -import java.lang.Integer; +import java.lang.Long; import java.lang.Override; import java.lang.String; import java.util.Objects; import java.util.Optional; -public class GetMetaDataByRatingKeyDirector { +public class GetMediaMetaDataDirector { - @JsonInclude(Include.NON_ABSENT) + /** + * The unique role identifier. + */ @JsonProperty("id") - private Optional id; + private long id; - @JsonInclude(Include.NON_ABSENT) + /** + * The filter string for the role. + */ @JsonProperty("filter") - private Optional filter; + private String filter; - @JsonInclude(Include.NON_ABSENT) + /** + * The actor's name. + */ @JsonProperty("tag") - private Optional tag; + private String tag; - @JsonInclude(Include.NON_ABSENT) + /** + * A key associated with the actor tag. + */ @JsonProperty("tagKey") - private Optional tagKey; + private String tagKey; + /** + * The character name or role. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("role") + private Optional role; + + /** + * URL for the role thumbnail image. + */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonCreator - public GetMetaDataByRatingKeyDirector( - @JsonProperty("id") Optional id, - @JsonProperty("filter") Optional filter, - @JsonProperty("tag") Optional tag, - @JsonProperty("tagKey") Optional tagKey, + public GetMediaMetaDataDirector( + @JsonProperty("id") long id, + @JsonProperty("filter") String filter, + @JsonProperty("tag") String tag, + @JsonProperty("tagKey") String tagKey, + @JsonProperty("role") Optional role, @JsonProperty("thumb") Optional thumb) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(filter, "filter"); Utils.checkNotNull(tag, "tag"); Utils.checkNotNull(tagKey, "tagKey"); + Utils.checkNotNull(role, "role"); Utils.checkNotNull(thumb, "thumb"); this.id = id; this.filter = filter; this.tag = tag; this.tagKey = tagKey; + this.role = role; this.thumb = thumb; } - public GetMetaDataByRatingKeyDirector() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + public GetMediaMetaDataDirector( + long id, + String filter, + String tag, + String tagKey) { + this(id, filter, tag, tagKey, Optional.empty(), Optional.empty()); } + /** + * The unique role identifier. + */ @JsonIgnore - public Optional id() { + public long id() { return id; } + /** + * The filter string for the role. + */ @JsonIgnore - public Optional filter() { + public String filter() { return filter; } + /** + * The actor's name. + */ @JsonIgnore - public Optional tag() { + public String tag() { return tag; } + /** + * A key associated with the actor tag. + */ @JsonIgnore - public Optional tagKey() { + public String tagKey() { return tagKey; } + /** + * The character name or role. + */ + @JsonIgnore + public Optional role() { + return role; + } + + /** + * URL for the role thumbnail image. + */ @JsonIgnore public Optional thumb() { return thumb; @@ -92,61 +140,73 @@ public class GetMetaDataByRatingKeyDirector { return new Builder(); } - public GetMetaDataByRatingKeyDirector withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyDirector withId(Optional id) { + /** + * The unique role identifier. + */ + public GetMediaMetaDataDirector withId(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } - public GetMetaDataByRatingKeyDirector withFilter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public GetMetaDataByRatingKeyDirector withFilter(Optional filter) { + /** + * The filter string for the role. + */ + public GetMediaMetaDataDirector withFilter(String filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } - public GetMetaDataByRatingKeyDirector withTag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public GetMetaDataByRatingKeyDirector withTag(Optional tag) { + /** + * The actor's name. + */ + public GetMediaMetaDataDirector withTag(String tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } - public GetMetaDataByRatingKeyDirector withTagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public GetMetaDataByRatingKeyDirector withTagKey(Optional tagKey) { + /** + * A key associated with the actor tag. + */ + public GetMediaMetaDataDirector withTagKey(String tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } - public GetMetaDataByRatingKeyDirector withThumb(String thumb) { + /** + * The character name or role. + */ + public GetMediaMetaDataDirector withRole(String role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * The character name or role. + */ + public GetMediaMetaDataDirector withRole(Optional role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * URL for the role thumbnail image. + */ + public GetMediaMetaDataDirector withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } - public GetMetaDataByRatingKeyDirector withThumb(Optional thumb) { + /** + * URL for the role thumbnail image. + */ + public GetMediaMetaDataDirector withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; @@ -160,12 +220,13 @@ public class GetMetaDataByRatingKeyDirector { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyDirector other = (GetMetaDataByRatingKeyDirector) o; + GetMediaMetaDataDirector other = (GetMediaMetaDataDirector) o; return Objects.deepEquals(this.id, other.id) && Objects.deepEquals(this.filter, other.filter) && Objects.deepEquals(this.tag, other.tag) && Objects.deepEquals(this.tagKey, other.tagKey) && + Objects.deepEquals(this.role, other.role) && Objects.deepEquals(this.thumb, other.thumb); } @@ -176,28 +237,32 @@ public class GetMetaDataByRatingKeyDirector { filter, tag, tagKey, + role, thumb); } @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyDirector.class, + return Utils.toString(GetMediaMetaDataDirector.class, "id", id, "filter", filter, "tag", tag, "tagKey", tagKey, + "role", role, "thumb", thumb); } public final static class Builder { - private Optional id = Optional.empty(); + private Long id; - private Optional filter = Optional.empty(); + private String filter; - private Optional tag = Optional.empty(); + private String tag; - private Optional tagKey = Optional.empty(); + private String tagKey; + + private Optional role = Optional.empty(); private Optional thumb = Optional.empty(); @@ -205,72 +270,85 @@ public class GetMetaDataByRatingKeyDirector { // force use of static builder() method } - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { + /** + * The unique role identifier. + */ + public Builder id(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } + /** + * The filter string for the role. + */ public Builder filter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public Builder filter(Optional filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } + /** + * The actor's name. + */ public Builder tag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public Builder tag(Optional tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } + /** + * A key associated with the actor tag. + */ public Builder tagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public Builder tagKey(Optional tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } + /** + * The character name or role. + */ + public Builder role(String role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * The character name or role. + */ + public Builder role(Optional role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * URL for the role thumbnail image. + */ public Builder thumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } + /** + * URL for the role thumbnail image. + */ public Builder thumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } - public GetMetaDataByRatingKeyDirector build() { - return new GetMetaDataByRatingKeyDirector( + public GetMediaMetaDataDirector build() { + return new GetMediaMetaDataDirector( id, filter, tag, tagKey, + role, thumb); } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataGenre.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataGenre.java new file mode 100644 index 00000000..f431572a --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataGenre.java @@ -0,0 +1,184 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class GetMediaMetaDataGenre { + + /** + * The unique genre identifier. + */ + @JsonProperty("id") + private long id; + + /** + * The filter string for the genre. + */ + @JsonProperty("filter") + private String filter; + + /** + * The genre name. + */ + @JsonProperty("tag") + private String tag; + + @JsonCreator + public GetMediaMetaDataGenre( + @JsonProperty("id") long id, + @JsonProperty("filter") String filter, + @JsonProperty("tag") String tag) { + Utils.checkNotNull(id, "id"); + Utils.checkNotNull(filter, "filter"); + Utils.checkNotNull(tag, "tag"); + this.id = id; + this.filter = filter; + this.tag = tag; + } + + /** + * The unique genre identifier. + */ + @JsonIgnore + public long id() { + return id; + } + + /** + * The filter string for the genre. + */ + @JsonIgnore + public String filter() { + return filter; + } + + /** + * The genre name. + */ + @JsonIgnore + public String tag() { + return tag; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The unique genre identifier. + */ + public GetMediaMetaDataGenre withId(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * The filter string for the genre. + */ + public GetMediaMetaDataGenre withFilter(String filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + /** + * The genre name. + */ + public GetMediaMetaDataGenre withTag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataGenre other = (GetMediaMetaDataGenre) o; + return + Objects.deepEquals(this.id, other.id) && + Objects.deepEquals(this.filter, other.filter) && + Objects.deepEquals(this.tag, other.tag); + } + + @Override + public int hashCode() { + return Objects.hash( + id, + filter, + tag); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataGenre.class, + "id", id, + "filter", filter, + "tag", tag); + } + + public final static class Builder { + + private Long id; + + private String filter; + + private String tag; + + private Builder() { + // force use of static builder() method + } + + /** + * The unique genre identifier. + */ + public Builder id(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * The filter string for the genre. + */ + public Builder filter(String filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + /** + * The genre name. + */ + public Builder tag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + public GetMediaMetaDataGenre build() { + return new GetMediaMetaDataGenre( + id, + filter, + tag); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataImage.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataImage.java new file mode 100644 index 00000000..b45903dc --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataImage.java @@ -0,0 +1,183 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class GetMediaMetaDataImage { + + /** + * Alternate text for the image. + */ + @JsonProperty("alt") + private String alt; + + /** + * The type of image (e.g., coverPoster, background, clearLogo). + */ + @JsonProperty("type") + private String type; + + /** + * The URL of the image. + */ + @JsonProperty("url") + private String url; + + @JsonCreator + public GetMediaMetaDataImage( + @JsonProperty("alt") String alt, + @JsonProperty("type") String type, + @JsonProperty("url") String url) { + Utils.checkNotNull(alt, "alt"); + Utils.checkNotNull(type, "type"); + Utils.checkNotNull(url, "url"); + this.alt = alt; + this.type = type; + this.url = url; + } + + /** + * Alternate text for the image. + */ + @JsonIgnore + public String alt() { + return alt; + } + + /** + * The type of image (e.g., coverPoster, background, clearLogo). + */ + @JsonIgnore + public String type() { + return type; + } + + /** + * The URL of the image. + */ + @JsonIgnore + public String url() { + return url; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Alternate text for the image. + */ + public GetMediaMetaDataImage withAlt(String alt) { + Utils.checkNotNull(alt, "alt"); + this.alt = alt; + return this; + } + + /** + * The type of image (e.g., coverPoster, background, clearLogo). + */ + public GetMediaMetaDataImage withType(String type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + + /** + * The URL of the image. + */ + public GetMediaMetaDataImage withUrl(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataImage other = (GetMediaMetaDataImage) o; + return + Objects.deepEquals(this.alt, other.alt) && + Objects.deepEquals(this.type, other.type) && + Objects.deepEquals(this.url, other.url); + } + + @Override + public int hashCode() { + return Objects.hash( + alt, + type, + url); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataImage.class, + "alt", alt, + "type", type, + "url", url); + } + + public final static class Builder { + + private String alt; + + private String type; + + private String url; + + private Builder() { + // force use of static builder() method + } + + /** + * Alternate text for the image. + */ + public Builder alt(String alt) { + Utils.checkNotNull(alt, "alt"); + this.alt = alt; + return this; + } + + /** + * The type of image (e.g., coverPoster, background, clearLogo). + */ + public Builder type(String type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + + /** + * The URL of the image. + */ + public Builder url(String url) { + Utils.checkNotNull(url, "url"); + this.url = url; + return this; + } + + public GetMediaMetaDataImage build() { + return new GetMediaMetaDataImage( + alt, + type, + url); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataLocation.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataLocation.java new file mode 100644 index 00000000..d060fa17 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataLocation.java @@ -0,0 +1,101 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class GetMediaMetaDataLocation { + + /** + * The file path for the location. + */ + @JsonProperty("path") + private String path; + + @JsonCreator + public GetMediaMetaDataLocation( + @JsonProperty("path") String path) { + Utils.checkNotNull(path, "path"); + this.path = path; + } + + /** + * The file path for the location. + */ + @JsonIgnore + public String path() { + return path; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The file path for the location. + */ + public GetMediaMetaDataLocation withPath(String path) { + Utils.checkNotNull(path, "path"); + this.path = path; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataLocation other = (GetMediaMetaDataLocation) o; + return + Objects.deepEquals(this.path, other.path); + } + + @Override + public int hashCode() { + return Objects.hash( + path); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataLocation.class, + "path", path); + } + + public final static class Builder { + + private String path; + + private Builder() { + // force use of static builder() method + } + + /** + * The file path for the location. + */ + public Builder path(String path) { + Utils.checkNotNull(path, "path"); + this.path = path; + return this; + } + + public GetMediaMetaDataLocation build() { + return new GetMediaMetaDataLocation( + path); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMedia.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMedia.java new file mode 100644 index 00000000..7a260015 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMedia.java @@ -0,0 +1,679 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Boolean; +import java.lang.Float; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public class GetMediaMetaDataMedia { + + /** + * Unique media identifier. + */ + @JsonProperty("id") + private long id; + + /** + * Duration of the media in milliseconds. + */ + @JsonProperty("duration") + private long duration; + + /** + * Bitrate in bits per second. + */ + @JsonProperty("bitrate") + private long bitrate; + + /** + * Video width in pixels. + */ + @JsonProperty("width") + private long width; + + /** + * Video height in pixels. + */ + @JsonProperty("height") + private long height; + + /** + * Aspect ratio of the video. + */ + @JsonProperty("aspectRatio") + private float aspectRatio; + + /** + * Number of audio channels. + */ + @JsonProperty("audioChannels") + private long audioChannels; + + /** + * Audio codec used. + */ + @JsonProperty("audioCodec") + private String audioCodec; + + /** + * Video codec used. + */ + @JsonProperty("videoCodec") + private String videoCodec; + + /** + * Video resolution (e.g., 4k). + */ + @JsonProperty("videoResolution") + private String videoResolution; + + /** + * File container type. + */ + @JsonProperty("container") + private String container; + + /** + * Frame rate of the video (e.g., 24p). + */ + @JsonProperty("videoFrameRate") + private String videoFrameRate; + + /** + * Video profile (e.g., main 10). + */ + @JsonProperty("videoProfile") + private String videoProfile; + + /** + * Indicates whether voice activity is detected. + */ + @JsonProperty("hasVoiceActivity") + private boolean hasVoiceActivity; + + /** + * An array of parts for this media item. + */ + @JsonProperty("Part") + private List part; + + @JsonCreator + public GetMediaMetaDataMedia( + @JsonProperty("id") long id, + @JsonProperty("duration") long duration, + @JsonProperty("bitrate") long bitrate, + @JsonProperty("width") long width, + @JsonProperty("height") long height, + @JsonProperty("aspectRatio") float aspectRatio, + @JsonProperty("audioChannels") long audioChannels, + @JsonProperty("audioCodec") String audioCodec, + @JsonProperty("videoCodec") String videoCodec, + @JsonProperty("videoResolution") String videoResolution, + @JsonProperty("container") String container, + @JsonProperty("videoFrameRate") String videoFrameRate, + @JsonProperty("videoProfile") String videoProfile, + @JsonProperty("hasVoiceActivity") boolean hasVoiceActivity, + @JsonProperty("Part") List part) { + Utils.checkNotNull(id, "id"); + Utils.checkNotNull(duration, "duration"); + Utils.checkNotNull(bitrate, "bitrate"); + Utils.checkNotNull(width, "width"); + Utils.checkNotNull(height, "height"); + Utils.checkNotNull(aspectRatio, "aspectRatio"); + Utils.checkNotNull(audioChannels, "audioChannels"); + Utils.checkNotNull(audioCodec, "audioCodec"); + Utils.checkNotNull(videoCodec, "videoCodec"); + Utils.checkNotNull(videoResolution, "videoResolution"); + Utils.checkNotNull(container, "container"); + Utils.checkNotNull(videoFrameRate, "videoFrameRate"); + Utils.checkNotNull(videoProfile, "videoProfile"); + Utils.checkNotNull(hasVoiceActivity, "hasVoiceActivity"); + Utils.checkNotNull(part, "part"); + this.id = id; + this.duration = duration; + this.bitrate = bitrate; + this.width = width; + this.height = height; + this.aspectRatio = aspectRatio; + this.audioChannels = audioChannels; + this.audioCodec = audioCodec; + this.videoCodec = videoCodec; + this.videoResolution = videoResolution; + this.container = container; + this.videoFrameRate = videoFrameRate; + this.videoProfile = videoProfile; + this.hasVoiceActivity = hasVoiceActivity; + this.part = part; + } + + /** + * Unique media identifier. + */ + @JsonIgnore + public long id() { + return id; + } + + /** + * Duration of the media in milliseconds. + */ + @JsonIgnore + public long duration() { + return duration; + } + + /** + * Bitrate in bits per second. + */ + @JsonIgnore + public long bitrate() { + return bitrate; + } + + /** + * Video width in pixels. + */ + @JsonIgnore + public long width() { + return width; + } + + /** + * Video height in pixels. + */ + @JsonIgnore + public long height() { + return height; + } + + /** + * Aspect ratio of the video. + */ + @JsonIgnore + public float aspectRatio() { + return aspectRatio; + } + + /** + * Number of audio channels. + */ + @JsonIgnore + public long audioChannels() { + return audioChannels; + } + + /** + * Audio codec used. + */ + @JsonIgnore + public String audioCodec() { + return audioCodec; + } + + /** + * Video codec used. + */ + @JsonIgnore + public String videoCodec() { + return videoCodec; + } + + /** + * Video resolution (e.g., 4k). + */ + @JsonIgnore + public String videoResolution() { + return videoResolution; + } + + /** + * File container type. + */ + @JsonIgnore + public String container() { + return container; + } + + /** + * Frame rate of the video (e.g., 24p). + */ + @JsonIgnore + public String videoFrameRate() { + return videoFrameRate; + } + + /** + * Video profile (e.g., main 10). + */ + @JsonIgnore + public String videoProfile() { + return videoProfile; + } + + /** + * Indicates whether voice activity is detected. + */ + @JsonIgnore + public boolean hasVoiceActivity() { + return hasVoiceActivity; + } + + /** + * An array of parts for this media item. + */ + @JsonIgnore + public List part() { + return part; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Unique media identifier. + */ + public GetMediaMetaDataMedia withId(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * Duration of the media in milliseconds. + */ + public GetMediaMetaDataMedia withDuration(long duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + /** + * Bitrate in bits per second. + */ + public GetMediaMetaDataMedia withBitrate(long bitrate) { + Utils.checkNotNull(bitrate, "bitrate"); + this.bitrate = bitrate; + return this; + } + + /** + * Video width in pixels. + */ + public GetMediaMetaDataMedia withWidth(long width) { + Utils.checkNotNull(width, "width"); + this.width = width; + return this; + } + + /** + * Video height in pixels. + */ + public GetMediaMetaDataMedia withHeight(long height) { + Utils.checkNotNull(height, "height"); + this.height = height; + return this; + } + + /** + * Aspect ratio of the video. + */ + public GetMediaMetaDataMedia withAspectRatio(float aspectRatio) { + Utils.checkNotNull(aspectRatio, "aspectRatio"); + this.aspectRatio = aspectRatio; + return this; + } + + /** + * Number of audio channels. + */ + public GetMediaMetaDataMedia withAudioChannels(long audioChannels) { + Utils.checkNotNull(audioChannels, "audioChannels"); + this.audioChannels = audioChannels; + return this; + } + + /** + * Audio codec used. + */ + public GetMediaMetaDataMedia withAudioCodec(String audioCodec) { + Utils.checkNotNull(audioCodec, "audioCodec"); + this.audioCodec = audioCodec; + return this; + } + + /** + * Video codec used. + */ + public GetMediaMetaDataMedia withVideoCodec(String videoCodec) { + Utils.checkNotNull(videoCodec, "videoCodec"); + this.videoCodec = videoCodec; + return this; + } + + /** + * Video resolution (e.g., 4k). + */ + public GetMediaMetaDataMedia withVideoResolution(String videoResolution) { + Utils.checkNotNull(videoResolution, "videoResolution"); + this.videoResolution = videoResolution; + return this; + } + + /** + * File container type. + */ + public GetMediaMetaDataMedia withContainer(String container) { + Utils.checkNotNull(container, "container"); + this.container = container; + return this; + } + + /** + * Frame rate of the video (e.g., 24p). + */ + public GetMediaMetaDataMedia withVideoFrameRate(String videoFrameRate) { + Utils.checkNotNull(videoFrameRate, "videoFrameRate"); + this.videoFrameRate = videoFrameRate; + return this; + } + + /** + * Video profile (e.g., main 10). + */ + public GetMediaMetaDataMedia withVideoProfile(String videoProfile) { + Utils.checkNotNull(videoProfile, "videoProfile"); + this.videoProfile = videoProfile; + return this; + } + + /** + * Indicates whether voice activity is detected. + */ + public GetMediaMetaDataMedia withHasVoiceActivity(boolean hasVoiceActivity) { + Utils.checkNotNull(hasVoiceActivity, "hasVoiceActivity"); + this.hasVoiceActivity = hasVoiceActivity; + return this; + } + + /** + * An array of parts for this media item. + */ + public GetMediaMetaDataMedia withPart(List part) { + Utils.checkNotNull(part, "part"); + this.part = part; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataMedia other = (GetMediaMetaDataMedia) o; + return + Objects.deepEquals(this.id, other.id) && + Objects.deepEquals(this.duration, other.duration) && + Objects.deepEquals(this.bitrate, other.bitrate) && + Objects.deepEquals(this.width, other.width) && + Objects.deepEquals(this.height, other.height) && + Objects.deepEquals(this.aspectRatio, other.aspectRatio) && + Objects.deepEquals(this.audioChannels, other.audioChannels) && + Objects.deepEquals(this.audioCodec, other.audioCodec) && + Objects.deepEquals(this.videoCodec, other.videoCodec) && + Objects.deepEquals(this.videoResolution, other.videoResolution) && + Objects.deepEquals(this.container, other.container) && + Objects.deepEquals(this.videoFrameRate, other.videoFrameRate) && + Objects.deepEquals(this.videoProfile, other.videoProfile) && + Objects.deepEquals(this.hasVoiceActivity, other.hasVoiceActivity) && + Objects.deepEquals(this.part, other.part); + } + + @Override + public int hashCode() { + return Objects.hash( + id, + duration, + bitrate, + width, + height, + aspectRatio, + audioChannels, + audioCodec, + videoCodec, + videoResolution, + container, + videoFrameRate, + videoProfile, + hasVoiceActivity, + part); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataMedia.class, + "id", id, + "duration", duration, + "bitrate", bitrate, + "width", width, + "height", height, + "aspectRatio", aspectRatio, + "audioChannels", audioChannels, + "audioCodec", audioCodec, + "videoCodec", videoCodec, + "videoResolution", videoResolution, + "container", container, + "videoFrameRate", videoFrameRate, + "videoProfile", videoProfile, + "hasVoiceActivity", hasVoiceActivity, + "part", part); + } + + public final static class Builder { + + private Long id; + + private Long duration; + + private Long bitrate; + + private Long width; + + private Long height; + + private Float aspectRatio; + + private Long audioChannels; + + private String audioCodec; + + private String videoCodec; + + private String videoResolution; + + private String container; + + private String videoFrameRate; + + private String videoProfile; + + private Boolean hasVoiceActivity; + + private List part; + + private Builder() { + // force use of static builder() method + } + + /** + * Unique media identifier. + */ + public Builder id(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * Duration of the media in milliseconds. + */ + public Builder duration(long duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + /** + * Bitrate in bits per second. + */ + public Builder bitrate(long bitrate) { + Utils.checkNotNull(bitrate, "bitrate"); + this.bitrate = bitrate; + return this; + } + + /** + * Video width in pixels. + */ + public Builder width(long width) { + Utils.checkNotNull(width, "width"); + this.width = width; + return this; + } + + /** + * Video height in pixels. + */ + public Builder height(long height) { + Utils.checkNotNull(height, "height"); + this.height = height; + return this; + } + + /** + * Aspect ratio of the video. + */ + public Builder aspectRatio(float aspectRatio) { + Utils.checkNotNull(aspectRatio, "aspectRatio"); + this.aspectRatio = aspectRatio; + return this; + } + + /** + * Number of audio channels. + */ + public Builder audioChannels(long audioChannels) { + Utils.checkNotNull(audioChannels, "audioChannels"); + this.audioChannels = audioChannels; + return this; + } + + /** + * Audio codec used. + */ + public Builder audioCodec(String audioCodec) { + Utils.checkNotNull(audioCodec, "audioCodec"); + this.audioCodec = audioCodec; + return this; + } + + /** + * Video codec used. + */ + public Builder videoCodec(String videoCodec) { + Utils.checkNotNull(videoCodec, "videoCodec"); + this.videoCodec = videoCodec; + return this; + } + + /** + * Video resolution (e.g., 4k). + */ + public Builder videoResolution(String videoResolution) { + Utils.checkNotNull(videoResolution, "videoResolution"); + this.videoResolution = videoResolution; + return this; + } + + /** + * File container type. + */ + public Builder container(String container) { + Utils.checkNotNull(container, "container"); + this.container = container; + return this; + } + + /** + * Frame rate of the video (e.g., 24p). + */ + public Builder videoFrameRate(String videoFrameRate) { + Utils.checkNotNull(videoFrameRate, "videoFrameRate"); + this.videoFrameRate = videoFrameRate; + return this; + } + + /** + * Video profile (e.g., main 10). + */ + public Builder videoProfile(String videoProfile) { + Utils.checkNotNull(videoProfile, "videoProfile"); + this.videoProfile = videoProfile; + return this; + } + + /** + * Indicates whether voice activity is detected. + */ + public Builder hasVoiceActivity(boolean hasVoiceActivity) { + Utils.checkNotNull(hasVoiceActivity, "hasVoiceActivity"); + this.hasVoiceActivity = hasVoiceActivity; + return this; + } + + /** + * An array of parts for this media item. + */ + public Builder part(List part) { + Utils.checkNotNull(part, "part"); + this.part = part; + return this; + } + + public GetMediaMetaDataMedia build() { + return new GetMediaMetaDataMedia( + id, + duration, + bitrate, + width, + height, + aspectRatio, + audioChannels, + audioCodec, + videoCodec, + videoResolution, + container, + videoFrameRate, + videoProfile, + hasVoiceActivity, + part); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMediaContainer.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMediaContainer.java new file mode 100644 index 00000000..8fdc6bc9 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMediaContainer.java @@ -0,0 +1,455 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + + +public class GetMediaMetaDataMediaContainer { + + @JsonProperty("size") + private double size; + + /** + * Indicates whether syncing is allowed. + */ + @JsonProperty("allowSync") + private boolean allowSync; + + /** + * An plugin identifier for the media container. + */ + @JsonProperty("identifier") + private String identifier; + + /** + * The unique identifier for the library section. + */ + @JsonProperty("librarySectionID") + private long librarySectionID; + + /** + * The title of the library section. + */ + @JsonProperty("librarySectionTitle") + private String librarySectionTitle; + + /** + * The universally unique identifier for the library section. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("librarySectionUUID") + private Optional librarySectionUUID; + + /** + * The prefix used for media tag resource paths. + */ + @JsonProperty("mediaTagPrefix") + private String mediaTagPrefix; + + /** + * The version number for media tags. + */ + @JsonProperty("mediaTagVersion") + private long mediaTagVersion; + + /** + * An array of metadata items. + */ + @JsonProperty("Metadata") + private List metadata; + + @JsonCreator + public GetMediaMetaDataMediaContainer( + @JsonProperty("size") double size, + @JsonProperty("allowSync") boolean allowSync, + @JsonProperty("identifier") String identifier, + @JsonProperty("librarySectionID") long librarySectionID, + @JsonProperty("librarySectionTitle") String librarySectionTitle, + @JsonProperty("librarySectionUUID") Optional librarySectionUUID, + @JsonProperty("mediaTagPrefix") String mediaTagPrefix, + @JsonProperty("mediaTagVersion") long mediaTagVersion, + @JsonProperty("Metadata") List metadata) { + Utils.checkNotNull(size, "size"); + Utils.checkNotNull(allowSync, "allowSync"); + Utils.checkNotNull(identifier, "identifier"); + Utils.checkNotNull(librarySectionID, "librarySectionID"); + Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); + Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); + Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); + Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); + Utils.checkNotNull(metadata, "metadata"); + this.size = size; + this.allowSync = allowSync; + this.identifier = identifier; + this.librarySectionID = librarySectionID; + this.librarySectionTitle = librarySectionTitle; + this.librarySectionUUID = librarySectionUUID; + this.mediaTagPrefix = mediaTagPrefix; + this.mediaTagVersion = mediaTagVersion; + this.metadata = metadata; + } + + public GetMediaMetaDataMediaContainer( + double size, + boolean allowSync, + String identifier, + long librarySectionID, + String librarySectionTitle, + String mediaTagPrefix, + long mediaTagVersion, + List metadata) { + this(size, allowSync, identifier, librarySectionID, librarySectionTitle, Optional.empty(), mediaTagPrefix, mediaTagVersion, metadata); + } + + @JsonIgnore + public double size() { + return size; + } + + /** + * Indicates whether syncing is allowed. + */ + @JsonIgnore + public boolean allowSync() { + return allowSync; + } + + /** + * An plugin identifier for the media container. + */ + @JsonIgnore + public String identifier() { + return identifier; + } + + /** + * The unique identifier for the library section. + */ + @JsonIgnore + public long librarySectionID() { + return librarySectionID; + } + + /** + * The title of the library section. + */ + @JsonIgnore + public String librarySectionTitle() { + return librarySectionTitle; + } + + /** + * The universally unique identifier for the library section. + */ + @JsonIgnore + public Optional librarySectionUUID() { + return librarySectionUUID; + } + + /** + * The prefix used for media tag resource paths. + */ + @JsonIgnore + public String mediaTagPrefix() { + return mediaTagPrefix; + } + + /** + * The version number for media tags. + */ + @JsonIgnore + public long mediaTagVersion() { + return mediaTagVersion; + } + + /** + * An array of metadata items. + */ + @JsonIgnore + public List metadata() { + return metadata; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetMediaMetaDataMediaContainer withSize(double size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + /** + * Indicates whether syncing is allowed. + */ + public GetMediaMetaDataMediaContainer withAllowSync(boolean allowSync) { + Utils.checkNotNull(allowSync, "allowSync"); + this.allowSync = allowSync; + return this; + } + + /** + * An plugin identifier for the media container. + */ + public GetMediaMetaDataMediaContainer withIdentifier(String identifier) { + Utils.checkNotNull(identifier, "identifier"); + this.identifier = identifier; + return this; + } + + /** + * The unique identifier for the library section. + */ + public GetMediaMetaDataMediaContainer withLibrarySectionID(long librarySectionID) { + Utils.checkNotNull(librarySectionID, "librarySectionID"); + this.librarySectionID = librarySectionID; + return this; + } + + /** + * The title of the library section. + */ + public GetMediaMetaDataMediaContainer withLibrarySectionTitle(String librarySectionTitle) { + Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); + this.librarySectionTitle = librarySectionTitle; + return this; + } + + /** + * The universally unique identifier for the library section. + */ + public GetMediaMetaDataMediaContainer withLibrarySectionUUID(String librarySectionUUID) { + Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); + this.librarySectionUUID = Optional.ofNullable(librarySectionUUID); + return this; + } + + /** + * The universally unique identifier for the library section. + */ + public GetMediaMetaDataMediaContainer withLibrarySectionUUID(Optional librarySectionUUID) { + Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); + this.librarySectionUUID = librarySectionUUID; + return this; + } + + /** + * The prefix used for media tag resource paths. + */ + public GetMediaMetaDataMediaContainer withMediaTagPrefix(String mediaTagPrefix) { + Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); + this.mediaTagPrefix = mediaTagPrefix; + return this; + } + + /** + * The version number for media tags. + */ + public GetMediaMetaDataMediaContainer withMediaTagVersion(long mediaTagVersion) { + Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); + this.mediaTagVersion = mediaTagVersion; + return this; + } + + /** + * An array of metadata items. + */ + public GetMediaMetaDataMediaContainer withMetadata(List metadata) { + Utils.checkNotNull(metadata, "metadata"); + this.metadata = metadata; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataMediaContainer other = (GetMediaMetaDataMediaContainer) o; + return + Objects.deepEquals(this.size, other.size) && + Objects.deepEquals(this.allowSync, other.allowSync) && + Objects.deepEquals(this.identifier, other.identifier) && + Objects.deepEquals(this.librarySectionID, other.librarySectionID) && + Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && + Objects.deepEquals(this.librarySectionUUID, other.librarySectionUUID) && + Objects.deepEquals(this.mediaTagPrefix, other.mediaTagPrefix) && + Objects.deepEquals(this.mediaTagVersion, other.mediaTagVersion) && + Objects.deepEquals(this.metadata, other.metadata); + } + + @Override + public int hashCode() { + return Objects.hash( + size, + allowSync, + identifier, + librarySectionID, + librarySectionTitle, + librarySectionUUID, + mediaTagPrefix, + mediaTagVersion, + metadata); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataMediaContainer.class, + "size", size, + "allowSync", allowSync, + "identifier", identifier, + "librarySectionID", librarySectionID, + "librarySectionTitle", librarySectionTitle, + "librarySectionUUID", librarySectionUUID, + "mediaTagPrefix", mediaTagPrefix, + "mediaTagVersion", mediaTagVersion, + "metadata", metadata); + } + + public final static class Builder { + + private Double size; + + private Boolean allowSync; + + private String identifier; + + private Long librarySectionID; + + private String librarySectionTitle; + + private Optional librarySectionUUID = Optional.empty(); + + private String mediaTagPrefix; + + private Long mediaTagVersion; + + private List metadata; + + private Builder() { + // force use of static builder() method + } + + public Builder size(double size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + /** + * Indicates whether syncing is allowed. + */ + public Builder allowSync(boolean allowSync) { + Utils.checkNotNull(allowSync, "allowSync"); + this.allowSync = allowSync; + return this; + } + + /** + * An plugin identifier for the media container. + */ + public Builder identifier(String identifier) { + Utils.checkNotNull(identifier, "identifier"); + this.identifier = identifier; + return this; + } + + /** + * The unique identifier for the library section. + */ + public Builder librarySectionID(long librarySectionID) { + Utils.checkNotNull(librarySectionID, "librarySectionID"); + this.librarySectionID = librarySectionID; + return this; + } + + /** + * The title of the library section. + */ + public Builder librarySectionTitle(String librarySectionTitle) { + Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); + this.librarySectionTitle = librarySectionTitle; + return this; + } + + /** + * The universally unique identifier for the library section. + */ + public Builder librarySectionUUID(String librarySectionUUID) { + Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); + this.librarySectionUUID = Optional.ofNullable(librarySectionUUID); + return this; + } + + /** + * The universally unique identifier for the library section. + */ + public Builder librarySectionUUID(Optional librarySectionUUID) { + Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); + this.librarySectionUUID = librarySectionUUID; + return this; + } + + /** + * The prefix used for media tag resource paths. + */ + public Builder mediaTagPrefix(String mediaTagPrefix) { + Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); + this.mediaTagPrefix = mediaTagPrefix; + return this; + } + + /** + * The version number for media tags. + */ + public Builder mediaTagVersion(long mediaTagVersion) { + Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); + this.mediaTagVersion = mediaTagVersion; + return this; + } + + /** + * An array of metadata items. + */ + public Builder metadata(List metadata) { + Utils.checkNotNull(metadata, "metadata"); + this.metadata = metadata; + return this; + } + + public GetMediaMetaDataMediaContainer build() { + return new GetMediaMetaDataMediaContainer( + size, + allowSync, + identifier, + librarySectionID, + librarySectionTitle, + librarySectionUUID, + mediaTagPrefix, + mediaTagVersion, + metadata); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMetadata.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMetadata.java new file mode 100644 index 00000000..32c7bf3f --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataMetadata.java @@ -0,0 +1,3141 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Float; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.time.LocalDate; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + + +public class GetMediaMetaDataMetadata { + + /** + * The rating key of the metadata item. + */ + @JsonProperty("ratingKey") + private String ratingKey; + + /** + * The rating key of the parent of this metadata item. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parentRatingKey") + private Optional parentRatingKey; + + /** + * The rating key of the grandparent of this metadata item. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("grandparentRatingKey") + private Optional grandparentRatingKey; + + /** + * A GUID identifying the parent entity (e.g., season) for the item. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parentGuid") + private Optional parentGuid; + + /** + * A GUID identifying the grandparent entity (e.g., show). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("grandparentGuid") + private Optional grandparentGuid; + + /** + * A URL-friendly identifier (slug) for the grandparent entity. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("grandparentSlug") + private Optional grandparentSlug; + + /** + * A key identifying the grandparent metadata in the library. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("grandparentKey") + private Optional grandparentKey; + + /** + * A key identifying the parent metadata in the library. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parentKey") + private Optional parentKey; + + /** + * The API key to access metadata details. + */ + @JsonProperty("key") + private String key; + + /** + * The globally unique identifier for the item. + */ + @JsonProperty("guid") + private String guid; + + /** + * A URL-friendly identifier for the item. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("slug") + private Optional slug; + + /** + * The studio that produced the content. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("studio") + private Optional studio; + + /** + * The type of content (e.g., show, movie). + */ + @JsonProperty("type") + private String type; + + /** + * The title of the content. + */ + @JsonProperty("title") + private String title; + + /** + * The original title of the content. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("originalTitle") + private Optional originalTitle; + + /** + * The title of the library section. + */ + @JsonProperty("librarySectionTitle") + private String librarySectionTitle; + + /** + * The ID of the library section. + */ + @JsonProperty("librarySectionID") + private long librarySectionID; + + /** + * The key of the library section. + */ + @JsonProperty("librarySectionKey") + private String librarySectionKey; + + /** + * The content rating (e.g., TV-MA). + */ + @JsonProperty("contentRating") + private String contentRating; + + /** + * A summary of the content. + */ + @JsonProperty("summary") + private String summary; + + /** + * The index or order of the item. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("index") + private Optional index; + + /** + * The title of the grandparent entity (typically the show's title). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("grandparentTitle") + private Optional grandparentTitle; + + /** + * The title of the parent entity (typically the season's title). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parentTitle") + private Optional parentTitle; + + /** + * The audience rating for the content. + */ + @JsonProperty("audienceRating") + private float audienceRating; + + /** + * The number of times the item has been viewed. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("viewCount") + private Optional viewCount; + + /** + * The number of times the item has been skipped. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("skipCount") + private Optional skipCount; + + /** + * Unix timestamp of when the item was last viewed. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lastViewedAt") + private Optional lastViewedAt; + + /** + * The release year. + */ + @JsonProperty("year") + private long year; + + /** + * The tagline of the content. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("tagline") + private Optional tagline; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chapterSource") + private Optional chapterSource; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("primaryExtraKey") + private Optional primaryExtraKey; + + /** + * URL of the thumbnail image. + */ + @JsonProperty("thumb") + private String thumb; + + /** + * URL of the art image. + */ + @JsonProperty("art") + private String art; + + /** + * URL of the theme image. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("theme") + private Optional theme; + + /** + * Duration of the content in milliseconds. + */ + @JsonProperty("duration") + private long duration; + + /** + * The original release date. + */ + @JsonProperty("originallyAvailableAt") + private LocalDate originallyAvailableAt; + + /** + * The total number of episodes (or leaves). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("leafCount") + private Optional leafCount; + + /** + * The number of episodes that have been viewed. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("viewedLeafCount") + private Optional viewedLeafCount; + + /** + * The number of child items. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("childCount") + private Optional childCount; + + /** + * Unix timestamp when the item was added. + */ + @JsonProperty("addedAt") + private long addedAt; + + /** + * Unix timestamp when the item was last updated. + */ + @JsonProperty("updatedAt") + private long updatedAt; + + /** + * The URL for the audience rating image. + */ + @JsonProperty("audienceRatingImage") + private String audienceRatingImage; + + /** + * The index number of the parent entity, which could indicate its order or position. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parentIndex") + private Optional parentIndex; + + /** + * The URL of the parent's thumbnail image. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("parentThumb") + private Optional parentThumb; + + /** + * The URL of the grandparent's thumbnail image. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("grandparentThumb") + private Optional grandparentThumb; + + /** + * The URL of the grandparent's art image. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("grandparentArt") + private Optional grandparentArt; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Media") + private Optional> media; + + /** + * An array of image objects. + */ + @JsonProperty("Image") + private List image; + + @JsonProperty("UltraBlurColors") + private GetMediaMetaDataUltraBlurColors ultraBlurColors; + + /** + * An array of genre tags. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Genre") + private Optional> genre; + + /** + * An array of country tags. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Country") + private Optional> country; + + /** + * An array of GUID objects. + */ + @JsonProperty("Guid") + private List guids; + + /** + * An array of rating objects. + */ + @JsonProperty("Rating") + private List rating; + + /** + * An array of Actor roles. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Role") + private Optional> role; + + /** + * An array of Director roles. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Director") + private Optional> director; + + /** + * An array of Writer roles. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Writer") + private Optional> writer; + + /** + * An array of Writer roles. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Producer") + private Optional> producer; + + /** + * An array of similar content objects. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Similar") + private Optional> similar; + + /** + * An array of location objects. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("Location") + private Optional> location; + + @JsonCreator + public GetMediaMetaDataMetadata( + @JsonProperty("ratingKey") String ratingKey, + @JsonProperty("parentRatingKey") Optional parentRatingKey, + @JsonProperty("grandparentRatingKey") Optional grandparentRatingKey, + @JsonProperty("parentGuid") Optional parentGuid, + @JsonProperty("grandparentGuid") Optional grandparentGuid, + @JsonProperty("grandparentSlug") Optional grandparentSlug, + @JsonProperty("grandparentKey") Optional grandparentKey, + @JsonProperty("parentKey") Optional parentKey, + @JsonProperty("key") String key, + @JsonProperty("guid") String guid, + @JsonProperty("slug") Optional slug, + @JsonProperty("studio") Optional studio, + @JsonProperty("type") String type, + @JsonProperty("title") String title, + @JsonProperty("originalTitle") Optional originalTitle, + @JsonProperty("librarySectionTitle") String librarySectionTitle, + @JsonProperty("librarySectionID") long librarySectionID, + @JsonProperty("librarySectionKey") String librarySectionKey, + @JsonProperty("contentRating") String contentRating, + @JsonProperty("summary") String summary, + @JsonProperty("index") Optional index, + @JsonProperty("grandparentTitle") Optional grandparentTitle, + @JsonProperty("parentTitle") Optional parentTitle, + @JsonProperty("audienceRating") float audienceRating, + @JsonProperty("viewCount") Optional viewCount, + @JsonProperty("skipCount") Optional skipCount, + @JsonProperty("lastViewedAt") Optional lastViewedAt, + @JsonProperty("year") long year, + @JsonProperty("tagline") Optional tagline, + @JsonProperty("chapterSource") Optional chapterSource, + @JsonProperty("primaryExtraKey") Optional primaryExtraKey, + @JsonProperty("thumb") String thumb, + @JsonProperty("art") String art, + @JsonProperty("theme") Optional theme, + @JsonProperty("duration") long duration, + @JsonProperty("originallyAvailableAt") LocalDate originallyAvailableAt, + @JsonProperty("leafCount") Optional leafCount, + @JsonProperty("viewedLeafCount") Optional viewedLeafCount, + @JsonProperty("childCount") Optional childCount, + @JsonProperty("addedAt") long addedAt, + @JsonProperty("updatedAt") long updatedAt, + @JsonProperty("audienceRatingImage") String audienceRatingImage, + @JsonProperty("parentIndex") Optional parentIndex, + @JsonProperty("parentThumb") Optional parentThumb, + @JsonProperty("grandparentThumb") Optional grandparentThumb, + @JsonProperty("grandparentArt") Optional grandparentArt, + @JsonProperty("Media") Optional> media, + @JsonProperty("Image") List image, + @JsonProperty("UltraBlurColors") GetMediaMetaDataUltraBlurColors ultraBlurColors, + @JsonProperty("Genre") Optional> genre, + @JsonProperty("Country") Optional> country, + @JsonProperty("Guid") List guids, + @JsonProperty("Rating") List rating, + @JsonProperty("Role") Optional> role, + @JsonProperty("Director") Optional> director, + @JsonProperty("Writer") Optional> writer, + @JsonProperty("Producer") Optional> producer, + @JsonProperty("Similar") Optional> similar, + @JsonProperty("Location") Optional> location) { + Utils.checkNotNull(ratingKey, "ratingKey"); + Utils.checkNotNull(parentRatingKey, "parentRatingKey"); + Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); + Utils.checkNotNull(parentGuid, "parentGuid"); + Utils.checkNotNull(grandparentGuid, "grandparentGuid"); + Utils.checkNotNull(grandparentSlug, "grandparentSlug"); + Utils.checkNotNull(grandparentKey, "grandparentKey"); + Utils.checkNotNull(parentKey, "parentKey"); + Utils.checkNotNull(key, "key"); + Utils.checkNotNull(guid, "guid"); + Utils.checkNotNull(slug, "slug"); + Utils.checkNotNull(studio, "studio"); + Utils.checkNotNull(type, "type"); + Utils.checkNotNull(title, "title"); + Utils.checkNotNull(originalTitle, "originalTitle"); + Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); + Utils.checkNotNull(librarySectionID, "librarySectionID"); + Utils.checkNotNull(librarySectionKey, "librarySectionKey"); + Utils.checkNotNull(contentRating, "contentRating"); + Utils.checkNotNull(summary, "summary"); + Utils.checkNotNull(index, "index"); + Utils.checkNotNull(grandparentTitle, "grandparentTitle"); + Utils.checkNotNull(parentTitle, "parentTitle"); + Utils.checkNotNull(audienceRating, "audienceRating"); + Utils.checkNotNull(viewCount, "viewCount"); + Utils.checkNotNull(skipCount, "skipCount"); + Utils.checkNotNull(lastViewedAt, "lastViewedAt"); + Utils.checkNotNull(year, "year"); + Utils.checkNotNull(tagline, "tagline"); + Utils.checkNotNull(chapterSource, "chapterSource"); + Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); + Utils.checkNotNull(thumb, "thumb"); + Utils.checkNotNull(art, "art"); + Utils.checkNotNull(theme, "theme"); + Utils.checkNotNull(duration, "duration"); + Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); + Utils.checkNotNull(leafCount, "leafCount"); + Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); + Utils.checkNotNull(childCount, "childCount"); + Utils.checkNotNull(addedAt, "addedAt"); + Utils.checkNotNull(updatedAt, "updatedAt"); + Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); + Utils.checkNotNull(parentIndex, "parentIndex"); + Utils.checkNotNull(parentThumb, "parentThumb"); + Utils.checkNotNull(grandparentThumb, "grandparentThumb"); + Utils.checkNotNull(grandparentArt, "grandparentArt"); + Utils.checkNotNull(media, "media"); + Utils.checkNotNull(image, "image"); + Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); + Utils.checkNotNull(genre, "genre"); + Utils.checkNotNull(country, "country"); + Utils.checkNotNull(guids, "guids"); + Utils.checkNotNull(rating, "rating"); + Utils.checkNotNull(role, "role"); + Utils.checkNotNull(director, "director"); + Utils.checkNotNull(writer, "writer"); + Utils.checkNotNull(producer, "producer"); + Utils.checkNotNull(similar, "similar"); + Utils.checkNotNull(location, "location"); + this.ratingKey = ratingKey; + this.parentRatingKey = parentRatingKey; + this.grandparentRatingKey = grandparentRatingKey; + this.parentGuid = parentGuid; + this.grandparentGuid = grandparentGuid; + this.grandparentSlug = grandparentSlug; + this.grandparentKey = grandparentKey; + this.parentKey = parentKey; + this.key = key; + this.guid = guid; + this.slug = slug; + this.studio = studio; + this.type = type; + this.title = title; + this.originalTitle = originalTitle; + this.librarySectionTitle = librarySectionTitle; + this.librarySectionID = librarySectionID; + this.librarySectionKey = librarySectionKey; + this.contentRating = contentRating; + this.summary = summary; + this.index = index; + this.grandparentTitle = grandparentTitle; + this.parentTitle = parentTitle; + this.audienceRating = audienceRating; + this.viewCount = viewCount; + this.skipCount = skipCount; + this.lastViewedAt = lastViewedAt; + this.year = year; + this.tagline = tagline; + this.chapterSource = chapterSource; + this.primaryExtraKey = primaryExtraKey; + this.thumb = thumb; + this.art = art; + this.theme = theme; + this.duration = duration; + this.originallyAvailableAt = originallyAvailableAt; + this.leafCount = leafCount; + this.viewedLeafCount = viewedLeafCount; + this.childCount = childCount; + this.addedAt = addedAt; + this.updatedAt = updatedAt; + this.audienceRatingImage = audienceRatingImage; + this.parentIndex = parentIndex; + this.parentThumb = parentThumb; + this.grandparentThumb = grandparentThumb; + this.grandparentArt = grandparentArt; + this.media = media; + this.image = image; + this.ultraBlurColors = ultraBlurColors; + this.genre = genre; + this.country = country; + this.guids = guids; + this.rating = rating; + this.role = role; + this.director = director; + this.writer = writer; + this.producer = producer; + this.similar = similar; + this.location = location; + } + + public GetMediaMetaDataMetadata( + String ratingKey, + String key, + String guid, + String type, + String title, + String librarySectionTitle, + long librarySectionID, + String librarySectionKey, + String contentRating, + String summary, + float audienceRating, + long year, + String thumb, + String art, + long duration, + LocalDate originallyAvailableAt, + long addedAt, + long updatedAt, + String audienceRatingImage, + List image, + GetMediaMetaDataUltraBlurColors ultraBlurColors, + List guids, + List rating) { + this(ratingKey, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), key, guid, Optional.empty(), Optional.empty(), type, title, Optional.empty(), librarySectionTitle, librarySectionID, librarySectionKey, contentRating, summary, Optional.empty(), Optional.empty(), Optional.empty(), audienceRating, Optional.empty(), Optional.empty(), Optional.empty(), year, Optional.empty(), Optional.empty(), Optional.empty(), thumb, art, Optional.empty(), duration, originallyAvailableAt, Optional.empty(), Optional.empty(), Optional.empty(), addedAt, updatedAt, audienceRatingImage, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), image, ultraBlurColors, Optional.empty(), Optional.empty(), guids, rating, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + } + + /** + * The rating key of the metadata item. + */ + @JsonIgnore + public String ratingKey() { + return ratingKey; + } + + /** + * The rating key of the parent of this metadata item. + */ + @JsonIgnore + public Optional parentRatingKey() { + return parentRatingKey; + } + + /** + * The rating key of the grandparent of this metadata item. + */ + @JsonIgnore + public Optional grandparentRatingKey() { + return grandparentRatingKey; + } + + /** + * A GUID identifying the parent entity (e.g., season) for the item. + */ + @JsonIgnore + public Optional parentGuid() { + return parentGuid; + } + + /** + * A GUID identifying the grandparent entity (e.g., show). + */ + @JsonIgnore + public Optional grandparentGuid() { + return grandparentGuid; + } + + /** + * A URL-friendly identifier (slug) for the grandparent entity. + */ + @JsonIgnore + public Optional grandparentSlug() { + return grandparentSlug; + } + + /** + * A key identifying the grandparent metadata in the library. + */ + @JsonIgnore + public Optional grandparentKey() { + return grandparentKey; + } + + /** + * A key identifying the parent metadata in the library. + */ + @JsonIgnore + public Optional parentKey() { + return parentKey; + } + + /** + * The API key to access metadata details. + */ + @JsonIgnore + public String key() { + return key; + } + + /** + * The globally unique identifier for the item. + */ + @JsonIgnore + public String guid() { + return guid; + } + + /** + * A URL-friendly identifier for the item. + */ + @JsonIgnore + public Optional slug() { + return slug; + } + + /** + * The studio that produced the content. + */ + @JsonIgnore + public Optional studio() { + return studio; + } + + /** + * The type of content (e.g., show, movie). + */ + @JsonIgnore + public String type() { + return type; + } + + /** + * The title of the content. + */ + @JsonIgnore + public String title() { + return title; + } + + /** + * The original title of the content. + */ + @JsonIgnore + public Optional originalTitle() { + return originalTitle; + } + + /** + * The title of the library section. + */ + @JsonIgnore + public String librarySectionTitle() { + return librarySectionTitle; + } + + /** + * The ID of the library section. + */ + @JsonIgnore + public long librarySectionID() { + return librarySectionID; + } + + /** + * The key of the library section. + */ + @JsonIgnore + public String librarySectionKey() { + return librarySectionKey; + } + + /** + * The content rating (e.g., TV-MA). + */ + @JsonIgnore + public String contentRating() { + return contentRating; + } + + /** + * A summary of the content. + */ + @JsonIgnore + public String summary() { + return summary; + } + + /** + * The index or order of the item. + */ + @JsonIgnore + public Optional index() { + return index; + } + + /** + * The title of the grandparent entity (typically the show's title). + */ + @JsonIgnore + public Optional grandparentTitle() { + return grandparentTitle; + } + + /** + * The title of the parent entity (typically the season's title). + */ + @JsonIgnore + public Optional parentTitle() { + return parentTitle; + } + + /** + * The audience rating for the content. + */ + @JsonIgnore + public float audienceRating() { + return audienceRating; + } + + /** + * The number of times the item has been viewed. + */ + @JsonIgnore + public Optional viewCount() { + return viewCount; + } + + /** + * The number of times the item has been skipped. + */ + @JsonIgnore + public Optional skipCount() { + return skipCount; + } + + /** + * Unix timestamp of when the item was last viewed. + */ + @JsonIgnore + public Optional lastViewedAt() { + return lastViewedAt; + } + + /** + * The release year. + */ + @JsonIgnore + public long year() { + return year; + } + + /** + * The tagline of the content. + */ + @JsonIgnore + public Optional tagline() { + return tagline; + } + + @JsonIgnore + public Optional chapterSource() { + return chapterSource; + } + + @JsonIgnore + public Optional primaryExtraKey() { + return primaryExtraKey; + } + + /** + * URL of the thumbnail image. + */ + @JsonIgnore + public String thumb() { + return thumb; + } + + /** + * URL of the art image. + */ + @JsonIgnore + public String art() { + return art; + } + + /** + * URL of the theme image. + */ + @JsonIgnore + public Optional theme() { + return theme; + } + + /** + * Duration of the content in milliseconds. + */ + @JsonIgnore + public long duration() { + return duration; + } + + /** + * The original release date. + */ + @JsonIgnore + public LocalDate originallyAvailableAt() { + return originallyAvailableAt; + } + + /** + * The total number of episodes (or leaves). + */ + @JsonIgnore + public Optional leafCount() { + return leafCount; + } + + /** + * The number of episodes that have been viewed. + */ + @JsonIgnore + public Optional viewedLeafCount() { + return viewedLeafCount; + } + + /** + * The number of child items. + */ + @JsonIgnore + public Optional childCount() { + return childCount; + } + + /** + * Unix timestamp when the item was added. + */ + @JsonIgnore + public long addedAt() { + return addedAt; + } + + /** + * Unix timestamp when the item was last updated. + */ + @JsonIgnore + public long updatedAt() { + return updatedAt; + } + + /** + * The URL for the audience rating image. + */ + @JsonIgnore + public String audienceRatingImage() { + return audienceRatingImage; + } + + /** + * The index number of the parent entity, which could indicate its order or position. + */ + @JsonIgnore + public Optional parentIndex() { + return parentIndex; + } + + /** + * The URL of the parent's thumbnail image. + */ + @JsonIgnore + public Optional parentThumb() { + return parentThumb; + } + + /** + * The URL of the grandparent's thumbnail image. + */ + @JsonIgnore + public Optional grandparentThumb() { + return grandparentThumb; + } + + /** + * The URL of the grandparent's art image. + */ + @JsonIgnore + public Optional grandparentArt() { + return grandparentArt; + } + + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> media() { + return (Optional>) media; + } + + /** + * An array of image objects. + */ + @JsonIgnore + public List image() { + return image; + } + + @JsonIgnore + public GetMediaMetaDataUltraBlurColors ultraBlurColors() { + return ultraBlurColors; + } + + /** + * An array of genre tags. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> genre() { + return (Optional>) genre; + } + + /** + * An array of country tags. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> country() { + return (Optional>) country; + } + + /** + * An array of GUID objects. + */ + @JsonIgnore + public List guids() { + return guids; + } + + /** + * An array of rating objects. + */ + @JsonIgnore + public List rating() { + return rating; + } + + /** + * An array of Actor roles. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> role() { + return (Optional>) role; + } + + /** + * An array of Director roles. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> director() { + return (Optional>) director; + } + + /** + * An array of Writer roles. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> writer() { + return (Optional>) writer; + } + + /** + * An array of Writer roles. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> producer() { + return (Optional>) producer; + } + + /** + * An array of similar content objects. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> similar() { + return (Optional>) similar; + } + + /** + * An array of location objects. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional> location() { + return (Optional>) location; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The rating key of the metadata item. + */ + public GetMediaMetaDataMetadata withRatingKey(String ratingKey) { + Utils.checkNotNull(ratingKey, "ratingKey"); + this.ratingKey = ratingKey; + return this; + } + + /** + * The rating key of the parent of this metadata item. + */ + public GetMediaMetaDataMetadata withParentRatingKey(String parentRatingKey) { + Utils.checkNotNull(parentRatingKey, "parentRatingKey"); + this.parentRatingKey = Optional.ofNullable(parentRatingKey); + return this; + } + + /** + * The rating key of the parent of this metadata item. + */ + public GetMediaMetaDataMetadata withParentRatingKey(Optional parentRatingKey) { + Utils.checkNotNull(parentRatingKey, "parentRatingKey"); + this.parentRatingKey = parentRatingKey; + return this; + } + + /** + * The rating key of the grandparent of this metadata item. + */ + public GetMediaMetaDataMetadata withGrandparentRatingKey(String grandparentRatingKey) { + Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); + this.grandparentRatingKey = Optional.ofNullable(grandparentRatingKey); + return this; + } + + /** + * The rating key of the grandparent of this metadata item. + */ + public GetMediaMetaDataMetadata withGrandparentRatingKey(Optional grandparentRatingKey) { + Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); + this.grandparentRatingKey = grandparentRatingKey; + return this; + } + + /** + * A GUID identifying the parent entity (e.g., season) for the item. + */ + public GetMediaMetaDataMetadata withParentGuid(String parentGuid) { + Utils.checkNotNull(parentGuid, "parentGuid"); + this.parentGuid = Optional.ofNullable(parentGuid); + return this; + } + + /** + * A GUID identifying the parent entity (e.g., season) for the item. + */ + public GetMediaMetaDataMetadata withParentGuid(Optional parentGuid) { + Utils.checkNotNull(parentGuid, "parentGuid"); + this.parentGuid = parentGuid; + return this; + } + + /** + * A GUID identifying the grandparent entity (e.g., show). + */ + public GetMediaMetaDataMetadata withGrandparentGuid(String grandparentGuid) { + Utils.checkNotNull(grandparentGuid, "grandparentGuid"); + this.grandparentGuid = Optional.ofNullable(grandparentGuid); + return this; + } + + /** + * A GUID identifying the grandparent entity (e.g., show). + */ + public GetMediaMetaDataMetadata withGrandparentGuid(Optional grandparentGuid) { + Utils.checkNotNull(grandparentGuid, "grandparentGuid"); + this.grandparentGuid = grandparentGuid; + return this; + } + + /** + * A URL-friendly identifier (slug) for the grandparent entity. + */ + public GetMediaMetaDataMetadata withGrandparentSlug(String grandparentSlug) { + Utils.checkNotNull(grandparentSlug, "grandparentSlug"); + this.grandparentSlug = Optional.ofNullable(grandparentSlug); + return this; + } + + /** + * A URL-friendly identifier (slug) for the grandparent entity. + */ + public GetMediaMetaDataMetadata withGrandparentSlug(Optional grandparentSlug) { + Utils.checkNotNull(grandparentSlug, "grandparentSlug"); + this.grandparentSlug = grandparentSlug; + return this; + } + + /** + * A key identifying the grandparent metadata in the library. + */ + public GetMediaMetaDataMetadata withGrandparentKey(String grandparentKey) { + Utils.checkNotNull(grandparentKey, "grandparentKey"); + this.grandparentKey = Optional.ofNullable(grandparentKey); + return this; + } + + /** + * A key identifying the grandparent metadata in the library. + */ + public GetMediaMetaDataMetadata withGrandparentKey(Optional grandparentKey) { + Utils.checkNotNull(grandparentKey, "grandparentKey"); + this.grandparentKey = grandparentKey; + return this; + } + + /** + * A key identifying the parent metadata in the library. + */ + public GetMediaMetaDataMetadata withParentKey(String parentKey) { + Utils.checkNotNull(parentKey, "parentKey"); + this.parentKey = Optional.ofNullable(parentKey); + return this; + } + + /** + * A key identifying the parent metadata in the library. + */ + public GetMediaMetaDataMetadata withParentKey(Optional parentKey) { + Utils.checkNotNull(parentKey, "parentKey"); + this.parentKey = parentKey; + return this; + } + + /** + * The API key to access metadata details. + */ + public GetMediaMetaDataMetadata withKey(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * The globally unique identifier for the item. + */ + public GetMediaMetaDataMetadata withGuid(String guid) { + Utils.checkNotNull(guid, "guid"); + this.guid = guid; + return this; + } + + /** + * A URL-friendly identifier for the item. + */ + public GetMediaMetaDataMetadata withSlug(String slug) { + Utils.checkNotNull(slug, "slug"); + this.slug = Optional.ofNullable(slug); + return this; + } + + /** + * A URL-friendly identifier for the item. + */ + public GetMediaMetaDataMetadata withSlug(Optional slug) { + Utils.checkNotNull(slug, "slug"); + this.slug = slug; + return this; + } + + /** + * The studio that produced the content. + */ + public GetMediaMetaDataMetadata withStudio(String studio) { + Utils.checkNotNull(studio, "studio"); + this.studio = Optional.ofNullable(studio); + return this; + } + + /** + * The studio that produced the content. + */ + public GetMediaMetaDataMetadata withStudio(Optional studio) { + Utils.checkNotNull(studio, "studio"); + this.studio = studio; + return this; + } + + /** + * The type of content (e.g., show, movie). + */ + public GetMediaMetaDataMetadata withType(String type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + + /** + * The title of the content. + */ + public GetMediaMetaDataMetadata withTitle(String title) { + Utils.checkNotNull(title, "title"); + this.title = title; + return this; + } + + /** + * The original title of the content. + */ + public GetMediaMetaDataMetadata withOriginalTitle(String originalTitle) { + Utils.checkNotNull(originalTitle, "originalTitle"); + this.originalTitle = Optional.ofNullable(originalTitle); + return this; + } + + /** + * The original title of the content. + */ + public GetMediaMetaDataMetadata withOriginalTitle(Optional originalTitle) { + Utils.checkNotNull(originalTitle, "originalTitle"); + this.originalTitle = originalTitle; + return this; + } + + /** + * The title of the library section. + */ + public GetMediaMetaDataMetadata withLibrarySectionTitle(String librarySectionTitle) { + Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); + this.librarySectionTitle = librarySectionTitle; + return this; + } + + /** + * The ID of the library section. + */ + public GetMediaMetaDataMetadata withLibrarySectionID(long librarySectionID) { + Utils.checkNotNull(librarySectionID, "librarySectionID"); + this.librarySectionID = librarySectionID; + return this; + } + + /** + * The key of the library section. + */ + public GetMediaMetaDataMetadata withLibrarySectionKey(String librarySectionKey) { + Utils.checkNotNull(librarySectionKey, "librarySectionKey"); + this.librarySectionKey = librarySectionKey; + return this; + } + + /** + * The content rating (e.g., TV-MA). + */ + public GetMediaMetaDataMetadata withContentRating(String contentRating) { + Utils.checkNotNull(contentRating, "contentRating"); + this.contentRating = contentRating; + return this; + } + + /** + * A summary of the content. + */ + public GetMediaMetaDataMetadata withSummary(String summary) { + Utils.checkNotNull(summary, "summary"); + this.summary = summary; + return this; + } + + /** + * The index or order of the item. + */ + public GetMediaMetaDataMetadata withIndex(long index) { + Utils.checkNotNull(index, "index"); + this.index = Optional.ofNullable(index); + return this; + } + + /** + * The index or order of the item. + */ + public GetMediaMetaDataMetadata withIndex(Optional index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * The title of the grandparent entity (typically the show's title). + */ + public GetMediaMetaDataMetadata withGrandparentTitle(String grandparentTitle) { + Utils.checkNotNull(grandparentTitle, "grandparentTitle"); + this.grandparentTitle = Optional.ofNullable(grandparentTitle); + return this; + } + + /** + * The title of the grandparent entity (typically the show's title). + */ + public GetMediaMetaDataMetadata withGrandparentTitle(Optional grandparentTitle) { + Utils.checkNotNull(grandparentTitle, "grandparentTitle"); + this.grandparentTitle = grandparentTitle; + return this; + } + + /** + * The title of the parent entity (typically the season's title). + */ + public GetMediaMetaDataMetadata withParentTitle(String parentTitle) { + Utils.checkNotNull(parentTitle, "parentTitle"); + this.parentTitle = Optional.ofNullable(parentTitle); + return this; + } + + /** + * The title of the parent entity (typically the season's title). + */ + public GetMediaMetaDataMetadata withParentTitle(Optional parentTitle) { + Utils.checkNotNull(parentTitle, "parentTitle"); + this.parentTitle = parentTitle; + return this; + } + + /** + * The audience rating for the content. + */ + public GetMediaMetaDataMetadata withAudienceRating(float audienceRating) { + Utils.checkNotNull(audienceRating, "audienceRating"); + this.audienceRating = audienceRating; + return this; + } + + /** + * The number of times the item has been viewed. + */ + public GetMediaMetaDataMetadata withViewCount(long viewCount) { + Utils.checkNotNull(viewCount, "viewCount"); + this.viewCount = Optional.ofNullable(viewCount); + return this; + } + + /** + * The number of times the item has been viewed. + */ + public GetMediaMetaDataMetadata withViewCount(Optional viewCount) { + Utils.checkNotNull(viewCount, "viewCount"); + this.viewCount = viewCount; + return this; + } + + /** + * The number of times the item has been skipped. + */ + public GetMediaMetaDataMetadata withSkipCount(long skipCount) { + Utils.checkNotNull(skipCount, "skipCount"); + this.skipCount = Optional.ofNullable(skipCount); + return this; + } + + /** + * The number of times the item has been skipped. + */ + public GetMediaMetaDataMetadata withSkipCount(Optional skipCount) { + Utils.checkNotNull(skipCount, "skipCount"); + this.skipCount = skipCount; + return this; + } + + /** + * Unix timestamp of when the item was last viewed. + */ + public GetMediaMetaDataMetadata withLastViewedAt(long lastViewedAt) { + Utils.checkNotNull(lastViewedAt, "lastViewedAt"); + this.lastViewedAt = Optional.ofNullable(lastViewedAt); + return this; + } + + /** + * Unix timestamp of when the item was last viewed. + */ + public GetMediaMetaDataMetadata withLastViewedAt(Optional lastViewedAt) { + Utils.checkNotNull(lastViewedAt, "lastViewedAt"); + this.lastViewedAt = lastViewedAt; + return this; + } + + /** + * The release year. + */ + public GetMediaMetaDataMetadata withYear(long year) { + Utils.checkNotNull(year, "year"); + this.year = year; + return this; + } + + /** + * The tagline of the content. + */ + public GetMediaMetaDataMetadata withTagline(String tagline) { + Utils.checkNotNull(tagline, "tagline"); + this.tagline = Optional.ofNullable(tagline); + return this; + } + + /** + * The tagline of the content. + */ + public GetMediaMetaDataMetadata withTagline(Optional tagline) { + Utils.checkNotNull(tagline, "tagline"); + this.tagline = tagline; + return this; + } + + public GetMediaMetaDataMetadata withChapterSource(String chapterSource) { + Utils.checkNotNull(chapterSource, "chapterSource"); + this.chapterSource = Optional.ofNullable(chapterSource); + return this; + } + + public GetMediaMetaDataMetadata withChapterSource(Optional chapterSource) { + Utils.checkNotNull(chapterSource, "chapterSource"); + this.chapterSource = chapterSource; + return this; + } + + public GetMediaMetaDataMetadata withPrimaryExtraKey(String primaryExtraKey) { + Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); + this.primaryExtraKey = Optional.ofNullable(primaryExtraKey); + return this; + } + + public GetMediaMetaDataMetadata withPrimaryExtraKey(Optional primaryExtraKey) { + Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); + this.primaryExtraKey = primaryExtraKey; + return this; + } + + /** + * URL of the thumbnail image. + */ + public GetMediaMetaDataMetadata withThumb(String thumb) { + Utils.checkNotNull(thumb, "thumb"); + this.thumb = thumb; + return this; + } + + /** + * URL of the art image. + */ + public GetMediaMetaDataMetadata withArt(String art) { + Utils.checkNotNull(art, "art"); + this.art = art; + return this; + } + + /** + * URL of the theme image. + */ + public GetMediaMetaDataMetadata withTheme(String theme) { + Utils.checkNotNull(theme, "theme"); + this.theme = Optional.ofNullable(theme); + return this; + } + + /** + * URL of the theme image. + */ + public GetMediaMetaDataMetadata withTheme(Optional theme) { + Utils.checkNotNull(theme, "theme"); + this.theme = theme; + return this; + } + + /** + * Duration of the content in milliseconds. + */ + public GetMediaMetaDataMetadata withDuration(long duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + /** + * The original release date. + */ + public GetMediaMetaDataMetadata withOriginallyAvailableAt(LocalDate originallyAvailableAt) { + Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); + this.originallyAvailableAt = originallyAvailableAt; + return this; + } + + /** + * The total number of episodes (or leaves). + */ + public GetMediaMetaDataMetadata withLeafCount(long leafCount) { + Utils.checkNotNull(leafCount, "leafCount"); + this.leafCount = Optional.ofNullable(leafCount); + return this; + } + + /** + * The total number of episodes (or leaves). + */ + public GetMediaMetaDataMetadata withLeafCount(Optional leafCount) { + Utils.checkNotNull(leafCount, "leafCount"); + this.leafCount = leafCount; + return this; + } + + /** + * The number of episodes that have been viewed. + */ + public GetMediaMetaDataMetadata withViewedLeafCount(long viewedLeafCount) { + Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); + this.viewedLeafCount = Optional.ofNullable(viewedLeafCount); + return this; + } + + /** + * The number of episodes that have been viewed. + */ + public GetMediaMetaDataMetadata withViewedLeafCount(Optional viewedLeafCount) { + Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); + this.viewedLeafCount = viewedLeafCount; + return this; + } + + /** + * The number of child items. + */ + public GetMediaMetaDataMetadata withChildCount(long childCount) { + Utils.checkNotNull(childCount, "childCount"); + this.childCount = Optional.ofNullable(childCount); + return this; + } + + /** + * The number of child items. + */ + public GetMediaMetaDataMetadata withChildCount(Optional childCount) { + Utils.checkNotNull(childCount, "childCount"); + this.childCount = childCount; + return this; + } + + /** + * Unix timestamp when the item was added. + */ + public GetMediaMetaDataMetadata withAddedAt(long addedAt) { + Utils.checkNotNull(addedAt, "addedAt"); + this.addedAt = addedAt; + return this; + } + + /** + * Unix timestamp when the item was last updated. + */ + public GetMediaMetaDataMetadata withUpdatedAt(long updatedAt) { + Utils.checkNotNull(updatedAt, "updatedAt"); + this.updatedAt = updatedAt; + return this; + } + + /** + * The URL for the audience rating image. + */ + public GetMediaMetaDataMetadata withAudienceRatingImage(String audienceRatingImage) { + Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); + this.audienceRatingImage = audienceRatingImage; + return this; + } + + /** + * The index number of the parent entity, which could indicate its order or position. + */ + public GetMediaMetaDataMetadata withParentIndex(long parentIndex) { + Utils.checkNotNull(parentIndex, "parentIndex"); + this.parentIndex = Optional.ofNullable(parentIndex); + return this; + } + + /** + * The index number of the parent entity, which could indicate its order or position. + */ + public GetMediaMetaDataMetadata withParentIndex(Optional parentIndex) { + Utils.checkNotNull(parentIndex, "parentIndex"); + this.parentIndex = parentIndex; + return this; + } + + /** + * The URL of the parent's thumbnail image. + */ + public GetMediaMetaDataMetadata withParentThumb(String parentThumb) { + Utils.checkNotNull(parentThumb, "parentThumb"); + this.parentThumb = Optional.ofNullable(parentThumb); + return this; + } + + /** + * The URL of the parent's thumbnail image. + */ + public GetMediaMetaDataMetadata withParentThumb(Optional parentThumb) { + Utils.checkNotNull(parentThumb, "parentThumb"); + this.parentThumb = parentThumb; + return this; + } + + /** + * The URL of the grandparent's thumbnail image. + */ + public GetMediaMetaDataMetadata withGrandparentThumb(String grandparentThumb) { + Utils.checkNotNull(grandparentThumb, "grandparentThumb"); + this.grandparentThumb = Optional.ofNullable(grandparentThumb); + return this; + } + + /** + * The URL of the grandparent's thumbnail image. + */ + public GetMediaMetaDataMetadata withGrandparentThumb(Optional grandparentThumb) { + Utils.checkNotNull(grandparentThumb, "grandparentThumb"); + this.grandparentThumb = grandparentThumb; + return this; + } + + /** + * The URL of the grandparent's art image. + */ + public GetMediaMetaDataMetadata withGrandparentArt(String grandparentArt) { + Utils.checkNotNull(grandparentArt, "grandparentArt"); + this.grandparentArt = Optional.ofNullable(grandparentArt); + return this; + } + + /** + * The URL of the grandparent's art image. + */ + public GetMediaMetaDataMetadata withGrandparentArt(Optional grandparentArt) { + Utils.checkNotNull(grandparentArt, "grandparentArt"); + this.grandparentArt = grandparentArt; + return this; + } + + public GetMediaMetaDataMetadata withMedia(List media) { + Utils.checkNotNull(media, "media"); + this.media = Optional.ofNullable(media); + return this; + } + + public GetMediaMetaDataMetadata withMedia(Optional> media) { + Utils.checkNotNull(media, "media"); + this.media = media; + return this; + } + + /** + * An array of image objects. + */ + public GetMediaMetaDataMetadata withImage(List image) { + Utils.checkNotNull(image, "image"); + this.image = image; + return this; + } + + public GetMediaMetaDataMetadata withUltraBlurColors(GetMediaMetaDataUltraBlurColors ultraBlurColors) { + Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); + this.ultraBlurColors = ultraBlurColors; + return this; + } + + /** + * An array of genre tags. + */ + public GetMediaMetaDataMetadata withGenre(List genre) { + Utils.checkNotNull(genre, "genre"); + this.genre = Optional.ofNullable(genre); + return this; + } + + /** + * An array of genre tags. + */ + public GetMediaMetaDataMetadata withGenre(Optional> genre) { + Utils.checkNotNull(genre, "genre"); + this.genre = genre; + return this; + } + + /** + * An array of country tags. + */ + public GetMediaMetaDataMetadata withCountry(List country) { + Utils.checkNotNull(country, "country"); + this.country = Optional.ofNullable(country); + return this; + } + + /** + * An array of country tags. + */ + public GetMediaMetaDataMetadata withCountry(Optional> country) { + Utils.checkNotNull(country, "country"); + this.country = country; + return this; + } + + /** + * An array of GUID objects. + */ + public GetMediaMetaDataMetadata withGuids(List guids) { + Utils.checkNotNull(guids, "guids"); + this.guids = guids; + return this; + } + + /** + * An array of rating objects. + */ + public GetMediaMetaDataMetadata withRating(List rating) { + Utils.checkNotNull(rating, "rating"); + this.rating = rating; + return this; + } + + /** + * An array of Actor roles. + */ + public GetMediaMetaDataMetadata withRole(List role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * An array of Actor roles. + */ + public GetMediaMetaDataMetadata withRole(Optional> role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * An array of Director roles. + */ + public GetMediaMetaDataMetadata withDirector(List director) { + Utils.checkNotNull(director, "director"); + this.director = Optional.ofNullable(director); + return this; + } + + /** + * An array of Director roles. + */ + public GetMediaMetaDataMetadata withDirector(Optional> director) { + Utils.checkNotNull(director, "director"); + this.director = director; + return this; + } + + /** + * An array of Writer roles. + */ + public GetMediaMetaDataMetadata withWriter(List writer) { + Utils.checkNotNull(writer, "writer"); + this.writer = Optional.ofNullable(writer); + return this; + } + + /** + * An array of Writer roles. + */ + public GetMediaMetaDataMetadata withWriter(Optional> writer) { + Utils.checkNotNull(writer, "writer"); + this.writer = writer; + return this; + } + + /** + * An array of Writer roles. + */ + public GetMediaMetaDataMetadata withProducer(List producer) { + Utils.checkNotNull(producer, "producer"); + this.producer = Optional.ofNullable(producer); + return this; + } + + /** + * An array of Writer roles. + */ + public GetMediaMetaDataMetadata withProducer(Optional> producer) { + Utils.checkNotNull(producer, "producer"); + this.producer = producer; + return this; + } + + /** + * An array of similar content objects. + */ + public GetMediaMetaDataMetadata withSimilar(List similar) { + Utils.checkNotNull(similar, "similar"); + this.similar = Optional.ofNullable(similar); + return this; + } + + /** + * An array of similar content objects. + */ + public GetMediaMetaDataMetadata withSimilar(Optional> similar) { + Utils.checkNotNull(similar, "similar"); + this.similar = similar; + return this; + } + + /** + * An array of location objects. + */ + public GetMediaMetaDataMetadata withLocation(List location) { + Utils.checkNotNull(location, "location"); + this.location = Optional.ofNullable(location); + return this; + } + + /** + * An array of location objects. + */ + public GetMediaMetaDataMetadata withLocation(Optional> location) { + Utils.checkNotNull(location, "location"); + this.location = location; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataMetadata other = (GetMediaMetaDataMetadata) o; + return + Objects.deepEquals(this.ratingKey, other.ratingKey) && + Objects.deepEquals(this.parentRatingKey, other.parentRatingKey) && + Objects.deepEquals(this.grandparentRatingKey, other.grandparentRatingKey) && + Objects.deepEquals(this.parentGuid, other.parentGuid) && + Objects.deepEquals(this.grandparentGuid, other.grandparentGuid) && + Objects.deepEquals(this.grandparentSlug, other.grandparentSlug) && + Objects.deepEquals(this.grandparentKey, other.grandparentKey) && + Objects.deepEquals(this.parentKey, other.parentKey) && + Objects.deepEquals(this.key, other.key) && + Objects.deepEquals(this.guid, other.guid) && + Objects.deepEquals(this.slug, other.slug) && + Objects.deepEquals(this.studio, other.studio) && + Objects.deepEquals(this.type, other.type) && + Objects.deepEquals(this.title, other.title) && + Objects.deepEquals(this.originalTitle, other.originalTitle) && + Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && + Objects.deepEquals(this.librarySectionID, other.librarySectionID) && + Objects.deepEquals(this.librarySectionKey, other.librarySectionKey) && + Objects.deepEquals(this.contentRating, other.contentRating) && + Objects.deepEquals(this.summary, other.summary) && + Objects.deepEquals(this.index, other.index) && + Objects.deepEquals(this.grandparentTitle, other.grandparentTitle) && + Objects.deepEquals(this.parentTitle, other.parentTitle) && + Objects.deepEquals(this.audienceRating, other.audienceRating) && + Objects.deepEquals(this.viewCount, other.viewCount) && + Objects.deepEquals(this.skipCount, other.skipCount) && + Objects.deepEquals(this.lastViewedAt, other.lastViewedAt) && + Objects.deepEquals(this.year, other.year) && + Objects.deepEquals(this.tagline, other.tagline) && + Objects.deepEquals(this.chapterSource, other.chapterSource) && + Objects.deepEquals(this.primaryExtraKey, other.primaryExtraKey) && + Objects.deepEquals(this.thumb, other.thumb) && + Objects.deepEquals(this.art, other.art) && + Objects.deepEquals(this.theme, other.theme) && + Objects.deepEquals(this.duration, other.duration) && + Objects.deepEquals(this.originallyAvailableAt, other.originallyAvailableAt) && + Objects.deepEquals(this.leafCount, other.leafCount) && + Objects.deepEquals(this.viewedLeafCount, other.viewedLeafCount) && + Objects.deepEquals(this.childCount, other.childCount) && + Objects.deepEquals(this.addedAt, other.addedAt) && + Objects.deepEquals(this.updatedAt, other.updatedAt) && + Objects.deepEquals(this.audienceRatingImage, other.audienceRatingImage) && + Objects.deepEquals(this.parentIndex, other.parentIndex) && + Objects.deepEquals(this.parentThumb, other.parentThumb) && + Objects.deepEquals(this.grandparentThumb, other.grandparentThumb) && + Objects.deepEquals(this.grandparentArt, other.grandparentArt) && + Objects.deepEquals(this.media, other.media) && + Objects.deepEquals(this.image, other.image) && + Objects.deepEquals(this.ultraBlurColors, other.ultraBlurColors) && + Objects.deepEquals(this.genre, other.genre) && + Objects.deepEquals(this.country, other.country) && + Objects.deepEquals(this.guids, other.guids) && + Objects.deepEquals(this.rating, other.rating) && + Objects.deepEquals(this.role, other.role) && + Objects.deepEquals(this.director, other.director) && + Objects.deepEquals(this.writer, other.writer) && + Objects.deepEquals(this.producer, other.producer) && + Objects.deepEquals(this.similar, other.similar) && + Objects.deepEquals(this.location, other.location); + } + + @Override + public int hashCode() { + return Objects.hash( + ratingKey, + parentRatingKey, + grandparentRatingKey, + parentGuid, + grandparentGuid, + grandparentSlug, + grandparentKey, + parentKey, + key, + guid, + slug, + studio, + type, + title, + originalTitle, + librarySectionTitle, + librarySectionID, + librarySectionKey, + contentRating, + summary, + index, + grandparentTitle, + parentTitle, + audienceRating, + viewCount, + skipCount, + lastViewedAt, + year, + tagline, + chapterSource, + primaryExtraKey, + thumb, + art, + theme, + duration, + originallyAvailableAt, + leafCount, + viewedLeafCount, + childCount, + addedAt, + updatedAt, + audienceRatingImage, + parentIndex, + parentThumb, + grandparentThumb, + grandparentArt, + media, + image, + ultraBlurColors, + genre, + country, + guids, + rating, + role, + director, + writer, + producer, + similar, + location); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataMetadata.class, + "ratingKey", ratingKey, + "parentRatingKey", parentRatingKey, + "grandparentRatingKey", grandparentRatingKey, + "parentGuid", parentGuid, + "grandparentGuid", grandparentGuid, + "grandparentSlug", grandparentSlug, + "grandparentKey", grandparentKey, + "parentKey", parentKey, + "key", key, + "guid", guid, + "slug", slug, + "studio", studio, + "type", type, + "title", title, + "originalTitle", originalTitle, + "librarySectionTitle", librarySectionTitle, + "librarySectionID", librarySectionID, + "librarySectionKey", librarySectionKey, + "contentRating", contentRating, + "summary", summary, + "index", index, + "grandparentTitle", grandparentTitle, + "parentTitle", parentTitle, + "audienceRating", audienceRating, + "viewCount", viewCount, + "skipCount", skipCount, + "lastViewedAt", lastViewedAt, + "year", year, + "tagline", tagline, + "chapterSource", chapterSource, + "primaryExtraKey", primaryExtraKey, + "thumb", thumb, + "art", art, + "theme", theme, + "duration", duration, + "originallyAvailableAt", originallyAvailableAt, + "leafCount", leafCount, + "viewedLeafCount", viewedLeafCount, + "childCount", childCount, + "addedAt", addedAt, + "updatedAt", updatedAt, + "audienceRatingImage", audienceRatingImage, + "parentIndex", parentIndex, + "parentThumb", parentThumb, + "grandparentThumb", grandparentThumb, + "grandparentArt", grandparentArt, + "media", media, + "image", image, + "ultraBlurColors", ultraBlurColors, + "genre", genre, + "country", country, + "guids", guids, + "rating", rating, + "role", role, + "director", director, + "writer", writer, + "producer", producer, + "similar", similar, + "location", location); + } + + public final static class Builder { + + private String ratingKey; + + private Optional parentRatingKey = Optional.empty(); + + private Optional grandparentRatingKey = Optional.empty(); + + private Optional parentGuid = Optional.empty(); + + private Optional grandparentGuid = Optional.empty(); + + private Optional grandparentSlug = Optional.empty(); + + private Optional grandparentKey = Optional.empty(); + + private Optional parentKey = Optional.empty(); + + private String key; + + private String guid; + + private Optional slug = Optional.empty(); + + private Optional studio = Optional.empty(); + + private String type; + + private String title; + + private Optional originalTitle = Optional.empty(); + + private String librarySectionTitle; + + private Long librarySectionID; + + private String librarySectionKey; + + private String contentRating; + + private String summary; + + private Optional index = Optional.empty(); + + private Optional grandparentTitle = Optional.empty(); + + private Optional parentTitle = Optional.empty(); + + private Float audienceRating; + + private Optional viewCount = Optional.empty(); + + private Optional skipCount = Optional.empty(); + + private Optional lastViewedAt = Optional.empty(); + + private Long year; + + private Optional tagline = Optional.empty(); + + private Optional chapterSource = Optional.empty(); + + private Optional primaryExtraKey = Optional.empty(); + + private String thumb; + + private String art; + + private Optional theme = Optional.empty(); + + private Long duration; + + private LocalDate originallyAvailableAt; + + private Optional leafCount = Optional.empty(); + + private Optional viewedLeafCount = Optional.empty(); + + private Optional childCount = Optional.empty(); + + private Long addedAt; + + private Long updatedAt; + + private String audienceRatingImage; + + private Optional parentIndex = Optional.empty(); + + private Optional parentThumb = Optional.empty(); + + private Optional grandparentThumb = Optional.empty(); + + private Optional grandparentArt = Optional.empty(); + + private Optional> media = Optional.empty(); + + private List image; + + private GetMediaMetaDataUltraBlurColors ultraBlurColors; + + private Optional> genre = Optional.empty(); + + private Optional> country = Optional.empty(); + + private List guids; + + private List rating; + + private Optional> role = Optional.empty(); + + private Optional> director = Optional.empty(); + + private Optional> writer = Optional.empty(); + + private Optional> producer = Optional.empty(); + + private Optional> similar = Optional.empty(); + + private Optional> location = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * The rating key of the metadata item. + */ + public Builder ratingKey(String ratingKey) { + Utils.checkNotNull(ratingKey, "ratingKey"); + this.ratingKey = ratingKey; + return this; + } + + /** + * The rating key of the parent of this metadata item. + */ + public Builder parentRatingKey(String parentRatingKey) { + Utils.checkNotNull(parentRatingKey, "parentRatingKey"); + this.parentRatingKey = Optional.ofNullable(parentRatingKey); + return this; + } + + /** + * The rating key of the parent of this metadata item. + */ + public Builder parentRatingKey(Optional parentRatingKey) { + Utils.checkNotNull(parentRatingKey, "parentRatingKey"); + this.parentRatingKey = parentRatingKey; + return this; + } + + /** + * The rating key of the grandparent of this metadata item. + */ + public Builder grandparentRatingKey(String grandparentRatingKey) { + Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); + this.grandparentRatingKey = Optional.ofNullable(grandparentRatingKey); + return this; + } + + /** + * The rating key of the grandparent of this metadata item. + */ + public Builder grandparentRatingKey(Optional grandparentRatingKey) { + Utils.checkNotNull(grandparentRatingKey, "grandparentRatingKey"); + this.grandparentRatingKey = grandparentRatingKey; + return this; + } + + /** + * A GUID identifying the parent entity (e.g., season) for the item. + */ + public Builder parentGuid(String parentGuid) { + Utils.checkNotNull(parentGuid, "parentGuid"); + this.parentGuid = Optional.ofNullable(parentGuid); + return this; + } + + /** + * A GUID identifying the parent entity (e.g., season) for the item. + */ + public Builder parentGuid(Optional parentGuid) { + Utils.checkNotNull(parentGuid, "parentGuid"); + this.parentGuid = parentGuid; + return this; + } + + /** + * A GUID identifying the grandparent entity (e.g., show). + */ + public Builder grandparentGuid(String grandparentGuid) { + Utils.checkNotNull(grandparentGuid, "grandparentGuid"); + this.grandparentGuid = Optional.ofNullable(grandparentGuid); + return this; + } + + /** + * A GUID identifying the grandparent entity (e.g., show). + */ + public Builder grandparentGuid(Optional grandparentGuid) { + Utils.checkNotNull(grandparentGuid, "grandparentGuid"); + this.grandparentGuid = grandparentGuid; + return this; + } + + /** + * A URL-friendly identifier (slug) for the grandparent entity. + */ + public Builder grandparentSlug(String grandparentSlug) { + Utils.checkNotNull(grandparentSlug, "grandparentSlug"); + this.grandparentSlug = Optional.ofNullable(grandparentSlug); + return this; + } + + /** + * A URL-friendly identifier (slug) for the grandparent entity. + */ + public Builder grandparentSlug(Optional grandparentSlug) { + Utils.checkNotNull(grandparentSlug, "grandparentSlug"); + this.grandparentSlug = grandparentSlug; + return this; + } + + /** + * A key identifying the grandparent metadata in the library. + */ + public Builder grandparentKey(String grandparentKey) { + Utils.checkNotNull(grandparentKey, "grandparentKey"); + this.grandparentKey = Optional.ofNullable(grandparentKey); + return this; + } + + /** + * A key identifying the grandparent metadata in the library. + */ + public Builder grandparentKey(Optional grandparentKey) { + Utils.checkNotNull(grandparentKey, "grandparentKey"); + this.grandparentKey = grandparentKey; + return this; + } + + /** + * A key identifying the parent metadata in the library. + */ + public Builder parentKey(String parentKey) { + Utils.checkNotNull(parentKey, "parentKey"); + this.parentKey = Optional.ofNullable(parentKey); + return this; + } + + /** + * A key identifying the parent metadata in the library. + */ + public Builder parentKey(Optional parentKey) { + Utils.checkNotNull(parentKey, "parentKey"); + this.parentKey = parentKey; + return this; + } + + /** + * The API key to access metadata details. + */ + public Builder key(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + /** + * The globally unique identifier for the item. + */ + public Builder guid(String guid) { + Utils.checkNotNull(guid, "guid"); + this.guid = guid; + return this; + } + + /** + * A URL-friendly identifier for the item. + */ + public Builder slug(String slug) { + Utils.checkNotNull(slug, "slug"); + this.slug = Optional.ofNullable(slug); + return this; + } + + /** + * A URL-friendly identifier for the item. + */ + public Builder slug(Optional slug) { + Utils.checkNotNull(slug, "slug"); + this.slug = slug; + return this; + } + + /** + * The studio that produced the content. + */ + public Builder studio(String studio) { + Utils.checkNotNull(studio, "studio"); + this.studio = Optional.ofNullable(studio); + return this; + } + + /** + * The studio that produced the content. + */ + public Builder studio(Optional studio) { + Utils.checkNotNull(studio, "studio"); + this.studio = studio; + return this; + } + + /** + * The type of content (e.g., show, movie). + */ + public Builder type(String type) { + Utils.checkNotNull(type, "type"); + this.type = type; + return this; + } + + /** + * The title of the content. + */ + public Builder title(String title) { + Utils.checkNotNull(title, "title"); + this.title = title; + return this; + } + + /** + * The original title of the content. + */ + public Builder originalTitle(String originalTitle) { + Utils.checkNotNull(originalTitle, "originalTitle"); + this.originalTitle = Optional.ofNullable(originalTitle); + return this; + } + + /** + * The original title of the content. + */ + public Builder originalTitle(Optional originalTitle) { + Utils.checkNotNull(originalTitle, "originalTitle"); + this.originalTitle = originalTitle; + return this; + } + + /** + * The title of the library section. + */ + public Builder librarySectionTitle(String librarySectionTitle) { + Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); + this.librarySectionTitle = librarySectionTitle; + return this; + } + + /** + * The ID of the library section. + */ + public Builder librarySectionID(long librarySectionID) { + Utils.checkNotNull(librarySectionID, "librarySectionID"); + this.librarySectionID = librarySectionID; + return this; + } + + /** + * The key of the library section. + */ + public Builder librarySectionKey(String librarySectionKey) { + Utils.checkNotNull(librarySectionKey, "librarySectionKey"); + this.librarySectionKey = librarySectionKey; + return this; + } + + /** + * The content rating (e.g., TV-MA). + */ + public Builder contentRating(String contentRating) { + Utils.checkNotNull(contentRating, "contentRating"); + this.contentRating = contentRating; + return this; + } + + /** + * A summary of the content. + */ + public Builder summary(String summary) { + Utils.checkNotNull(summary, "summary"); + this.summary = summary; + return this; + } + + /** + * The index or order of the item. + */ + public Builder index(long index) { + Utils.checkNotNull(index, "index"); + this.index = Optional.ofNullable(index); + return this; + } + + /** + * The index or order of the item. + */ + public Builder index(Optional index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * The title of the grandparent entity (typically the show's title). + */ + public Builder grandparentTitle(String grandparentTitle) { + Utils.checkNotNull(grandparentTitle, "grandparentTitle"); + this.grandparentTitle = Optional.ofNullable(grandparentTitle); + return this; + } + + /** + * The title of the grandparent entity (typically the show's title). + */ + public Builder grandparentTitle(Optional grandparentTitle) { + Utils.checkNotNull(grandparentTitle, "grandparentTitle"); + this.grandparentTitle = grandparentTitle; + return this; + } + + /** + * The title of the parent entity (typically the season's title). + */ + public Builder parentTitle(String parentTitle) { + Utils.checkNotNull(parentTitle, "parentTitle"); + this.parentTitle = Optional.ofNullable(parentTitle); + return this; + } + + /** + * The title of the parent entity (typically the season's title). + */ + public Builder parentTitle(Optional parentTitle) { + Utils.checkNotNull(parentTitle, "parentTitle"); + this.parentTitle = parentTitle; + return this; + } + + /** + * The audience rating for the content. + */ + public Builder audienceRating(float audienceRating) { + Utils.checkNotNull(audienceRating, "audienceRating"); + this.audienceRating = audienceRating; + return this; + } + + /** + * The number of times the item has been viewed. + */ + public Builder viewCount(long viewCount) { + Utils.checkNotNull(viewCount, "viewCount"); + this.viewCount = Optional.ofNullable(viewCount); + return this; + } + + /** + * The number of times the item has been viewed. + */ + public Builder viewCount(Optional viewCount) { + Utils.checkNotNull(viewCount, "viewCount"); + this.viewCount = viewCount; + return this; + } + + /** + * The number of times the item has been skipped. + */ + public Builder skipCount(long skipCount) { + Utils.checkNotNull(skipCount, "skipCount"); + this.skipCount = Optional.ofNullable(skipCount); + return this; + } + + /** + * The number of times the item has been skipped. + */ + public Builder skipCount(Optional skipCount) { + Utils.checkNotNull(skipCount, "skipCount"); + this.skipCount = skipCount; + return this; + } + + /** + * Unix timestamp of when the item was last viewed. + */ + public Builder lastViewedAt(long lastViewedAt) { + Utils.checkNotNull(lastViewedAt, "lastViewedAt"); + this.lastViewedAt = Optional.ofNullable(lastViewedAt); + return this; + } + + /** + * Unix timestamp of when the item was last viewed. + */ + public Builder lastViewedAt(Optional lastViewedAt) { + Utils.checkNotNull(lastViewedAt, "lastViewedAt"); + this.lastViewedAt = lastViewedAt; + return this; + } + + /** + * The release year. + */ + public Builder year(long year) { + Utils.checkNotNull(year, "year"); + this.year = year; + return this; + } + + /** + * The tagline of the content. + */ + public Builder tagline(String tagline) { + Utils.checkNotNull(tagline, "tagline"); + this.tagline = Optional.ofNullable(tagline); + return this; + } + + /** + * The tagline of the content. + */ + public Builder tagline(Optional tagline) { + Utils.checkNotNull(tagline, "tagline"); + this.tagline = tagline; + return this; + } + + public Builder chapterSource(String chapterSource) { + Utils.checkNotNull(chapterSource, "chapterSource"); + this.chapterSource = Optional.ofNullable(chapterSource); + return this; + } + + public Builder chapterSource(Optional chapterSource) { + Utils.checkNotNull(chapterSource, "chapterSource"); + this.chapterSource = chapterSource; + return this; + } + + public Builder primaryExtraKey(String primaryExtraKey) { + Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); + this.primaryExtraKey = Optional.ofNullable(primaryExtraKey); + return this; + } + + public Builder primaryExtraKey(Optional primaryExtraKey) { + Utils.checkNotNull(primaryExtraKey, "primaryExtraKey"); + this.primaryExtraKey = primaryExtraKey; + return this; + } + + /** + * URL of the thumbnail image. + */ + public Builder thumb(String thumb) { + Utils.checkNotNull(thumb, "thumb"); + this.thumb = thumb; + return this; + } + + /** + * URL of the art image. + */ + public Builder art(String art) { + Utils.checkNotNull(art, "art"); + this.art = art; + return this; + } + + /** + * URL of the theme image. + */ + public Builder theme(String theme) { + Utils.checkNotNull(theme, "theme"); + this.theme = Optional.ofNullable(theme); + return this; + } + + /** + * URL of the theme image. + */ + public Builder theme(Optional theme) { + Utils.checkNotNull(theme, "theme"); + this.theme = theme; + return this; + } + + /** + * Duration of the content in milliseconds. + */ + public Builder duration(long duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + /** + * The original release date. + */ + public Builder originallyAvailableAt(LocalDate originallyAvailableAt) { + Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); + this.originallyAvailableAt = originallyAvailableAt; + return this; + } + + /** + * The total number of episodes (or leaves). + */ + public Builder leafCount(long leafCount) { + Utils.checkNotNull(leafCount, "leafCount"); + this.leafCount = Optional.ofNullable(leafCount); + return this; + } + + /** + * The total number of episodes (or leaves). + */ + public Builder leafCount(Optional leafCount) { + Utils.checkNotNull(leafCount, "leafCount"); + this.leafCount = leafCount; + return this; + } + + /** + * The number of episodes that have been viewed. + */ + public Builder viewedLeafCount(long viewedLeafCount) { + Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); + this.viewedLeafCount = Optional.ofNullable(viewedLeafCount); + return this; + } + + /** + * The number of episodes that have been viewed. + */ + public Builder viewedLeafCount(Optional viewedLeafCount) { + Utils.checkNotNull(viewedLeafCount, "viewedLeafCount"); + this.viewedLeafCount = viewedLeafCount; + return this; + } + + /** + * The number of child items. + */ + public Builder childCount(long childCount) { + Utils.checkNotNull(childCount, "childCount"); + this.childCount = Optional.ofNullable(childCount); + return this; + } + + /** + * The number of child items. + */ + public Builder childCount(Optional childCount) { + Utils.checkNotNull(childCount, "childCount"); + this.childCount = childCount; + return this; + } + + /** + * Unix timestamp when the item was added. + */ + public Builder addedAt(long addedAt) { + Utils.checkNotNull(addedAt, "addedAt"); + this.addedAt = addedAt; + return this; + } + + /** + * Unix timestamp when the item was last updated. + */ + public Builder updatedAt(long updatedAt) { + Utils.checkNotNull(updatedAt, "updatedAt"); + this.updatedAt = updatedAt; + return this; + } + + /** + * The URL for the audience rating image. + */ + public Builder audienceRatingImage(String audienceRatingImage) { + Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); + this.audienceRatingImage = audienceRatingImage; + return this; + } + + /** + * The index number of the parent entity, which could indicate its order or position. + */ + public Builder parentIndex(long parentIndex) { + Utils.checkNotNull(parentIndex, "parentIndex"); + this.parentIndex = Optional.ofNullable(parentIndex); + return this; + } + + /** + * The index number of the parent entity, which could indicate its order or position. + */ + public Builder parentIndex(Optional parentIndex) { + Utils.checkNotNull(parentIndex, "parentIndex"); + this.parentIndex = parentIndex; + return this; + } + + /** + * The URL of the parent's thumbnail image. + */ + public Builder parentThumb(String parentThumb) { + Utils.checkNotNull(parentThumb, "parentThumb"); + this.parentThumb = Optional.ofNullable(parentThumb); + return this; + } + + /** + * The URL of the parent's thumbnail image. + */ + public Builder parentThumb(Optional parentThumb) { + Utils.checkNotNull(parentThumb, "parentThumb"); + this.parentThumb = parentThumb; + return this; + } + + /** + * The URL of the grandparent's thumbnail image. + */ + public Builder grandparentThumb(String grandparentThumb) { + Utils.checkNotNull(grandparentThumb, "grandparentThumb"); + this.grandparentThumb = Optional.ofNullable(grandparentThumb); + return this; + } + + /** + * The URL of the grandparent's thumbnail image. + */ + public Builder grandparentThumb(Optional grandparentThumb) { + Utils.checkNotNull(grandparentThumb, "grandparentThumb"); + this.grandparentThumb = grandparentThumb; + return this; + } + + /** + * The URL of the grandparent's art image. + */ + public Builder grandparentArt(String grandparentArt) { + Utils.checkNotNull(grandparentArt, "grandparentArt"); + this.grandparentArt = Optional.ofNullable(grandparentArt); + return this; + } + + /** + * The URL of the grandparent's art image. + */ + public Builder grandparentArt(Optional grandparentArt) { + Utils.checkNotNull(grandparentArt, "grandparentArt"); + this.grandparentArt = grandparentArt; + return this; + } + + public Builder media(List media) { + Utils.checkNotNull(media, "media"); + this.media = Optional.ofNullable(media); + return this; + } + + public Builder media(Optional> media) { + Utils.checkNotNull(media, "media"); + this.media = media; + return this; + } + + /** + * An array of image objects. + */ + public Builder image(List image) { + Utils.checkNotNull(image, "image"); + this.image = image; + return this; + } + + public Builder ultraBlurColors(GetMediaMetaDataUltraBlurColors ultraBlurColors) { + Utils.checkNotNull(ultraBlurColors, "ultraBlurColors"); + this.ultraBlurColors = ultraBlurColors; + return this; + } + + /** + * An array of genre tags. + */ + public Builder genre(List genre) { + Utils.checkNotNull(genre, "genre"); + this.genre = Optional.ofNullable(genre); + return this; + } + + /** + * An array of genre tags. + */ + public Builder genre(Optional> genre) { + Utils.checkNotNull(genre, "genre"); + this.genre = genre; + return this; + } + + /** + * An array of country tags. + */ + public Builder country(List country) { + Utils.checkNotNull(country, "country"); + this.country = Optional.ofNullable(country); + return this; + } + + /** + * An array of country tags. + */ + public Builder country(Optional> country) { + Utils.checkNotNull(country, "country"); + this.country = country; + return this; + } + + /** + * An array of GUID objects. + */ + public Builder guids(List guids) { + Utils.checkNotNull(guids, "guids"); + this.guids = guids; + return this; + } + + /** + * An array of rating objects. + */ + public Builder rating(List rating) { + Utils.checkNotNull(rating, "rating"); + this.rating = rating; + return this; + } + + /** + * An array of Actor roles. + */ + public Builder role(List role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * An array of Actor roles. + */ + public Builder role(Optional> role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * An array of Director roles. + */ + public Builder director(List director) { + Utils.checkNotNull(director, "director"); + this.director = Optional.ofNullable(director); + return this; + } + + /** + * An array of Director roles. + */ + public Builder director(Optional> director) { + Utils.checkNotNull(director, "director"); + this.director = director; + return this; + } + + /** + * An array of Writer roles. + */ + public Builder writer(List writer) { + Utils.checkNotNull(writer, "writer"); + this.writer = Optional.ofNullable(writer); + return this; + } + + /** + * An array of Writer roles. + */ + public Builder writer(Optional> writer) { + Utils.checkNotNull(writer, "writer"); + this.writer = writer; + return this; + } + + /** + * An array of Writer roles. + */ + public Builder producer(List producer) { + Utils.checkNotNull(producer, "producer"); + this.producer = Optional.ofNullable(producer); + return this; + } + + /** + * An array of Writer roles. + */ + public Builder producer(Optional> producer) { + Utils.checkNotNull(producer, "producer"); + this.producer = producer; + return this; + } + + /** + * An array of similar content objects. + */ + public Builder similar(List similar) { + Utils.checkNotNull(similar, "similar"); + this.similar = Optional.ofNullable(similar); + return this; + } + + /** + * An array of similar content objects. + */ + public Builder similar(Optional> similar) { + Utils.checkNotNull(similar, "similar"); + this.similar = similar; + return this; + } + + /** + * An array of location objects. + */ + public Builder location(List location) { + Utils.checkNotNull(location, "location"); + this.location = Optional.ofNullable(location); + return this; + } + + /** + * An array of location objects. + */ + public Builder location(Optional> location) { + Utils.checkNotNull(location, "location"); + this.location = location; + return this; + } + + public GetMediaMetaDataMetadata build() { + return new GetMediaMetaDataMetadata( + ratingKey, + parentRatingKey, + grandparentRatingKey, + parentGuid, + grandparentGuid, + grandparentSlug, + grandparentKey, + parentKey, + key, + guid, + slug, + studio, + type, + title, + originalTitle, + librarySectionTitle, + librarySectionID, + librarySectionKey, + contentRating, + summary, + index, + grandparentTitle, + parentTitle, + audienceRating, + viewCount, + skipCount, + lastViewedAt, + year, + tagline, + chapterSource, + primaryExtraKey, + thumb, + art, + theme, + duration, + originallyAvailableAt, + leafCount, + viewedLeafCount, + childCount, + addedAt, + updatedAt, + audienceRatingImage, + parentIndex, + parentThumb, + grandparentThumb, + grandparentArt, + media, + image, + ultraBlurColors, + genre, + country, + guids, + rating, + role, + director, + writer, + producer, + similar, + location); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataPart.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataPart.java new file mode 100644 index 00000000..cfeba20b --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataPart.java @@ -0,0 +1,568 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Boolean; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; + + +public class GetMediaMetaDataPart { + + /** + * Indicates if the part is accessible. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("accessible") + private Optional accessible; + + /** + * Indicates if the part exists. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("exists") + private Optional exists; + + /** + * Unique part identifier. + */ + @JsonProperty("id") + private long id; + + /** + * Key to access this part. + */ + @JsonProperty("key") + private String key; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("indexes") + private Optional indexes; + + /** + * Duration of the part in milliseconds. + */ + @JsonProperty("duration") + private long duration; + + /** + * File path for the part. + */ + @JsonProperty("file") + private String file; + + /** + * File size in bytes. + */ + @JsonProperty("size") + private long size; + + /** + * Container format of the part. + */ + @JsonProperty("container") + private String container; + + /** + * Video profile for the part. + */ + @JsonProperty("videoProfile") + private String videoProfile; + + /** + * An array of streams for this part. + */ + @JsonProperty("Stream") + private List stream; + + @JsonCreator + public GetMediaMetaDataPart( + @JsonProperty("accessible") Optional accessible, + @JsonProperty("exists") Optional exists, + @JsonProperty("id") long id, + @JsonProperty("key") String key, + @JsonProperty("indexes") Optional indexes, + @JsonProperty("duration") long duration, + @JsonProperty("file") String file, + @JsonProperty("size") long size, + @JsonProperty("container") String container, + @JsonProperty("videoProfile") String videoProfile, + @JsonProperty("Stream") List stream) { + Utils.checkNotNull(accessible, "accessible"); + Utils.checkNotNull(exists, "exists"); + Utils.checkNotNull(id, "id"); + Utils.checkNotNull(key, "key"); + Utils.checkNotNull(indexes, "indexes"); + Utils.checkNotNull(duration, "duration"); + Utils.checkNotNull(file, "file"); + Utils.checkNotNull(size, "size"); + Utils.checkNotNull(container, "container"); + Utils.checkNotNull(videoProfile, "videoProfile"); + Utils.checkNotNull(stream, "stream"); + this.accessible = accessible; + this.exists = exists; + this.id = id; + this.key = key; + this.indexes = indexes; + this.duration = duration; + this.file = file; + this.size = size; + this.container = container; + this.videoProfile = videoProfile; + this.stream = stream; + } + + public GetMediaMetaDataPart( + long id, + String key, + long duration, + String file, + long size, + String container, + String videoProfile, + List stream) { + this(Optional.empty(), Optional.empty(), id, key, Optional.empty(), duration, file, size, container, videoProfile, stream); + } + + /** + * Indicates if the part is accessible. + */ + @JsonIgnore + public Optional accessible() { + return accessible; + } + + /** + * Indicates if the part exists. + */ + @JsonIgnore + public Optional exists() { + return exists; + } + + /** + * Unique part identifier. + */ + @JsonIgnore + public long id() { + return id; + } + + /** + * Key to access this part. + */ + @JsonIgnore + public String key() { + return key; + } + + @JsonIgnore + public Optional indexes() { + return indexes; + } + + /** + * Duration of the part in milliseconds. + */ + @JsonIgnore + public long duration() { + return duration; + } + + /** + * File path for the part. + */ + @JsonIgnore + public String file() { + return file; + } + + /** + * File size in bytes. + */ + @JsonIgnore + public long size() { + return size; + } + + /** + * Container format of the part. + */ + @JsonIgnore + public String container() { + return container; + } + + /** + * Video profile for the part. + */ + @JsonIgnore + public String videoProfile() { + return videoProfile; + } + + /** + * An array of streams for this part. + */ + @JsonIgnore + public List stream() { + return stream; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Indicates if the part is accessible. + */ + public GetMediaMetaDataPart withAccessible(boolean accessible) { + Utils.checkNotNull(accessible, "accessible"); + this.accessible = Optional.ofNullable(accessible); + return this; + } + + /** + * Indicates if the part is accessible. + */ + public GetMediaMetaDataPart withAccessible(Optional accessible) { + Utils.checkNotNull(accessible, "accessible"); + this.accessible = accessible; + return this; + } + + /** + * Indicates if the part exists. + */ + public GetMediaMetaDataPart withExists(boolean exists) { + Utils.checkNotNull(exists, "exists"); + this.exists = Optional.ofNullable(exists); + return this; + } + + /** + * Indicates if the part exists. + */ + public GetMediaMetaDataPart withExists(Optional exists) { + Utils.checkNotNull(exists, "exists"); + this.exists = exists; + return this; + } + + /** + * Unique part identifier. + */ + public GetMediaMetaDataPart withId(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * Key to access this part. + */ + public GetMediaMetaDataPart withKey(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + public GetMediaMetaDataPart withIndexes(String indexes) { + Utils.checkNotNull(indexes, "indexes"); + this.indexes = Optional.ofNullable(indexes); + return this; + } + + public GetMediaMetaDataPart withIndexes(Optional indexes) { + Utils.checkNotNull(indexes, "indexes"); + this.indexes = indexes; + return this; + } + + /** + * Duration of the part in milliseconds. + */ + public GetMediaMetaDataPart withDuration(long duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + /** + * File path for the part. + */ + public GetMediaMetaDataPart withFile(String file) { + Utils.checkNotNull(file, "file"); + this.file = file; + return this; + } + + /** + * File size in bytes. + */ + public GetMediaMetaDataPart withSize(long size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + /** + * Container format of the part. + */ + public GetMediaMetaDataPart withContainer(String container) { + Utils.checkNotNull(container, "container"); + this.container = container; + return this; + } + + /** + * Video profile for the part. + */ + public GetMediaMetaDataPart withVideoProfile(String videoProfile) { + Utils.checkNotNull(videoProfile, "videoProfile"); + this.videoProfile = videoProfile; + return this; + } + + /** + * An array of streams for this part. + */ + public GetMediaMetaDataPart withStream(List stream) { + Utils.checkNotNull(stream, "stream"); + this.stream = stream; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataPart other = (GetMediaMetaDataPart) o; + return + Objects.deepEquals(this.accessible, other.accessible) && + Objects.deepEquals(this.exists, other.exists) && + Objects.deepEquals(this.id, other.id) && + Objects.deepEquals(this.key, other.key) && + Objects.deepEquals(this.indexes, other.indexes) && + Objects.deepEquals(this.duration, other.duration) && + Objects.deepEquals(this.file, other.file) && + Objects.deepEquals(this.size, other.size) && + Objects.deepEquals(this.container, other.container) && + Objects.deepEquals(this.videoProfile, other.videoProfile) && + Objects.deepEquals(this.stream, other.stream); + } + + @Override + public int hashCode() { + return Objects.hash( + accessible, + exists, + id, + key, + indexes, + duration, + file, + size, + container, + videoProfile, + stream); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataPart.class, + "accessible", accessible, + "exists", exists, + "id", id, + "key", key, + "indexes", indexes, + "duration", duration, + "file", file, + "size", size, + "container", container, + "videoProfile", videoProfile, + "stream", stream); + } + + public final static class Builder { + + private Optional accessible = Optional.empty(); + + private Optional exists = Optional.empty(); + + private Long id; + + private String key; + + private Optional indexes = Optional.empty(); + + private Long duration; + + private String file; + + private Long size; + + private String container; + + private String videoProfile; + + private List stream; + + private Builder() { + // force use of static builder() method + } + + /** + * Indicates if the part is accessible. + */ + public Builder accessible(boolean accessible) { + Utils.checkNotNull(accessible, "accessible"); + this.accessible = Optional.ofNullable(accessible); + return this; + } + + /** + * Indicates if the part is accessible. + */ + public Builder accessible(Optional accessible) { + Utils.checkNotNull(accessible, "accessible"); + this.accessible = accessible; + return this; + } + + /** + * Indicates if the part exists. + */ + public Builder exists(boolean exists) { + Utils.checkNotNull(exists, "exists"); + this.exists = Optional.ofNullable(exists); + return this; + } + + /** + * Indicates if the part exists. + */ + public Builder exists(Optional exists) { + Utils.checkNotNull(exists, "exists"); + this.exists = exists; + return this; + } + + /** + * Unique part identifier. + */ + public Builder id(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * Key to access this part. + */ + public Builder key(String key) { + Utils.checkNotNull(key, "key"); + this.key = key; + return this; + } + + public Builder indexes(String indexes) { + Utils.checkNotNull(indexes, "indexes"); + this.indexes = Optional.ofNullable(indexes); + return this; + } + + public Builder indexes(Optional indexes) { + Utils.checkNotNull(indexes, "indexes"); + this.indexes = indexes; + return this; + } + + /** + * Duration of the part in milliseconds. + */ + public Builder duration(long duration) { + Utils.checkNotNull(duration, "duration"); + this.duration = duration; + return this; + } + + /** + * File path for the part. + */ + public Builder file(String file) { + Utils.checkNotNull(file, "file"); + this.file = file; + return this; + } + + /** + * File size in bytes. + */ + public Builder size(long size) { + Utils.checkNotNull(size, "size"); + this.size = size; + return this; + } + + /** + * Container format of the part. + */ + public Builder container(String container) { + Utils.checkNotNull(container, "container"); + this.container = container; + return this; + } + + /** + * Video profile for the part. + */ + public Builder videoProfile(String videoProfile) { + Utils.checkNotNull(videoProfile, "videoProfile"); + this.videoProfile = videoProfile; + return this; + } + + /** + * An array of streams for this part. + */ + public Builder stream(List stream) { + Utils.checkNotNull(stream, "stream"); + this.stream = stream; + return this; + } + + public GetMediaMetaDataPart build() { + return new GetMediaMetaDataPart( + accessible, + exists, + id, + key, + indexes, + duration, + file, + size, + container, + videoProfile, + stream); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequest.java new file mode 100644 index 00000000..4ca6d962 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequest.java @@ -0,0 +1,876 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import dev.plexapi.sdk.utils.SpeakeasyMetadata; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Boolean; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; + + +public class GetMediaMetaDataRequest { + + /** + * the id of the library item to return the children of. + */ + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ratingKey") + private long ratingKey; + + /** + * Include concerts data if set to true. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeConcerts") + private Optional includeConcerts; + + /** + * Include extra content (e.g. bonus features). + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeExtras") + private Optional includeExtras; + + /** + * Include on-deck items. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeOnDeck") + private Optional includeOnDeck; + + /** + * Include popular leaves (episodes/chapters). + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includePopularLeaves") + private Optional includePopularLeaves; + + /** + * Include preferences information. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includePreferences") + private Optional includePreferences; + + /** + * Include reviews for the content. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeReviews") + private Optional includeReviews; + + /** + * Include chapter details. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeChapters") + private Optional includeChapters; + + /** + * Include station data. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeStations") + private Optional includeStations; + + /** + * Include external media data. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeExternalMedia") + private Optional includeExternalMedia; + + /** + * Trigger asynchronous metadata augmentation. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncAugmentMetadata") + private Optional asyncAugmentMetadata; + + /** + * Trigger asynchronous file checking. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncCheckFiles") + private Optional asyncCheckFiles; + + /** + * Trigger asynchronous refresh of analysis. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncRefreshAnalysis") + private Optional asyncRefreshAnalysis; + + /** + * Trigger asynchronous refresh of the local media agent. + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=asyncRefreshLocalMediaAgent") + private Optional asyncRefreshLocalMediaAgent; + + @JsonCreator + public GetMediaMetaDataRequest( + long ratingKey, + Optional includeConcerts, + Optional includeExtras, + Optional includeOnDeck, + Optional includePopularLeaves, + Optional includePreferences, + Optional includeReviews, + Optional includeChapters, + Optional includeStations, + Optional includeExternalMedia, + Optional asyncAugmentMetadata, + Optional asyncCheckFiles, + Optional asyncRefreshAnalysis, + Optional asyncRefreshLocalMediaAgent) { + Utils.checkNotNull(ratingKey, "ratingKey"); + Utils.checkNotNull(includeConcerts, "includeConcerts"); + Utils.checkNotNull(includeExtras, "includeExtras"); + Utils.checkNotNull(includeOnDeck, "includeOnDeck"); + Utils.checkNotNull(includePopularLeaves, "includePopularLeaves"); + Utils.checkNotNull(includePreferences, "includePreferences"); + Utils.checkNotNull(includeReviews, "includeReviews"); + Utils.checkNotNull(includeChapters, "includeChapters"); + Utils.checkNotNull(includeStations, "includeStations"); + Utils.checkNotNull(includeExternalMedia, "includeExternalMedia"); + Utils.checkNotNull(asyncAugmentMetadata, "asyncAugmentMetadata"); + Utils.checkNotNull(asyncCheckFiles, "asyncCheckFiles"); + Utils.checkNotNull(asyncRefreshAnalysis, "asyncRefreshAnalysis"); + Utils.checkNotNull(asyncRefreshLocalMediaAgent, "asyncRefreshLocalMediaAgent"); + this.ratingKey = ratingKey; + this.includeConcerts = includeConcerts; + this.includeExtras = includeExtras; + this.includeOnDeck = includeOnDeck; + this.includePopularLeaves = includePopularLeaves; + this.includePreferences = includePreferences; + this.includeReviews = includeReviews; + this.includeChapters = includeChapters; + this.includeStations = includeStations; + this.includeExternalMedia = includeExternalMedia; + this.asyncAugmentMetadata = asyncAugmentMetadata; + this.asyncCheckFiles = asyncCheckFiles; + this.asyncRefreshAnalysis = asyncRefreshAnalysis; + this.asyncRefreshLocalMediaAgent = asyncRefreshLocalMediaAgent; + } + + public GetMediaMetaDataRequest( + long ratingKey) { + this(ratingKey, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + } + + /** + * the id of the library item to return the children of. + */ + @JsonIgnore + public long ratingKey() { + return ratingKey; + } + + /** + * Include concerts data if set to true. + */ + @JsonIgnore + public Optional includeConcerts() { + return includeConcerts; + } + + /** + * Include extra content (e.g. bonus features). + */ + @JsonIgnore + public Optional includeExtras() { + return includeExtras; + } + + /** + * Include on-deck items. + */ + @JsonIgnore + public Optional includeOnDeck() { + return includeOnDeck; + } + + /** + * Include popular leaves (episodes/chapters). + */ + @JsonIgnore + public Optional includePopularLeaves() { + return includePopularLeaves; + } + + /** + * Include preferences information. + */ + @JsonIgnore + public Optional includePreferences() { + return includePreferences; + } + + /** + * Include reviews for the content. + */ + @JsonIgnore + public Optional includeReviews() { + return includeReviews; + } + + /** + * Include chapter details. + */ + @JsonIgnore + public Optional includeChapters() { + return includeChapters; + } + + /** + * Include station data. + */ + @JsonIgnore + public Optional includeStations() { + return includeStations; + } + + /** + * Include external media data. + */ + @JsonIgnore + public Optional includeExternalMedia() { + return includeExternalMedia; + } + + /** + * Trigger asynchronous metadata augmentation. + */ + @JsonIgnore + public Optional asyncAugmentMetadata() { + return asyncAugmentMetadata; + } + + /** + * Trigger asynchronous file checking. + */ + @JsonIgnore + public Optional asyncCheckFiles() { + return asyncCheckFiles; + } + + /** + * Trigger asynchronous refresh of analysis. + */ + @JsonIgnore + public Optional asyncRefreshAnalysis() { + return asyncRefreshAnalysis; + } + + /** + * Trigger asynchronous refresh of the local media agent. + */ + @JsonIgnore + public Optional asyncRefreshLocalMediaAgent() { + return asyncRefreshLocalMediaAgent; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * the id of the library item to return the children of. + */ + public GetMediaMetaDataRequest withRatingKey(long ratingKey) { + Utils.checkNotNull(ratingKey, "ratingKey"); + this.ratingKey = ratingKey; + return this; + } + + /** + * Include concerts data if set to true. + */ + public GetMediaMetaDataRequest withIncludeConcerts(boolean includeConcerts) { + Utils.checkNotNull(includeConcerts, "includeConcerts"); + this.includeConcerts = Optional.ofNullable(includeConcerts); + return this; + } + + /** + * Include concerts data if set to true. + */ + public GetMediaMetaDataRequest withIncludeConcerts(Optional includeConcerts) { + Utils.checkNotNull(includeConcerts, "includeConcerts"); + this.includeConcerts = includeConcerts; + return this; + } + + /** + * Include extra content (e.g. bonus features). + */ + public GetMediaMetaDataRequest withIncludeExtras(boolean includeExtras) { + Utils.checkNotNull(includeExtras, "includeExtras"); + this.includeExtras = Optional.ofNullable(includeExtras); + return this; + } + + /** + * Include extra content (e.g. bonus features). + */ + public GetMediaMetaDataRequest withIncludeExtras(Optional includeExtras) { + Utils.checkNotNull(includeExtras, "includeExtras"); + this.includeExtras = includeExtras; + return this; + } + + /** + * Include on-deck items. + */ + public GetMediaMetaDataRequest withIncludeOnDeck(boolean includeOnDeck) { + Utils.checkNotNull(includeOnDeck, "includeOnDeck"); + this.includeOnDeck = Optional.ofNullable(includeOnDeck); + return this; + } + + /** + * Include on-deck items. + */ + public GetMediaMetaDataRequest withIncludeOnDeck(Optional includeOnDeck) { + Utils.checkNotNull(includeOnDeck, "includeOnDeck"); + this.includeOnDeck = includeOnDeck; + return this; + } + + /** + * Include popular leaves (episodes/chapters). + */ + public GetMediaMetaDataRequest withIncludePopularLeaves(boolean includePopularLeaves) { + Utils.checkNotNull(includePopularLeaves, "includePopularLeaves"); + this.includePopularLeaves = Optional.ofNullable(includePopularLeaves); + return this; + } + + /** + * Include popular leaves (episodes/chapters). + */ + public GetMediaMetaDataRequest withIncludePopularLeaves(Optional includePopularLeaves) { + Utils.checkNotNull(includePopularLeaves, "includePopularLeaves"); + this.includePopularLeaves = includePopularLeaves; + return this; + } + + /** + * Include preferences information. + */ + public GetMediaMetaDataRequest withIncludePreferences(boolean includePreferences) { + Utils.checkNotNull(includePreferences, "includePreferences"); + this.includePreferences = Optional.ofNullable(includePreferences); + return this; + } + + /** + * Include preferences information. + */ + public GetMediaMetaDataRequest withIncludePreferences(Optional includePreferences) { + Utils.checkNotNull(includePreferences, "includePreferences"); + this.includePreferences = includePreferences; + return this; + } + + /** + * Include reviews for the content. + */ + public GetMediaMetaDataRequest withIncludeReviews(boolean includeReviews) { + Utils.checkNotNull(includeReviews, "includeReviews"); + this.includeReviews = Optional.ofNullable(includeReviews); + return this; + } + + /** + * Include reviews for the content. + */ + public GetMediaMetaDataRequest withIncludeReviews(Optional includeReviews) { + Utils.checkNotNull(includeReviews, "includeReviews"); + this.includeReviews = includeReviews; + return this; + } + + /** + * Include chapter details. + */ + public GetMediaMetaDataRequest withIncludeChapters(boolean includeChapters) { + Utils.checkNotNull(includeChapters, "includeChapters"); + this.includeChapters = Optional.ofNullable(includeChapters); + return this; + } + + /** + * Include chapter details. + */ + public GetMediaMetaDataRequest withIncludeChapters(Optional includeChapters) { + Utils.checkNotNull(includeChapters, "includeChapters"); + this.includeChapters = includeChapters; + return this; + } + + /** + * Include station data. + */ + public GetMediaMetaDataRequest withIncludeStations(boolean includeStations) { + Utils.checkNotNull(includeStations, "includeStations"); + this.includeStations = Optional.ofNullable(includeStations); + return this; + } + + /** + * Include station data. + */ + public GetMediaMetaDataRequest withIncludeStations(Optional includeStations) { + Utils.checkNotNull(includeStations, "includeStations"); + this.includeStations = includeStations; + return this; + } + + /** + * Include external media data. + */ + public GetMediaMetaDataRequest withIncludeExternalMedia(boolean includeExternalMedia) { + Utils.checkNotNull(includeExternalMedia, "includeExternalMedia"); + this.includeExternalMedia = Optional.ofNullable(includeExternalMedia); + return this; + } + + /** + * Include external media data. + */ + public GetMediaMetaDataRequest withIncludeExternalMedia(Optional includeExternalMedia) { + Utils.checkNotNull(includeExternalMedia, "includeExternalMedia"); + this.includeExternalMedia = includeExternalMedia; + return this; + } + + /** + * Trigger asynchronous metadata augmentation. + */ + public GetMediaMetaDataRequest withAsyncAugmentMetadata(boolean asyncAugmentMetadata) { + Utils.checkNotNull(asyncAugmentMetadata, "asyncAugmentMetadata"); + this.asyncAugmentMetadata = Optional.ofNullable(asyncAugmentMetadata); + return this; + } + + /** + * Trigger asynchronous metadata augmentation. + */ + public GetMediaMetaDataRequest withAsyncAugmentMetadata(Optional asyncAugmentMetadata) { + Utils.checkNotNull(asyncAugmentMetadata, "asyncAugmentMetadata"); + this.asyncAugmentMetadata = asyncAugmentMetadata; + return this; + } + + /** + * Trigger asynchronous file checking. + */ + public GetMediaMetaDataRequest withAsyncCheckFiles(boolean asyncCheckFiles) { + Utils.checkNotNull(asyncCheckFiles, "asyncCheckFiles"); + this.asyncCheckFiles = Optional.ofNullable(asyncCheckFiles); + return this; + } + + /** + * Trigger asynchronous file checking. + */ + public GetMediaMetaDataRequest withAsyncCheckFiles(Optional asyncCheckFiles) { + Utils.checkNotNull(asyncCheckFiles, "asyncCheckFiles"); + this.asyncCheckFiles = asyncCheckFiles; + return this; + } + + /** + * Trigger asynchronous refresh of analysis. + */ + public GetMediaMetaDataRequest withAsyncRefreshAnalysis(boolean asyncRefreshAnalysis) { + Utils.checkNotNull(asyncRefreshAnalysis, "asyncRefreshAnalysis"); + this.asyncRefreshAnalysis = Optional.ofNullable(asyncRefreshAnalysis); + return this; + } + + /** + * Trigger asynchronous refresh of analysis. + */ + public GetMediaMetaDataRequest withAsyncRefreshAnalysis(Optional asyncRefreshAnalysis) { + Utils.checkNotNull(asyncRefreshAnalysis, "asyncRefreshAnalysis"); + this.asyncRefreshAnalysis = asyncRefreshAnalysis; + return this; + } + + /** + * Trigger asynchronous refresh of the local media agent. + */ + public GetMediaMetaDataRequest withAsyncRefreshLocalMediaAgent(boolean asyncRefreshLocalMediaAgent) { + Utils.checkNotNull(asyncRefreshLocalMediaAgent, "asyncRefreshLocalMediaAgent"); + this.asyncRefreshLocalMediaAgent = Optional.ofNullable(asyncRefreshLocalMediaAgent); + return this; + } + + /** + * Trigger asynchronous refresh of the local media agent. + */ + public GetMediaMetaDataRequest withAsyncRefreshLocalMediaAgent(Optional asyncRefreshLocalMediaAgent) { + Utils.checkNotNull(asyncRefreshLocalMediaAgent, "asyncRefreshLocalMediaAgent"); + this.asyncRefreshLocalMediaAgent = asyncRefreshLocalMediaAgent; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataRequest other = (GetMediaMetaDataRequest) o; + return + Objects.deepEquals(this.ratingKey, other.ratingKey) && + Objects.deepEquals(this.includeConcerts, other.includeConcerts) && + Objects.deepEquals(this.includeExtras, other.includeExtras) && + Objects.deepEquals(this.includeOnDeck, other.includeOnDeck) && + Objects.deepEquals(this.includePopularLeaves, other.includePopularLeaves) && + Objects.deepEquals(this.includePreferences, other.includePreferences) && + Objects.deepEquals(this.includeReviews, other.includeReviews) && + Objects.deepEquals(this.includeChapters, other.includeChapters) && + Objects.deepEquals(this.includeStations, other.includeStations) && + Objects.deepEquals(this.includeExternalMedia, other.includeExternalMedia) && + Objects.deepEquals(this.asyncAugmentMetadata, other.asyncAugmentMetadata) && + Objects.deepEquals(this.asyncCheckFiles, other.asyncCheckFiles) && + Objects.deepEquals(this.asyncRefreshAnalysis, other.asyncRefreshAnalysis) && + Objects.deepEquals(this.asyncRefreshLocalMediaAgent, other.asyncRefreshLocalMediaAgent); + } + + @Override + public int hashCode() { + return Objects.hash( + ratingKey, + includeConcerts, + includeExtras, + includeOnDeck, + includePopularLeaves, + includePreferences, + includeReviews, + includeChapters, + includeStations, + includeExternalMedia, + asyncAugmentMetadata, + asyncCheckFiles, + asyncRefreshAnalysis, + asyncRefreshLocalMediaAgent); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataRequest.class, + "ratingKey", ratingKey, + "includeConcerts", includeConcerts, + "includeExtras", includeExtras, + "includeOnDeck", includeOnDeck, + "includePopularLeaves", includePopularLeaves, + "includePreferences", includePreferences, + "includeReviews", includeReviews, + "includeChapters", includeChapters, + "includeStations", includeStations, + "includeExternalMedia", includeExternalMedia, + "asyncAugmentMetadata", asyncAugmentMetadata, + "asyncCheckFiles", asyncCheckFiles, + "asyncRefreshAnalysis", asyncRefreshAnalysis, + "asyncRefreshLocalMediaAgent", asyncRefreshLocalMediaAgent); + } + + public final static class Builder { + + private Long ratingKey; + + private Optional includeConcerts = Optional.empty(); + + private Optional includeExtras = Optional.empty(); + + private Optional includeOnDeck = Optional.empty(); + + private Optional includePopularLeaves = Optional.empty(); + + private Optional includePreferences = Optional.empty(); + + private Optional includeReviews = Optional.empty(); + + private Optional includeChapters = Optional.empty(); + + private Optional includeStations = Optional.empty(); + + private Optional includeExternalMedia = Optional.empty(); + + private Optional asyncAugmentMetadata = Optional.empty(); + + private Optional asyncCheckFiles = Optional.empty(); + + private Optional asyncRefreshAnalysis = Optional.empty(); + + private Optional asyncRefreshLocalMediaAgent = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * the id of the library item to return the children of. + */ + public Builder ratingKey(long ratingKey) { + Utils.checkNotNull(ratingKey, "ratingKey"); + this.ratingKey = ratingKey; + return this; + } + + /** + * Include concerts data if set to true. + */ + public Builder includeConcerts(boolean includeConcerts) { + Utils.checkNotNull(includeConcerts, "includeConcerts"); + this.includeConcerts = Optional.ofNullable(includeConcerts); + return this; + } + + /** + * Include concerts data if set to true. + */ + public Builder includeConcerts(Optional includeConcerts) { + Utils.checkNotNull(includeConcerts, "includeConcerts"); + this.includeConcerts = includeConcerts; + return this; + } + + /** + * Include extra content (e.g. bonus features). + */ + public Builder includeExtras(boolean includeExtras) { + Utils.checkNotNull(includeExtras, "includeExtras"); + this.includeExtras = Optional.ofNullable(includeExtras); + return this; + } + + /** + * Include extra content (e.g. bonus features). + */ + public Builder includeExtras(Optional includeExtras) { + Utils.checkNotNull(includeExtras, "includeExtras"); + this.includeExtras = includeExtras; + return this; + } + + /** + * Include on-deck items. + */ + public Builder includeOnDeck(boolean includeOnDeck) { + Utils.checkNotNull(includeOnDeck, "includeOnDeck"); + this.includeOnDeck = Optional.ofNullable(includeOnDeck); + return this; + } + + /** + * Include on-deck items. + */ + public Builder includeOnDeck(Optional includeOnDeck) { + Utils.checkNotNull(includeOnDeck, "includeOnDeck"); + this.includeOnDeck = includeOnDeck; + return this; + } + + /** + * Include popular leaves (episodes/chapters). + */ + public Builder includePopularLeaves(boolean includePopularLeaves) { + Utils.checkNotNull(includePopularLeaves, "includePopularLeaves"); + this.includePopularLeaves = Optional.ofNullable(includePopularLeaves); + return this; + } + + /** + * Include popular leaves (episodes/chapters). + */ + public Builder includePopularLeaves(Optional includePopularLeaves) { + Utils.checkNotNull(includePopularLeaves, "includePopularLeaves"); + this.includePopularLeaves = includePopularLeaves; + return this; + } + + /** + * Include preferences information. + */ + public Builder includePreferences(boolean includePreferences) { + Utils.checkNotNull(includePreferences, "includePreferences"); + this.includePreferences = Optional.ofNullable(includePreferences); + return this; + } + + /** + * Include preferences information. + */ + public Builder includePreferences(Optional includePreferences) { + Utils.checkNotNull(includePreferences, "includePreferences"); + this.includePreferences = includePreferences; + return this; + } + + /** + * Include reviews for the content. + */ + public Builder includeReviews(boolean includeReviews) { + Utils.checkNotNull(includeReviews, "includeReviews"); + this.includeReviews = Optional.ofNullable(includeReviews); + return this; + } + + /** + * Include reviews for the content. + */ + public Builder includeReviews(Optional includeReviews) { + Utils.checkNotNull(includeReviews, "includeReviews"); + this.includeReviews = includeReviews; + return this; + } + + /** + * Include chapter details. + */ + public Builder includeChapters(boolean includeChapters) { + Utils.checkNotNull(includeChapters, "includeChapters"); + this.includeChapters = Optional.ofNullable(includeChapters); + return this; + } + + /** + * Include chapter details. + */ + public Builder includeChapters(Optional includeChapters) { + Utils.checkNotNull(includeChapters, "includeChapters"); + this.includeChapters = includeChapters; + return this; + } + + /** + * Include station data. + */ + public Builder includeStations(boolean includeStations) { + Utils.checkNotNull(includeStations, "includeStations"); + this.includeStations = Optional.ofNullable(includeStations); + return this; + } + + /** + * Include station data. + */ + public Builder includeStations(Optional includeStations) { + Utils.checkNotNull(includeStations, "includeStations"); + this.includeStations = includeStations; + return this; + } + + /** + * Include external media data. + */ + public Builder includeExternalMedia(boolean includeExternalMedia) { + Utils.checkNotNull(includeExternalMedia, "includeExternalMedia"); + this.includeExternalMedia = Optional.ofNullable(includeExternalMedia); + return this; + } + + /** + * Include external media data. + */ + public Builder includeExternalMedia(Optional includeExternalMedia) { + Utils.checkNotNull(includeExternalMedia, "includeExternalMedia"); + this.includeExternalMedia = includeExternalMedia; + return this; + } + + /** + * Trigger asynchronous metadata augmentation. + */ + public Builder asyncAugmentMetadata(boolean asyncAugmentMetadata) { + Utils.checkNotNull(asyncAugmentMetadata, "asyncAugmentMetadata"); + this.asyncAugmentMetadata = Optional.ofNullable(asyncAugmentMetadata); + return this; + } + + /** + * Trigger asynchronous metadata augmentation. + */ + public Builder asyncAugmentMetadata(Optional asyncAugmentMetadata) { + Utils.checkNotNull(asyncAugmentMetadata, "asyncAugmentMetadata"); + this.asyncAugmentMetadata = asyncAugmentMetadata; + return this; + } + + /** + * Trigger asynchronous file checking. + */ + public Builder asyncCheckFiles(boolean asyncCheckFiles) { + Utils.checkNotNull(asyncCheckFiles, "asyncCheckFiles"); + this.asyncCheckFiles = Optional.ofNullable(asyncCheckFiles); + return this; + } + + /** + * Trigger asynchronous file checking. + */ + public Builder asyncCheckFiles(Optional asyncCheckFiles) { + Utils.checkNotNull(asyncCheckFiles, "asyncCheckFiles"); + this.asyncCheckFiles = asyncCheckFiles; + return this; + } + + /** + * Trigger asynchronous refresh of analysis. + */ + public Builder asyncRefreshAnalysis(boolean asyncRefreshAnalysis) { + Utils.checkNotNull(asyncRefreshAnalysis, "asyncRefreshAnalysis"); + this.asyncRefreshAnalysis = Optional.ofNullable(asyncRefreshAnalysis); + return this; + } + + /** + * Trigger asynchronous refresh of analysis. + */ + public Builder asyncRefreshAnalysis(Optional asyncRefreshAnalysis) { + Utils.checkNotNull(asyncRefreshAnalysis, "asyncRefreshAnalysis"); + this.asyncRefreshAnalysis = asyncRefreshAnalysis; + return this; + } + + /** + * Trigger asynchronous refresh of the local media agent. + */ + public Builder asyncRefreshLocalMediaAgent(boolean asyncRefreshLocalMediaAgent) { + Utils.checkNotNull(asyncRefreshLocalMediaAgent, "asyncRefreshLocalMediaAgent"); + this.asyncRefreshLocalMediaAgent = Optional.ofNullable(asyncRefreshLocalMediaAgent); + return this; + } + + /** + * Trigger asynchronous refresh of the local media agent. + */ + public Builder asyncRefreshLocalMediaAgent(Optional asyncRefreshLocalMediaAgent) { + Utils.checkNotNull(asyncRefreshLocalMediaAgent, "asyncRefreshLocalMediaAgent"); + this.asyncRefreshLocalMediaAgent = asyncRefreshLocalMediaAgent; + return this; + } + + public GetMediaMetaDataRequest build() { + return new GetMediaMetaDataRequest( + ratingKey, + includeConcerts, + includeExtras, + includeOnDeck, + includePopularLeaves, + includePreferences, + includeReviews, + includeChapters, + includeStations, + includeExternalMedia, + asyncAugmentMetadata, + asyncCheckFiles, + asyncRefreshAnalysis, + asyncRefreshLocalMediaAgent); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequestBuilder.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequestBuilder.java new file mode 100644 index 00000000..c235505a --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRequestBuilder.java @@ -0,0 +1,29 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + +import dev.plexapi.sdk.utils.Utils; + +public class GetMediaMetaDataRequestBuilder { + + private GetMediaMetaDataRequest request; + private final SDKMethodInterfaces.MethodCallGetMediaMetaData sdk; + + public GetMediaMetaDataRequestBuilder(SDKMethodInterfaces.MethodCallGetMediaMetaData sdk) { + this.sdk = sdk; + } + + public GetMediaMetaDataRequestBuilder request(GetMediaMetaDataRequest request) { + Utils.checkNotNull(request, "request"); + this.request = request; + return this; + } + + public GetMediaMetaDataResponse call() throws Exception { + + return sdk.getMediaMetaData( + request); + } +} diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponse.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponse.java similarity index 80% rename from src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponse.java rename to src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponse.java index 1350d1b8..a36958c4 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyResponse.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponse.java @@ -19,7 +19,7 @@ import java.util.Objects; import java.util.Optional; -public class GetMetaDataByRatingKeyResponse implements Response { +public class GetMediaMetaDataResponse implements Response { /** * HTTP response content type for this operation @@ -39,14 +39,14 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * The metadata of the library item. */ - private Optional object; + private Optional object; @JsonCreator - public GetMetaDataByRatingKeyResponse( + public GetMediaMetaDataResponse( String contentType, int statusCode, HttpResponse rawResponse, - Optional object) { + Optional object) { Utils.checkNotNull(contentType, "contentType"); Utils.checkNotNull(statusCode, "statusCode"); Utils.checkNotNull(rawResponse, "rawResponse"); @@ -57,7 +57,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { this.object = object; } - public GetMetaDataByRatingKeyResponse( + public GetMediaMetaDataResponse( String contentType, int statusCode, HttpResponse rawResponse) { @@ -93,8 +93,8 @@ public class GetMetaDataByRatingKeyResponse implements Response { */ @SuppressWarnings("unchecked") @JsonIgnore - public Optional object() { - return (Optional) object; + public Optional object() { + return (Optional) object; } public final static Builder builder() { @@ -104,7 +104,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * HTTP response content type for this operation */ - public GetMetaDataByRatingKeyResponse withContentType(String contentType) { + public GetMediaMetaDataResponse withContentType(String contentType) { Utils.checkNotNull(contentType, "contentType"); this.contentType = contentType; return this; @@ -113,7 +113,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * HTTP response status code for this operation */ - public GetMetaDataByRatingKeyResponse withStatusCode(int statusCode) { + public GetMediaMetaDataResponse withStatusCode(int statusCode) { Utils.checkNotNull(statusCode, "statusCode"); this.statusCode = statusCode; return this; @@ -122,7 +122,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * Raw HTTP response; suitable for custom response parsing */ - public GetMetaDataByRatingKeyResponse withRawResponse(HttpResponse rawResponse) { + public GetMediaMetaDataResponse withRawResponse(HttpResponse rawResponse) { Utils.checkNotNull(rawResponse, "rawResponse"); this.rawResponse = rawResponse; return this; @@ -131,7 +131,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * The metadata of the library item. */ - public GetMetaDataByRatingKeyResponse withObject(GetMetaDataByRatingKeyResponseBody object) { + public GetMediaMetaDataResponse withObject(GetMediaMetaDataResponseBody object) { Utils.checkNotNull(object, "object"); this.object = Optional.ofNullable(object); return this; @@ -140,7 +140,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * The metadata of the library item. */ - public GetMetaDataByRatingKeyResponse withObject(Optional object) { + public GetMediaMetaDataResponse withObject(Optional object) { Utils.checkNotNull(object, "object"); this.object = object; return this; @@ -154,7 +154,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyResponse other = (GetMetaDataByRatingKeyResponse) o; + GetMediaMetaDataResponse other = (GetMediaMetaDataResponse) o; return Objects.deepEquals(this.contentType, other.contentType) && Objects.deepEquals(this.statusCode, other.statusCode) && @@ -173,7 +173,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyResponse.class, + return Utils.toString(GetMediaMetaDataResponse.class, "contentType", contentType, "statusCode", statusCode, "rawResponse", rawResponse, @@ -188,7 +188,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { private HttpResponse rawResponse; - private Optional object = Optional.empty(); + private Optional object = Optional.empty(); private Builder() { // force use of static builder() method @@ -224,7 +224,7 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * The metadata of the library item. */ - public Builder object(GetMetaDataByRatingKeyResponseBody object) { + public Builder object(GetMediaMetaDataResponseBody object) { Utils.checkNotNull(object, "object"); this.object = Optional.ofNullable(object); return this; @@ -233,14 +233,14 @@ public class GetMetaDataByRatingKeyResponse implements Response { /** * The metadata of the library item. */ - public Builder object(Optional object) { + public Builder object(Optional object) { Utils.checkNotNull(object, "object"); this.object = object; return this; } - public GetMetaDataByRatingKeyResponse build() { - return new GetMetaDataByRatingKeyResponse( + public GetMediaMetaDataResponse build() { + return new GetMediaMetaDataResponse( contentType, statusCode, rawResponse, diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponseBody.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponseBody.java new file mode 100644 index 00000000..bd9e9630 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataResponseBody.java @@ -0,0 +1,114 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Override; +import java.lang.String; +import java.lang.SuppressWarnings; +import java.util.Objects; +import java.util.Optional; + +/** + * GetMediaMetaDataResponseBody - The metadata of the library item. + */ + +public class GetMediaMetaDataResponseBody { + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("MediaContainer") + private Optional mediaContainer; + + @JsonCreator + public GetMediaMetaDataResponseBody( + @JsonProperty("MediaContainer") Optional mediaContainer) { + Utils.checkNotNull(mediaContainer, "mediaContainer"); + this.mediaContainer = mediaContainer; + } + + public GetMediaMetaDataResponseBody() { + this(Optional.empty()); + } + + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional mediaContainer() { + return (Optional) mediaContainer; + } + + public final static Builder builder() { + return new Builder(); + } + + public GetMediaMetaDataResponseBody withMediaContainer(GetMediaMetaDataMediaContainer mediaContainer) { + Utils.checkNotNull(mediaContainer, "mediaContainer"); + this.mediaContainer = Optional.ofNullable(mediaContainer); + return this; + } + + public GetMediaMetaDataResponseBody withMediaContainer(Optional mediaContainer) { + Utils.checkNotNull(mediaContainer, "mediaContainer"); + this.mediaContainer = mediaContainer; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataResponseBody other = (GetMediaMetaDataResponseBody) o; + return + Objects.deepEquals(this.mediaContainer, other.mediaContainer); + } + + @Override + public int hashCode() { + return Objects.hash( + mediaContainer); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataResponseBody.class, + "mediaContainer", mediaContainer); + } + + public final static class Builder { + + private Optional mediaContainer = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + public Builder mediaContainer(GetMediaMetaDataMediaContainer mediaContainer) { + Utils.checkNotNull(mediaContainer, "mediaContainer"); + this.mediaContainer = Optional.ofNullable(mediaContainer); + return this; + } + + public Builder mediaContainer(Optional mediaContainer) { + Utils.checkNotNull(mediaContainer, "mediaContainer"); + this.mediaContainer = mediaContainer; + return this; + } + + public GetMediaMetaDataResponseBody build() { + return new GetMediaMetaDataResponseBody( + mediaContainer); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRole.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRole.java similarity index 60% rename from src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRole.java rename to src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRole.java index a5a665fd..9564ff4f 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRole.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataRole.java @@ -11,45 +11,59 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; -import java.lang.Integer; +import java.lang.Long; import java.lang.Override; import java.lang.String; import java.util.Objects; import java.util.Optional; -public class GetMetaDataByRatingKeyRole { +public class GetMediaMetaDataRole { - @JsonInclude(Include.NON_ABSENT) + /** + * The unique role identifier. + */ @JsonProperty("id") - private Optional id; + private long id; - @JsonInclude(Include.NON_ABSENT) + /** + * The filter string for the role. + */ @JsonProperty("filter") - private Optional filter; + private String filter; - @JsonInclude(Include.NON_ABSENT) + /** + * The actor's name. + */ @JsonProperty("tag") - private Optional tag; + private String tag; - @JsonInclude(Include.NON_ABSENT) + /** + * A key associated with the actor tag. + */ @JsonProperty("tagKey") - private Optional tagKey; + private String tagKey; + /** + * The character name or role. + */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("role") private Optional role; + /** + * URL for the role thumbnail image. + */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonCreator - public GetMetaDataByRatingKeyRole( - @JsonProperty("id") Optional id, - @JsonProperty("filter") Optional filter, - @JsonProperty("tag") Optional tag, - @JsonProperty("tagKey") Optional tagKey, + public GetMediaMetaDataRole( + @JsonProperty("id") long id, + @JsonProperty("filter") String filter, + @JsonProperty("tag") String tag, + @JsonProperty("tagKey") String tagKey, @JsonProperty("role") Optional role, @JsonProperty("thumb") Optional thumb) { Utils.checkNotNull(id, "id"); @@ -66,35 +80,57 @@ public class GetMetaDataByRatingKeyRole { this.thumb = thumb; } - public GetMetaDataByRatingKeyRole() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + public GetMediaMetaDataRole( + long id, + String filter, + String tag, + String tagKey) { + this(id, filter, tag, tagKey, Optional.empty(), Optional.empty()); } + /** + * The unique role identifier. + */ @JsonIgnore - public Optional id() { + public long id() { return id; } + /** + * The filter string for the role. + */ @JsonIgnore - public Optional filter() { + public String filter() { return filter; } + /** + * The actor's name. + */ @JsonIgnore - public Optional tag() { + public String tag() { return tag; } + /** + * A key associated with the actor tag. + */ @JsonIgnore - public Optional tagKey() { + public String tagKey() { return tagKey; } + /** + * The character name or role. + */ @JsonIgnore public Optional role() { return role; } + /** + * URL for the role thumbnail image. + */ @JsonIgnore public Optional thumb() { return thumb; @@ -104,73 +140,73 @@ public class GetMetaDataByRatingKeyRole { return new Builder(); } - public GetMetaDataByRatingKeyRole withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyRole withId(Optional id) { + /** + * The unique role identifier. + */ + public GetMediaMetaDataRole withId(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } - public GetMetaDataByRatingKeyRole withFilter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public GetMetaDataByRatingKeyRole withFilter(Optional filter) { + /** + * The filter string for the role. + */ + public GetMediaMetaDataRole withFilter(String filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } - public GetMetaDataByRatingKeyRole withTag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public GetMetaDataByRatingKeyRole withTag(Optional tag) { + /** + * The actor's name. + */ + public GetMediaMetaDataRole withTag(String tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } - public GetMetaDataByRatingKeyRole withTagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public GetMetaDataByRatingKeyRole withTagKey(Optional tagKey) { + /** + * A key associated with the actor tag. + */ + public GetMediaMetaDataRole withTagKey(String tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } - public GetMetaDataByRatingKeyRole withRole(String role) { + /** + * The character name or role. + */ + public GetMediaMetaDataRole withRole(String role) { Utils.checkNotNull(role, "role"); this.role = Optional.ofNullable(role); return this; } - public GetMetaDataByRatingKeyRole withRole(Optional role) { + /** + * The character name or role. + */ + public GetMediaMetaDataRole withRole(Optional role) { Utils.checkNotNull(role, "role"); this.role = role; return this; } - public GetMetaDataByRatingKeyRole withThumb(String thumb) { + /** + * URL for the role thumbnail image. + */ + public GetMediaMetaDataRole withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } - public GetMetaDataByRatingKeyRole withThumb(Optional thumb) { + /** + * URL for the role thumbnail image. + */ + public GetMediaMetaDataRole withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; @@ -184,7 +220,7 @@ public class GetMetaDataByRatingKeyRole { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyRole other = (GetMetaDataByRatingKeyRole) o; + GetMediaMetaDataRole other = (GetMediaMetaDataRole) o; return Objects.deepEquals(this.id, other.id) && Objects.deepEquals(this.filter, other.filter) && @@ -207,7 +243,7 @@ public class GetMetaDataByRatingKeyRole { @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyRole.class, + return Utils.toString(GetMediaMetaDataRole.class, "id", id, "filter", filter, "tag", tag, @@ -218,13 +254,13 @@ public class GetMetaDataByRatingKeyRole { public final static class Builder { - private Optional id = Optional.empty(); + private Long id; - private Optional filter = Optional.empty(); + private String filter; - private Optional tag = Optional.empty(); + private String tag; - private Optional tagKey = Optional.empty(); + private String tagKey; private Optional role = Optional.empty(); @@ -234,80 +270,80 @@ public class GetMetaDataByRatingKeyRole { // force use of static builder() method } - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { + /** + * The unique role identifier. + */ + public Builder id(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } + /** + * The filter string for the role. + */ public Builder filter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public Builder filter(Optional filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } + /** + * The actor's name. + */ public Builder tag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public Builder tag(Optional tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } + /** + * A key associated with the actor tag. + */ public Builder tagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public Builder tagKey(Optional tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } + /** + * The character name or role. + */ public Builder role(String role) { Utils.checkNotNull(role, "role"); this.role = Optional.ofNullable(role); return this; } + /** + * The character name or role. + */ public Builder role(Optional role) { Utils.checkNotNull(role, "role"); this.role = role; return this; } + /** + * URL for the role thumbnail image. + */ public Builder thumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } + /** + * URL for the role thumbnail image. + */ public Builder thumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } - public GetMetaDataByRatingKeyRole build() { - return new GetMetaDataByRatingKeyRole( + public GetMediaMetaDataRole build() { + return new GetMediaMetaDataRole( id, filter, tag, diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataStream.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataStream.java new file mode 100644 index 00000000..2eeaeea7 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataStream.java @@ -0,0 +1,2596 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Boolean; +import java.lang.Float; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; + + +public class GetMediaMetaDataStream { + + /** + * Unique stream identifier. + */ + @JsonProperty("id") + private long id; + + /** + * Stream type (1=video, 2=audio, 3=subtitle). + */ + @JsonProperty("streamType") + private long streamType; + + /** + * Indicates if this stream is default. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("default") + private Optional default_; + + /** + * Codec used by the stream. + */ + @JsonProperty("codec") + private String codec; + + /** + * Index of the stream. + */ + @JsonProperty("index") + private long index; + + /** + * Bitrate of the stream. + */ + @JsonProperty("bitrate") + private long bitrate; + + /** + * Language of the stream. + */ + @JsonProperty("language") + private String language; + + /** + * Language tag (e.g., en). + */ + @JsonProperty("languageTag") + private String languageTag; + + /** + * ISO language code. + */ + @JsonProperty("languageCode") + private String languageCode; + + /** + * Dolby Vision BL compatibility ID. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVIBLCompatID") + private Optional doviblCompatID; + + /** + * Indicates if Dolby Vision BL is present. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVIBLPresent") + private Optional doviblPresent; + + /** + * Indicates if Dolby Vision EL is present. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVIELPresent") + private Optional dovielPresent; + + /** + * Dolby Vision level. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVILevel") + private Optional doviLevel; + + /** + * Indicates if Dolby Vision is present. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVIPresent") + private Optional doviPresent; + + /** + * Dolby Vision profile. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVIProfile") + private Optional doviProfile; + + /** + * Indicates if Dolby Vision RPU is present. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVIRPUPresent") + private Optional dovirpuPresent; + + /** + * Dolby Vision version. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("DOVIVersion") + private Optional doviVersion; + + /** + * Bit depth of the video stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("bitDepth") + private Optional bitDepth; + + /** + * Chroma sample location. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chromaLocation") + private Optional chromaLocation; + + /** + * Chroma subsampling format. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("chromaSubsampling") + private Optional chromaSubsampling; + + /** + * Coded video height. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codedHeight") + private Optional codedHeight; + + /** + * Coded video width. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("codedWidth") + private Optional codedWidth; + + /** + * Color primaries used. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("colorPrimaries") + private Optional colorPrimaries; + + /** + * Color range (e.g., tv). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("colorRange") + private Optional colorRange; + + /** + * Color space. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("colorSpace") + private Optional colorSpace; + + /** + * Color transfer characteristics. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("colorTrc") + private Optional colorTrc; + + /** + * Frame rate of the stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("frameRate") + private Optional frameRate; + + /** + * Height of the video stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("height") + private Optional height; + + /** + * Video level. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("level") + private Optional level; + + /** + * Indicates if this is the original stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("original") + private Optional original; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("hasScalingMatrix") + private Optional hasScalingMatrix; + + /** + * Video profile. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("profile") + private Optional profile; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("scanType") + private Optional scanType; + + /** + * Number of reference frames. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("refFrames") + private Optional refFrames; + + /** + * Width of the video stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("width") + private Optional width; + + /** + * Display title for the stream. + */ + @JsonProperty("displayTitle") + private String displayTitle; + + /** + * Extended display title for the stream. + */ + @JsonProperty("extendedDisplayTitle") + private String extendedDisplayTitle; + + /** + * Indicates if this stream is selected (applicable for audio streams). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("selected") + private Optional selected; + + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("forced") + private Optional forced; + + /** + * Number of audio channels (for audio streams). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("channels") + private Optional channels; + + /** + * Audio channel layout. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("audioChannelLayout") + private Optional audioChannelLayout; + + /** + * Sampling rate for the audio stream. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("samplingRate") + private Optional samplingRate; + + /** + * Indicates if the stream can auto-sync. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("canAutoSync") + private Optional canAutoSync; + + /** + * Indicates if the stream is for the hearing impaired. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("hearingImpaired") + private Optional hearingImpaired; + + /** + * Indicates if the stream is a dub. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dub") + private Optional dub; + + /** + * Optional title for the stream (e.g., language variant). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private Optional title; + + @JsonCreator + public GetMediaMetaDataStream( + @JsonProperty("id") long id, + @JsonProperty("streamType") long streamType, + @JsonProperty("default") Optional default_, + @JsonProperty("codec") String codec, + @JsonProperty("index") long index, + @JsonProperty("bitrate") long bitrate, + @JsonProperty("language") String language, + @JsonProperty("languageTag") String languageTag, + @JsonProperty("languageCode") String languageCode, + @JsonProperty("DOVIBLCompatID") Optional doviblCompatID, + @JsonProperty("DOVIBLPresent") Optional doviblPresent, + @JsonProperty("DOVIELPresent") Optional dovielPresent, + @JsonProperty("DOVILevel") Optional doviLevel, + @JsonProperty("DOVIPresent") Optional doviPresent, + @JsonProperty("DOVIProfile") Optional doviProfile, + @JsonProperty("DOVIRPUPresent") Optional dovirpuPresent, + @JsonProperty("DOVIVersion") Optional doviVersion, + @JsonProperty("bitDepth") Optional bitDepth, + @JsonProperty("chromaLocation") Optional chromaLocation, + @JsonProperty("chromaSubsampling") Optional chromaSubsampling, + @JsonProperty("codedHeight") Optional codedHeight, + @JsonProperty("codedWidth") Optional codedWidth, + @JsonProperty("colorPrimaries") Optional colorPrimaries, + @JsonProperty("colorRange") Optional colorRange, + @JsonProperty("colorSpace") Optional colorSpace, + @JsonProperty("colorTrc") Optional colorTrc, + @JsonProperty("frameRate") Optional frameRate, + @JsonProperty("height") Optional height, + @JsonProperty("level") Optional level, + @JsonProperty("original") Optional original, + @JsonProperty("hasScalingMatrix") Optional hasScalingMatrix, + @JsonProperty("profile") Optional profile, + @JsonProperty("scanType") Optional scanType, + @JsonProperty("refFrames") Optional refFrames, + @JsonProperty("width") Optional width, + @JsonProperty("displayTitle") String displayTitle, + @JsonProperty("extendedDisplayTitle") String extendedDisplayTitle, + @JsonProperty("selected") Optional selected, + @JsonProperty("forced") Optional forced, + @JsonProperty("channels") Optional channels, + @JsonProperty("audioChannelLayout") Optional audioChannelLayout, + @JsonProperty("samplingRate") Optional samplingRate, + @JsonProperty("canAutoSync") Optional canAutoSync, + @JsonProperty("hearingImpaired") Optional hearingImpaired, + @JsonProperty("dub") Optional dub, + @JsonProperty("title") Optional title) { + Utils.checkNotNull(id, "id"); + Utils.checkNotNull(streamType, "streamType"); + Utils.checkNotNull(default_, "default_"); + Utils.checkNotNull(codec, "codec"); + Utils.checkNotNull(index, "index"); + Utils.checkNotNull(bitrate, "bitrate"); + Utils.checkNotNull(language, "language"); + Utils.checkNotNull(languageTag, "languageTag"); + Utils.checkNotNull(languageCode, "languageCode"); + Utils.checkNotNull(doviblCompatID, "doviblCompatID"); + Utils.checkNotNull(doviblPresent, "doviblPresent"); + Utils.checkNotNull(dovielPresent, "dovielPresent"); + Utils.checkNotNull(doviLevel, "doviLevel"); + Utils.checkNotNull(doviPresent, "doviPresent"); + Utils.checkNotNull(doviProfile, "doviProfile"); + Utils.checkNotNull(dovirpuPresent, "dovirpuPresent"); + Utils.checkNotNull(doviVersion, "doviVersion"); + Utils.checkNotNull(bitDepth, "bitDepth"); + Utils.checkNotNull(chromaLocation, "chromaLocation"); + Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); + Utils.checkNotNull(codedHeight, "codedHeight"); + Utils.checkNotNull(codedWidth, "codedWidth"); + Utils.checkNotNull(colorPrimaries, "colorPrimaries"); + Utils.checkNotNull(colorRange, "colorRange"); + Utils.checkNotNull(colorSpace, "colorSpace"); + Utils.checkNotNull(colorTrc, "colorTrc"); + Utils.checkNotNull(frameRate, "frameRate"); + Utils.checkNotNull(height, "height"); + Utils.checkNotNull(level, "level"); + Utils.checkNotNull(original, "original"); + Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); + Utils.checkNotNull(profile, "profile"); + Utils.checkNotNull(scanType, "scanType"); + Utils.checkNotNull(refFrames, "refFrames"); + Utils.checkNotNull(width, "width"); + Utils.checkNotNull(displayTitle, "displayTitle"); + Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); + Utils.checkNotNull(selected, "selected"); + Utils.checkNotNull(forced, "forced"); + Utils.checkNotNull(channels, "channels"); + Utils.checkNotNull(audioChannelLayout, "audioChannelLayout"); + Utils.checkNotNull(samplingRate, "samplingRate"); + Utils.checkNotNull(canAutoSync, "canAutoSync"); + Utils.checkNotNull(hearingImpaired, "hearingImpaired"); + Utils.checkNotNull(dub, "dub"); + Utils.checkNotNull(title, "title"); + this.id = id; + this.streamType = streamType; + this.default_ = default_; + this.codec = codec; + this.index = index; + this.bitrate = bitrate; + this.language = language; + this.languageTag = languageTag; + this.languageCode = languageCode; + this.doviblCompatID = doviblCompatID; + this.doviblPresent = doviblPresent; + this.dovielPresent = dovielPresent; + this.doviLevel = doviLevel; + this.doviPresent = doviPresent; + this.doviProfile = doviProfile; + this.dovirpuPresent = dovirpuPresent; + this.doviVersion = doviVersion; + this.bitDepth = bitDepth; + this.chromaLocation = chromaLocation; + this.chromaSubsampling = chromaSubsampling; + this.codedHeight = codedHeight; + this.codedWidth = codedWidth; + this.colorPrimaries = colorPrimaries; + this.colorRange = colorRange; + this.colorSpace = colorSpace; + this.colorTrc = colorTrc; + this.frameRate = frameRate; + this.height = height; + this.level = level; + this.original = original; + this.hasScalingMatrix = hasScalingMatrix; + this.profile = profile; + this.scanType = scanType; + this.refFrames = refFrames; + this.width = width; + this.displayTitle = displayTitle; + this.extendedDisplayTitle = extendedDisplayTitle; + this.selected = selected; + this.forced = forced; + this.channels = channels; + this.audioChannelLayout = audioChannelLayout; + this.samplingRate = samplingRate; + this.canAutoSync = canAutoSync; + this.hearingImpaired = hearingImpaired; + this.dub = dub; + this.title = title; + } + + public GetMediaMetaDataStream( + long id, + long streamType, + String codec, + long index, + long bitrate, + String language, + String languageTag, + String languageCode, + String displayTitle, + String extendedDisplayTitle) { + this(id, streamType, Optional.empty(), codec, index, bitrate, language, languageTag, languageCode, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), displayTitle, extendedDisplayTitle, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + } + + /** + * Unique stream identifier. + */ + @JsonIgnore + public long id() { + return id; + } + + /** + * Stream type (1=video, 2=audio, 3=subtitle). + */ + @JsonIgnore + public long streamType() { + return streamType; + } + + /** + * Indicates if this stream is default. + */ + @JsonIgnore + public Optional default_() { + return default_; + } + + /** + * Codec used by the stream. + */ + @JsonIgnore + public String codec() { + return codec; + } + + /** + * Index of the stream. + */ + @JsonIgnore + public long index() { + return index; + } + + /** + * Bitrate of the stream. + */ + @JsonIgnore + public long bitrate() { + return bitrate; + } + + /** + * Language of the stream. + */ + @JsonIgnore + public String language() { + return language; + } + + /** + * Language tag (e.g., en). + */ + @JsonIgnore + public String languageTag() { + return languageTag; + } + + /** + * ISO language code. + */ + @JsonIgnore + public String languageCode() { + return languageCode; + } + + /** + * Dolby Vision BL compatibility ID. + */ + @JsonIgnore + public Optional doviblCompatID() { + return doviblCompatID; + } + + /** + * Indicates if Dolby Vision BL is present. + */ + @JsonIgnore + public Optional doviblPresent() { + return doviblPresent; + } + + /** + * Indicates if Dolby Vision EL is present. + */ + @JsonIgnore + public Optional dovielPresent() { + return dovielPresent; + } + + /** + * Dolby Vision level. + */ + @JsonIgnore + public Optional doviLevel() { + return doviLevel; + } + + /** + * Indicates if Dolby Vision is present. + */ + @JsonIgnore + public Optional doviPresent() { + return doviPresent; + } + + /** + * Dolby Vision profile. + */ + @JsonIgnore + public Optional doviProfile() { + return doviProfile; + } + + /** + * Indicates if Dolby Vision RPU is present. + */ + @JsonIgnore + public Optional dovirpuPresent() { + return dovirpuPresent; + } + + /** + * Dolby Vision version. + */ + @JsonIgnore + public Optional doviVersion() { + return doviVersion; + } + + /** + * Bit depth of the video stream. + */ + @JsonIgnore + public Optional bitDepth() { + return bitDepth; + } + + /** + * Chroma sample location. + */ + @JsonIgnore + public Optional chromaLocation() { + return chromaLocation; + } + + /** + * Chroma subsampling format. + */ + @JsonIgnore + public Optional chromaSubsampling() { + return chromaSubsampling; + } + + /** + * Coded video height. + */ + @JsonIgnore + public Optional codedHeight() { + return codedHeight; + } + + /** + * Coded video width. + */ + @JsonIgnore + public Optional codedWidth() { + return codedWidth; + } + + /** + * Color primaries used. + */ + @JsonIgnore + public Optional colorPrimaries() { + return colorPrimaries; + } + + /** + * Color range (e.g., tv). + */ + @JsonIgnore + public Optional colorRange() { + return colorRange; + } + + /** + * Color space. + */ + @JsonIgnore + public Optional colorSpace() { + return colorSpace; + } + + /** + * Color transfer characteristics. + */ + @JsonIgnore + public Optional colorTrc() { + return colorTrc; + } + + /** + * Frame rate of the stream. + */ + @JsonIgnore + public Optional frameRate() { + return frameRate; + } + + /** + * Height of the video stream. + */ + @JsonIgnore + public Optional height() { + return height; + } + + /** + * Video level. + */ + @JsonIgnore + public Optional level() { + return level; + } + + /** + * Indicates if this is the original stream. + */ + @JsonIgnore + public Optional original() { + return original; + } + + @JsonIgnore + public Optional hasScalingMatrix() { + return hasScalingMatrix; + } + + /** + * Video profile. + */ + @JsonIgnore + public Optional profile() { + return profile; + } + + @JsonIgnore + public Optional scanType() { + return scanType; + } + + /** + * Number of reference frames. + */ + @JsonIgnore + public Optional refFrames() { + return refFrames; + } + + /** + * Width of the video stream. + */ + @JsonIgnore + public Optional width() { + return width; + } + + /** + * Display title for the stream. + */ + @JsonIgnore + public String displayTitle() { + return displayTitle; + } + + /** + * Extended display title for the stream. + */ + @JsonIgnore + public String extendedDisplayTitle() { + return extendedDisplayTitle; + } + + /** + * Indicates if this stream is selected (applicable for audio streams). + */ + @JsonIgnore + public Optional selected() { + return selected; + } + + @JsonIgnore + public Optional forced() { + return forced; + } + + /** + * Number of audio channels (for audio streams). + */ + @JsonIgnore + public Optional channels() { + return channels; + } + + /** + * Audio channel layout. + */ + @JsonIgnore + public Optional audioChannelLayout() { + return audioChannelLayout; + } + + /** + * Sampling rate for the audio stream. + */ + @JsonIgnore + public Optional samplingRate() { + return samplingRate; + } + + /** + * Indicates if the stream can auto-sync. + */ + @JsonIgnore + public Optional canAutoSync() { + return canAutoSync; + } + + /** + * Indicates if the stream is for the hearing impaired. + */ + @JsonIgnore + public Optional hearingImpaired() { + return hearingImpaired; + } + + /** + * Indicates if the stream is a dub. + */ + @JsonIgnore + public Optional dub() { + return dub; + } + + /** + * Optional title for the stream (e.g., language variant). + */ + @JsonIgnore + public Optional title() { + return title; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * Unique stream identifier. + */ + public GetMediaMetaDataStream withId(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * Stream type (1=video, 2=audio, 3=subtitle). + */ + public GetMediaMetaDataStream withStreamType(long streamType) { + Utils.checkNotNull(streamType, "streamType"); + this.streamType = streamType; + return this; + } + + /** + * Indicates if this stream is default. + */ + public GetMediaMetaDataStream withDefault(boolean default_) { + Utils.checkNotNull(default_, "default_"); + this.default_ = Optional.ofNullable(default_); + return this; + } + + /** + * Indicates if this stream is default. + */ + public GetMediaMetaDataStream withDefault(Optional default_) { + Utils.checkNotNull(default_, "default_"); + this.default_ = default_; + return this; + } + + /** + * Codec used by the stream. + */ + public GetMediaMetaDataStream withCodec(String codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * Index of the stream. + */ + public GetMediaMetaDataStream withIndex(long index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * Bitrate of the stream. + */ + public GetMediaMetaDataStream withBitrate(long bitrate) { + Utils.checkNotNull(bitrate, "bitrate"); + this.bitrate = bitrate; + return this; + } + + /** + * Language of the stream. + */ + public GetMediaMetaDataStream withLanguage(String language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + /** + * Language tag (e.g., en). + */ + public GetMediaMetaDataStream withLanguageTag(String languageTag) { + Utils.checkNotNull(languageTag, "languageTag"); + this.languageTag = languageTag; + return this; + } + + /** + * ISO language code. + */ + public GetMediaMetaDataStream withLanguageCode(String languageCode) { + Utils.checkNotNull(languageCode, "languageCode"); + this.languageCode = languageCode; + return this; + } + + /** + * Dolby Vision BL compatibility ID. + */ + public GetMediaMetaDataStream withDOVIBLCompatID(long doviblCompatID) { + Utils.checkNotNull(doviblCompatID, "doviblCompatID"); + this.doviblCompatID = Optional.ofNullable(doviblCompatID); + return this; + } + + /** + * Dolby Vision BL compatibility ID. + */ + public GetMediaMetaDataStream withDOVIBLCompatID(Optional doviblCompatID) { + Utils.checkNotNull(doviblCompatID, "doviblCompatID"); + this.doviblCompatID = doviblCompatID; + return this; + } + + /** + * Indicates if Dolby Vision BL is present. + */ + public GetMediaMetaDataStream withDOVIBLPresent(boolean doviblPresent) { + Utils.checkNotNull(doviblPresent, "doviblPresent"); + this.doviblPresent = Optional.ofNullable(doviblPresent); + return this; + } + + /** + * Indicates if Dolby Vision BL is present. + */ + public GetMediaMetaDataStream withDOVIBLPresent(Optional doviblPresent) { + Utils.checkNotNull(doviblPresent, "doviblPresent"); + this.doviblPresent = doviblPresent; + return this; + } + + /** + * Indicates if Dolby Vision EL is present. + */ + public GetMediaMetaDataStream withDOVIELPresent(boolean dovielPresent) { + Utils.checkNotNull(dovielPresent, "dovielPresent"); + this.dovielPresent = Optional.ofNullable(dovielPresent); + return this; + } + + /** + * Indicates if Dolby Vision EL is present. + */ + public GetMediaMetaDataStream withDOVIELPresent(Optional dovielPresent) { + Utils.checkNotNull(dovielPresent, "dovielPresent"); + this.dovielPresent = dovielPresent; + return this; + } + + /** + * Dolby Vision level. + */ + public GetMediaMetaDataStream withDOVILevel(long doviLevel) { + Utils.checkNotNull(doviLevel, "doviLevel"); + this.doviLevel = Optional.ofNullable(doviLevel); + return this; + } + + /** + * Dolby Vision level. + */ + public GetMediaMetaDataStream withDOVILevel(Optional doviLevel) { + Utils.checkNotNull(doviLevel, "doviLevel"); + this.doviLevel = doviLevel; + return this; + } + + /** + * Indicates if Dolby Vision is present. + */ + public GetMediaMetaDataStream withDOVIPresent(boolean doviPresent) { + Utils.checkNotNull(doviPresent, "doviPresent"); + this.doviPresent = Optional.ofNullable(doviPresent); + return this; + } + + /** + * Indicates if Dolby Vision is present. + */ + public GetMediaMetaDataStream withDOVIPresent(Optional doviPresent) { + Utils.checkNotNull(doviPresent, "doviPresent"); + this.doviPresent = doviPresent; + return this; + } + + /** + * Dolby Vision profile. + */ + public GetMediaMetaDataStream withDOVIProfile(long doviProfile) { + Utils.checkNotNull(doviProfile, "doviProfile"); + this.doviProfile = Optional.ofNullable(doviProfile); + return this; + } + + /** + * Dolby Vision profile. + */ + public GetMediaMetaDataStream withDOVIProfile(Optional doviProfile) { + Utils.checkNotNull(doviProfile, "doviProfile"); + this.doviProfile = doviProfile; + return this; + } + + /** + * Indicates if Dolby Vision RPU is present. + */ + public GetMediaMetaDataStream withDOVIRPUPresent(boolean dovirpuPresent) { + Utils.checkNotNull(dovirpuPresent, "dovirpuPresent"); + this.dovirpuPresent = Optional.ofNullable(dovirpuPresent); + return this; + } + + /** + * Indicates if Dolby Vision RPU is present. + */ + public GetMediaMetaDataStream withDOVIRPUPresent(Optional dovirpuPresent) { + Utils.checkNotNull(dovirpuPresent, "dovirpuPresent"); + this.dovirpuPresent = dovirpuPresent; + return this; + } + + /** + * Dolby Vision version. + */ + public GetMediaMetaDataStream withDOVIVersion(String doviVersion) { + Utils.checkNotNull(doviVersion, "doviVersion"); + this.doviVersion = Optional.ofNullable(doviVersion); + return this; + } + + /** + * Dolby Vision version. + */ + public GetMediaMetaDataStream withDOVIVersion(Optional doviVersion) { + Utils.checkNotNull(doviVersion, "doviVersion"); + this.doviVersion = doviVersion; + return this; + } + + /** + * Bit depth of the video stream. + */ + public GetMediaMetaDataStream withBitDepth(long bitDepth) { + Utils.checkNotNull(bitDepth, "bitDepth"); + this.bitDepth = Optional.ofNullable(bitDepth); + return this; + } + + /** + * Bit depth of the video stream. + */ + public GetMediaMetaDataStream withBitDepth(Optional bitDepth) { + Utils.checkNotNull(bitDepth, "bitDepth"); + this.bitDepth = bitDepth; + return this; + } + + /** + * Chroma sample location. + */ + public GetMediaMetaDataStream withChromaLocation(String chromaLocation) { + Utils.checkNotNull(chromaLocation, "chromaLocation"); + this.chromaLocation = Optional.ofNullable(chromaLocation); + return this; + } + + /** + * Chroma sample location. + */ + public GetMediaMetaDataStream withChromaLocation(Optional chromaLocation) { + Utils.checkNotNull(chromaLocation, "chromaLocation"); + this.chromaLocation = chromaLocation; + return this; + } + + /** + * Chroma subsampling format. + */ + public GetMediaMetaDataStream withChromaSubsampling(String chromaSubsampling) { + Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); + this.chromaSubsampling = Optional.ofNullable(chromaSubsampling); + return this; + } + + /** + * Chroma subsampling format. + */ + public GetMediaMetaDataStream withChromaSubsampling(Optional chromaSubsampling) { + Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); + this.chromaSubsampling = chromaSubsampling; + return this; + } + + /** + * Coded video height. + */ + public GetMediaMetaDataStream withCodedHeight(long codedHeight) { + Utils.checkNotNull(codedHeight, "codedHeight"); + this.codedHeight = Optional.ofNullable(codedHeight); + return this; + } + + /** + * Coded video height. + */ + public GetMediaMetaDataStream withCodedHeight(Optional codedHeight) { + Utils.checkNotNull(codedHeight, "codedHeight"); + this.codedHeight = codedHeight; + return this; + } + + /** + * Coded video width. + */ + public GetMediaMetaDataStream withCodedWidth(long codedWidth) { + Utils.checkNotNull(codedWidth, "codedWidth"); + this.codedWidth = Optional.ofNullable(codedWidth); + return this; + } + + /** + * Coded video width. + */ + public GetMediaMetaDataStream withCodedWidth(Optional codedWidth) { + Utils.checkNotNull(codedWidth, "codedWidth"); + this.codedWidth = codedWidth; + return this; + } + + /** + * Color primaries used. + */ + public GetMediaMetaDataStream withColorPrimaries(String colorPrimaries) { + Utils.checkNotNull(colorPrimaries, "colorPrimaries"); + this.colorPrimaries = Optional.ofNullable(colorPrimaries); + return this; + } + + /** + * Color primaries used. + */ + public GetMediaMetaDataStream withColorPrimaries(Optional colorPrimaries) { + Utils.checkNotNull(colorPrimaries, "colorPrimaries"); + this.colorPrimaries = colorPrimaries; + return this; + } + + /** + * Color range (e.g., tv). + */ + public GetMediaMetaDataStream withColorRange(String colorRange) { + Utils.checkNotNull(colorRange, "colorRange"); + this.colorRange = Optional.ofNullable(colorRange); + return this; + } + + /** + * Color range (e.g., tv). + */ + public GetMediaMetaDataStream withColorRange(Optional colorRange) { + Utils.checkNotNull(colorRange, "colorRange"); + this.colorRange = colorRange; + return this; + } + + /** + * Color space. + */ + public GetMediaMetaDataStream withColorSpace(String colorSpace) { + Utils.checkNotNull(colorSpace, "colorSpace"); + this.colorSpace = Optional.ofNullable(colorSpace); + return this; + } + + /** + * Color space. + */ + public GetMediaMetaDataStream withColorSpace(Optional colorSpace) { + Utils.checkNotNull(colorSpace, "colorSpace"); + this.colorSpace = colorSpace; + return this; + } + + /** + * Color transfer characteristics. + */ + public GetMediaMetaDataStream withColorTrc(String colorTrc) { + Utils.checkNotNull(colorTrc, "colorTrc"); + this.colorTrc = Optional.ofNullable(colorTrc); + return this; + } + + /** + * Color transfer characteristics. + */ + public GetMediaMetaDataStream withColorTrc(Optional colorTrc) { + Utils.checkNotNull(colorTrc, "colorTrc"); + this.colorTrc = colorTrc; + return this; + } + + /** + * Frame rate of the stream. + */ + public GetMediaMetaDataStream withFrameRate(float frameRate) { + Utils.checkNotNull(frameRate, "frameRate"); + this.frameRate = Optional.ofNullable(frameRate); + return this; + } + + /** + * Frame rate of the stream. + */ + public GetMediaMetaDataStream withFrameRate(Optional frameRate) { + Utils.checkNotNull(frameRate, "frameRate"); + this.frameRate = frameRate; + return this; + } + + /** + * Height of the video stream. + */ + public GetMediaMetaDataStream withHeight(long height) { + Utils.checkNotNull(height, "height"); + this.height = Optional.ofNullable(height); + return this; + } + + /** + * Height of the video stream. + */ + public GetMediaMetaDataStream withHeight(Optional height) { + Utils.checkNotNull(height, "height"); + this.height = height; + return this; + } + + /** + * Video level. + */ + public GetMediaMetaDataStream withLevel(long level) { + Utils.checkNotNull(level, "level"); + this.level = Optional.ofNullable(level); + return this; + } + + /** + * Video level. + */ + public GetMediaMetaDataStream withLevel(Optional level) { + Utils.checkNotNull(level, "level"); + this.level = level; + return this; + } + + /** + * Indicates if this is the original stream. + */ + public GetMediaMetaDataStream withOriginal(boolean original) { + Utils.checkNotNull(original, "original"); + this.original = Optional.ofNullable(original); + return this; + } + + /** + * Indicates if this is the original stream. + */ + public GetMediaMetaDataStream withOriginal(Optional original) { + Utils.checkNotNull(original, "original"); + this.original = original; + return this; + } + + public GetMediaMetaDataStream withHasScalingMatrix(boolean hasScalingMatrix) { + Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); + this.hasScalingMatrix = Optional.ofNullable(hasScalingMatrix); + return this; + } + + public GetMediaMetaDataStream withHasScalingMatrix(Optional hasScalingMatrix) { + Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); + this.hasScalingMatrix = hasScalingMatrix; + return this; + } + + /** + * Video profile. + */ + public GetMediaMetaDataStream withProfile(String profile) { + Utils.checkNotNull(profile, "profile"); + this.profile = Optional.ofNullable(profile); + return this; + } + + /** + * Video profile. + */ + public GetMediaMetaDataStream withProfile(Optional profile) { + Utils.checkNotNull(profile, "profile"); + this.profile = profile; + return this; + } + + public GetMediaMetaDataStream withScanType(String scanType) { + Utils.checkNotNull(scanType, "scanType"); + this.scanType = Optional.ofNullable(scanType); + return this; + } + + public GetMediaMetaDataStream withScanType(Optional scanType) { + Utils.checkNotNull(scanType, "scanType"); + this.scanType = scanType; + return this; + } + + /** + * Number of reference frames. + */ + public GetMediaMetaDataStream withRefFrames(long refFrames) { + Utils.checkNotNull(refFrames, "refFrames"); + this.refFrames = Optional.ofNullable(refFrames); + return this; + } + + /** + * Number of reference frames. + */ + public GetMediaMetaDataStream withRefFrames(Optional refFrames) { + Utils.checkNotNull(refFrames, "refFrames"); + this.refFrames = refFrames; + return this; + } + + /** + * Width of the video stream. + */ + public GetMediaMetaDataStream withWidth(long width) { + Utils.checkNotNull(width, "width"); + this.width = Optional.ofNullable(width); + return this; + } + + /** + * Width of the video stream. + */ + public GetMediaMetaDataStream withWidth(Optional width) { + Utils.checkNotNull(width, "width"); + this.width = width; + return this; + } + + /** + * Display title for the stream. + */ + public GetMediaMetaDataStream withDisplayTitle(String displayTitle) { + Utils.checkNotNull(displayTitle, "displayTitle"); + this.displayTitle = displayTitle; + return this; + } + + /** + * Extended display title for the stream. + */ + public GetMediaMetaDataStream withExtendedDisplayTitle(String extendedDisplayTitle) { + Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); + this.extendedDisplayTitle = extendedDisplayTitle; + return this; + } + + /** + * Indicates if this stream is selected (applicable for audio streams). + */ + public GetMediaMetaDataStream withSelected(boolean selected) { + Utils.checkNotNull(selected, "selected"); + this.selected = Optional.ofNullable(selected); + return this; + } + + /** + * Indicates if this stream is selected (applicable for audio streams). + */ + public GetMediaMetaDataStream withSelected(Optional selected) { + Utils.checkNotNull(selected, "selected"); + this.selected = selected; + return this; + } + + public GetMediaMetaDataStream withForced(boolean forced) { + Utils.checkNotNull(forced, "forced"); + this.forced = Optional.ofNullable(forced); + return this; + } + + public GetMediaMetaDataStream withForced(Optional forced) { + Utils.checkNotNull(forced, "forced"); + this.forced = forced; + return this; + } + + /** + * Number of audio channels (for audio streams). + */ + public GetMediaMetaDataStream withChannels(long channels) { + Utils.checkNotNull(channels, "channels"); + this.channels = Optional.ofNullable(channels); + return this; + } + + /** + * Number of audio channels (for audio streams). + */ + public GetMediaMetaDataStream withChannels(Optional channels) { + Utils.checkNotNull(channels, "channels"); + this.channels = channels; + return this; + } + + /** + * Audio channel layout. + */ + public GetMediaMetaDataStream withAudioChannelLayout(String audioChannelLayout) { + Utils.checkNotNull(audioChannelLayout, "audioChannelLayout"); + this.audioChannelLayout = Optional.ofNullable(audioChannelLayout); + return this; + } + + /** + * Audio channel layout. + */ + public GetMediaMetaDataStream withAudioChannelLayout(Optional audioChannelLayout) { + Utils.checkNotNull(audioChannelLayout, "audioChannelLayout"); + this.audioChannelLayout = audioChannelLayout; + return this; + } + + /** + * Sampling rate for the audio stream. + */ + public GetMediaMetaDataStream withSamplingRate(long samplingRate) { + Utils.checkNotNull(samplingRate, "samplingRate"); + this.samplingRate = Optional.ofNullable(samplingRate); + return this; + } + + /** + * Sampling rate for the audio stream. + */ + public GetMediaMetaDataStream withSamplingRate(Optional samplingRate) { + Utils.checkNotNull(samplingRate, "samplingRate"); + this.samplingRate = samplingRate; + return this; + } + + /** + * Indicates if the stream can auto-sync. + */ + public GetMediaMetaDataStream withCanAutoSync(boolean canAutoSync) { + Utils.checkNotNull(canAutoSync, "canAutoSync"); + this.canAutoSync = Optional.ofNullable(canAutoSync); + return this; + } + + /** + * Indicates if the stream can auto-sync. + */ + public GetMediaMetaDataStream withCanAutoSync(Optional canAutoSync) { + Utils.checkNotNull(canAutoSync, "canAutoSync"); + this.canAutoSync = canAutoSync; + return this; + } + + /** + * Indicates if the stream is for the hearing impaired. + */ + public GetMediaMetaDataStream withHearingImpaired(boolean hearingImpaired) { + Utils.checkNotNull(hearingImpaired, "hearingImpaired"); + this.hearingImpaired = Optional.ofNullable(hearingImpaired); + return this; + } + + /** + * Indicates if the stream is for the hearing impaired. + */ + public GetMediaMetaDataStream withHearingImpaired(Optional hearingImpaired) { + Utils.checkNotNull(hearingImpaired, "hearingImpaired"); + this.hearingImpaired = hearingImpaired; + return this; + } + + /** + * Indicates if the stream is a dub. + */ + public GetMediaMetaDataStream withDub(boolean dub) { + Utils.checkNotNull(dub, "dub"); + this.dub = Optional.ofNullable(dub); + return this; + } + + /** + * Indicates if the stream is a dub. + */ + public GetMediaMetaDataStream withDub(Optional dub) { + Utils.checkNotNull(dub, "dub"); + this.dub = dub; + return this; + } + + /** + * Optional title for the stream (e.g., language variant). + */ + public GetMediaMetaDataStream withTitle(String title) { + Utils.checkNotNull(title, "title"); + this.title = Optional.ofNullable(title); + return this; + } + + /** + * Optional title for the stream (e.g., language variant). + */ + public GetMediaMetaDataStream withTitle(Optional title) { + Utils.checkNotNull(title, "title"); + this.title = title; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataStream other = (GetMediaMetaDataStream) o; + return + Objects.deepEquals(this.id, other.id) && + Objects.deepEquals(this.streamType, other.streamType) && + Objects.deepEquals(this.default_, other.default_) && + Objects.deepEquals(this.codec, other.codec) && + Objects.deepEquals(this.index, other.index) && + Objects.deepEquals(this.bitrate, other.bitrate) && + Objects.deepEquals(this.language, other.language) && + Objects.deepEquals(this.languageTag, other.languageTag) && + Objects.deepEquals(this.languageCode, other.languageCode) && + Objects.deepEquals(this.doviblCompatID, other.doviblCompatID) && + Objects.deepEquals(this.doviblPresent, other.doviblPresent) && + Objects.deepEquals(this.dovielPresent, other.dovielPresent) && + Objects.deepEquals(this.doviLevel, other.doviLevel) && + Objects.deepEquals(this.doviPresent, other.doviPresent) && + Objects.deepEquals(this.doviProfile, other.doviProfile) && + Objects.deepEquals(this.dovirpuPresent, other.dovirpuPresent) && + Objects.deepEquals(this.doviVersion, other.doviVersion) && + Objects.deepEquals(this.bitDepth, other.bitDepth) && + Objects.deepEquals(this.chromaLocation, other.chromaLocation) && + Objects.deepEquals(this.chromaSubsampling, other.chromaSubsampling) && + Objects.deepEquals(this.codedHeight, other.codedHeight) && + Objects.deepEquals(this.codedWidth, other.codedWidth) && + Objects.deepEquals(this.colorPrimaries, other.colorPrimaries) && + Objects.deepEquals(this.colorRange, other.colorRange) && + Objects.deepEquals(this.colorSpace, other.colorSpace) && + Objects.deepEquals(this.colorTrc, other.colorTrc) && + Objects.deepEquals(this.frameRate, other.frameRate) && + Objects.deepEquals(this.height, other.height) && + Objects.deepEquals(this.level, other.level) && + Objects.deepEquals(this.original, other.original) && + Objects.deepEquals(this.hasScalingMatrix, other.hasScalingMatrix) && + Objects.deepEquals(this.profile, other.profile) && + Objects.deepEquals(this.scanType, other.scanType) && + Objects.deepEquals(this.refFrames, other.refFrames) && + Objects.deepEquals(this.width, other.width) && + Objects.deepEquals(this.displayTitle, other.displayTitle) && + Objects.deepEquals(this.extendedDisplayTitle, other.extendedDisplayTitle) && + Objects.deepEquals(this.selected, other.selected) && + Objects.deepEquals(this.forced, other.forced) && + Objects.deepEquals(this.channels, other.channels) && + Objects.deepEquals(this.audioChannelLayout, other.audioChannelLayout) && + Objects.deepEquals(this.samplingRate, other.samplingRate) && + Objects.deepEquals(this.canAutoSync, other.canAutoSync) && + Objects.deepEquals(this.hearingImpaired, other.hearingImpaired) && + Objects.deepEquals(this.dub, other.dub) && + Objects.deepEquals(this.title, other.title); + } + + @Override + public int hashCode() { + return Objects.hash( + id, + streamType, + default_, + codec, + index, + bitrate, + language, + languageTag, + languageCode, + doviblCompatID, + doviblPresent, + dovielPresent, + doviLevel, + doviPresent, + doviProfile, + dovirpuPresent, + doviVersion, + bitDepth, + chromaLocation, + chromaSubsampling, + codedHeight, + codedWidth, + colorPrimaries, + colorRange, + colorSpace, + colorTrc, + frameRate, + height, + level, + original, + hasScalingMatrix, + profile, + scanType, + refFrames, + width, + displayTitle, + extendedDisplayTitle, + selected, + forced, + channels, + audioChannelLayout, + samplingRate, + canAutoSync, + hearingImpaired, + dub, + title); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataStream.class, + "id", id, + "streamType", streamType, + "default_", default_, + "codec", codec, + "index", index, + "bitrate", bitrate, + "language", language, + "languageTag", languageTag, + "languageCode", languageCode, + "doviblCompatID", doviblCompatID, + "doviblPresent", doviblPresent, + "dovielPresent", dovielPresent, + "doviLevel", doviLevel, + "doviPresent", doviPresent, + "doviProfile", doviProfile, + "dovirpuPresent", dovirpuPresent, + "doviVersion", doviVersion, + "bitDepth", bitDepth, + "chromaLocation", chromaLocation, + "chromaSubsampling", chromaSubsampling, + "codedHeight", codedHeight, + "codedWidth", codedWidth, + "colorPrimaries", colorPrimaries, + "colorRange", colorRange, + "colorSpace", colorSpace, + "colorTrc", colorTrc, + "frameRate", frameRate, + "height", height, + "level", level, + "original", original, + "hasScalingMatrix", hasScalingMatrix, + "profile", profile, + "scanType", scanType, + "refFrames", refFrames, + "width", width, + "displayTitle", displayTitle, + "extendedDisplayTitle", extendedDisplayTitle, + "selected", selected, + "forced", forced, + "channels", channels, + "audioChannelLayout", audioChannelLayout, + "samplingRate", samplingRate, + "canAutoSync", canAutoSync, + "hearingImpaired", hearingImpaired, + "dub", dub, + "title", title); + } + + public final static class Builder { + + private Long id; + + private Long streamType; + + private Optional default_ = Optional.empty(); + + private String codec; + + private Long index; + + private Long bitrate; + + private String language; + + private String languageTag; + + private String languageCode; + + private Optional doviblCompatID = Optional.empty(); + + private Optional doviblPresent = Optional.empty(); + + private Optional dovielPresent = Optional.empty(); + + private Optional doviLevel = Optional.empty(); + + private Optional doviPresent = Optional.empty(); + + private Optional doviProfile = Optional.empty(); + + private Optional dovirpuPresent = Optional.empty(); + + private Optional doviVersion = Optional.empty(); + + private Optional bitDepth = Optional.empty(); + + private Optional chromaLocation = Optional.empty(); + + private Optional chromaSubsampling = Optional.empty(); + + private Optional codedHeight = Optional.empty(); + + private Optional codedWidth = Optional.empty(); + + private Optional colorPrimaries = Optional.empty(); + + private Optional colorRange = Optional.empty(); + + private Optional colorSpace = Optional.empty(); + + private Optional colorTrc = Optional.empty(); + + private Optional frameRate = Optional.empty(); + + private Optional height = Optional.empty(); + + private Optional level = Optional.empty(); + + private Optional original = Optional.empty(); + + private Optional hasScalingMatrix = Optional.empty(); + + private Optional profile = Optional.empty(); + + private Optional scanType = Optional.empty(); + + private Optional refFrames = Optional.empty(); + + private Optional width = Optional.empty(); + + private String displayTitle; + + private String extendedDisplayTitle; + + private Optional selected = Optional.empty(); + + private Optional forced = Optional.empty(); + + private Optional channels = Optional.empty(); + + private Optional audioChannelLayout = Optional.empty(); + + private Optional samplingRate = Optional.empty(); + + private Optional canAutoSync = Optional.empty(); + + private Optional hearingImpaired = Optional.empty(); + + private Optional dub = Optional.empty(); + + private Optional title = Optional.empty(); + + private Builder() { + // force use of static builder() method + } + + /** + * Unique stream identifier. + */ + public Builder id(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * Stream type (1=video, 2=audio, 3=subtitle). + */ + public Builder streamType(long streamType) { + Utils.checkNotNull(streamType, "streamType"); + this.streamType = streamType; + return this; + } + + /** + * Indicates if this stream is default. + */ + public Builder default_(boolean default_) { + Utils.checkNotNull(default_, "default_"); + this.default_ = Optional.ofNullable(default_); + return this; + } + + /** + * Indicates if this stream is default. + */ + public Builder default_(Optional default_) { + Utils.checkNotNull(default_, "default_"); + this.default_ = default_; + return this; + } + + /** + * Codec used by the stream. + */ + public Builder codec(String codec) { + Utils.checkNotNull(codec, "codec"); + this.codec = codec; + return this; + } + + /** + * Index of the stream. + */ + public Builder index(long index) { + Utils.checkNotNull(index, "index"); + this.index = index; + return this; + } + + /** + * Bitrate of the stream. + */ + public Builder bitrate(long bitrate) { + Utils.checkNotNull(bitrate, "bitrate"); + this.bitrate = bitrate; + return this; + } + + /** + * Language of the stream. + */ + public Builder language(String language) { + Utils.checkNotNull(language, "language"); + this.language = language; + return this; + } + + /** + * Language tag (e.g., en). + */ + public Builder languageTag(String languageTag) { + Utils.checkNotNull(languageTag, "languageTag"); + this.languageTag = languageTag; + return this; + } + + /** + * ISO language code. + */ + public Builder languageCode(String languageCode) { + Utils.checkNotNull(languageCode, "languageCode"); + this.languageCode = languageCode; + return this; + } + + /** + * Dolby Vision BL compatibility ID. + */ + public Builder doviblCompatID(long doviblCompatID) { + Utils.checkNotNull(doviblCompatID, "doviblCompatID"); + this.doviblCompatID = Optional.ofNullable(doviblCompatID); + return this; + } + + /** + * Dolby Vision BL compatibility ID. + */ + public Builder doviblCompatID(Optional doviblCompatID) { + Utils.checkNotNull(doviblCompatID, "doviblCompatID"); + this.doviblCompatID = doviblCompatID; + return this; + } + + /** + * Indicates if Dolby Vision BL is present. + */ + public Builder doviblPresent(boolean doviblPresent) { + Utils.checkNotNull(doviblPresent, "doviblPresent"); + this.doviblPresent = Optional.ofNullable(doviblPresent); + return this; + } + + /** + * Indicates if Dolby Vision BL is present. + */ + public Builder doviblPresent(Optional doviblPresent) { + Utils.checkNotNull(doviblPresent, "doviblPresent"); + this.doviblPresent = doviblPresent; + return this; + } + + /** + * Indicates if Dolby Vision EL is present. + */ + public Builder dovielPresent(boolean dovielPresent) { + Utils.checkNotNull(dovielPresent, "dovielPresent"); + this.dovielPresent = Optional.ofNullable(dovielPresent); + return this; + } + + /** + * Indicates if Dolby Vision EL is present. + */ + public Builder dovielPresent(Optional dovielPresent) { + Utils.checkNotNull(dovielPresent, "dovielPresent"); + this.dovielPresent = dovielPresent; + return this; + } + + /** + * Dolby Vision level. + */ + public Builder doviLevel(long doviLevel) { + Utils.checkNotNull(doviLevel, "doviLevel"); + this.doviLevel = Optional.ofNullable(doviLevel); + return this; + } + + /** + * Dolby Vision level. + */ + public Builder doviLevel(Optional doviLevel) { + Utils.checkNotNull(doviLevel, "doviLevel"); + this.doviLevel = doviLevel; + return this; + } + + /** + * Indicates if Dolby Vision is present. + */ + public Builder doviPresent(boolean doviPresent) { + Utils.checkNotNull(doviPresent, "doviPresent"); + this.doviPresent = Optional.ofNullable(doviPresent); + return this; + } + + /** + * Indicates if Dolby Vision is present. + */ + public Builder doviPresent(Optional doviPresent) { + Utils.checkNotNull(doviPresent, "doviPresent"); + this.doviPresent = doviPresent; + return this; + } + + /** + * Dolby Vision profile. + */ + public Builder doviProfile(long doviProfile) { + Utils.checkNotNull(doviProfile, "doviProfile"); + this.doviProfile = Optional.ofNullable(doviProfile); + return this; + } + + /** + * Dolby Vision profile. + */ + public Builder doviProfile(Optional doviProfile) { + Utils.checkNotNull(doviProfile, "doviProfile"); + this.doviProfile = doviProfile; + return this; + } + + /** + * Indicates if Dolby Vision RPU is present. + */ + public Builder dovirpuPresent(boolean dovirpuPresent) { + Utils.checkNotNull(dovirpuPresent, "dovirpuPresent"); + this.dovirpuPresent = Optional.ofNullable(dovirpuPresent); + return this; + } + + /** + * Indicates if Dolby Vision RPU is present. + */ + public Builder dovirpuPresent(Optional dovirpuPresent) { + Utils.checkNotNull(dovirpuPresent, "dovirpuPresent"); + this.dovirpuPresent = dovirpuPresent; + return this; + } + + /** + * Dolby Vision version. + */ + public Builder doviVersion(String doviVersion) { + Utils.checkNotNull(doviVersion, "doviVersion"); + this.doviVersion = Optional.ofNullable(doviVersion); + return this; + } + + /** + * Dolby Vision version. + */ + public Builder doviVersion(Optional doviVersion) { + Utils.checkNotNull(doviVersion, "doviVersion"); + this.doviVersion = doviVersion; + return this; + } + + /** + * Bit depth of the video stream. + */ + public Builder bitDepth(long bitDepth) { + Utils.checkNotNull(bitDepth, "bitDepth"); + this.bitDepth = Optional.ofNullable(bitDepth); + return this; + } + + /** + * Bit depth of the video stream. + */ + public Builder bitDepth(Optional bitDepth) { + Utils.checkNotNull(bitDepth, "bitDepth"); + this.bitDepth = bitDepth; + return this; + } + + /** + * Chroma sample location. + */ + public Builder chromaLocation(String chromaLocation) { + Utils.checkNotNull(chromaLocation, "chromaLocation"); + this.chromaLocation = Optional.ofNullable(chromaLocation); + return this; + } + + /** + * Chroma sample location. + */ + public Builder chromaLocation(Optional chromaLocation) { + Utils.checkNotNull(chromaLocation, "chromaLocation"); + this.chromaLocation = chromaLocation; + return this; + } + + /** + * Chroma subsampling format. + */ + public Builder chromaSubsampling(String chromaSubsampling) { + Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); + this.chromaSubsampling = Optional.ofNullable(chromaSubsampling); + return this; + } + + /** + * Chroma subsampling format. + */ + public Builder chromaSubsampling(Optional chromaSubsampling) { + Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); + this.chromaSubsampling = chromaSubsampling; + return this; + } + + /** + * Coded video height. + */ + public Builder codedHeight(long codedHeight) { + Utils.checkNotNull(codedHeight, "codedHeight"); + this.codedHeight = Optional.ofNullable(codedHeight); + return this; + } + + /** + * Coded video height. + */ + public Builder codedHeight(Optional codedHeight) { + Utils.checkNotNull(codedHeight, "codedHeight"); + this.codedHeight = codedHeight; + return this; + } + + /** + * Coded video width. + */ + public Builder codedWidth(long codedWidth) { + Utils.checkNotNull(codedWidth, "codedWidth"); + this.codedWidth = Optional.ofNullable(codedWidth); + return this; + } + + /** + * Coded video width. + */ + public Builder codedWidth(Optional codedWidth) { + Utils.checkNotNull(codedWidth, "codedWidth"); + this.codedWidth = codedWidth; + return this; + } + + /** + * Color primaries used. + */ + public Builder colorPrimaries(String colorPrimaries) { + Utils.checkNotNull(colorPrimaries, "colorPrimaries"); + this.colorPrimaries = Optional.ofNullable(colorPrimaries); + return this; + } + + /** + * Color primaries used. + */ + public Builder colorPrimaries(Optional colorPrimaries) { + Utils.checkNotNull(colorPrimaries, "colorPrimaries"); + this.colorPrimaries = colorPrimaries; + return this; + } + + /** + * Color range (e.g., tv). + */ + public Builder colorRange(String colorRange) { + Utils.checkNotNull(colorRange, "colorRange"); + this.colorRange = Optional.ofNullable(colorRange); + return this; + } + + /** + * Color range (e.g., tv). + */ + public Builder colorRange(Optional colorRange) { + Utils.checkNotNull(colorRange, "colorRange"); + this.colorRange = colorRange; + return this; + } + + /** + * Color space. + */ + public Builder colorSpace(String colorSpace) { + Utils.checkNotNull(colorSpace, "colorSpace"); + this.colorSpace = Optional.ofNullable(colorSpace); + return this; + } + + /** + * Color space. + */ + public Builder colorSpace(Optional colorSpace) { + Utils.checkNotNull(colorSpace, "colorSpace"); + this.colorSpace = colorSpace; + return this; + } + + /** + * Color transfer characteristics. + */ + public Builder colorTrc(String colorTrc) { + Utils.checkNotNull(colorTrc, "colorTrc"); + this.colorTrc = Optional.ofNullable(colorTrc); + return this; + } + + /** + * Color transfer characteristics. + */ + public Builder colorTrc(Optional colorTrc) { + Utils.checkNotNull(colorTrc, "colorTrc"); + this.colorTrc = colorTrc; + return this; + } + + /** + * Frame rate of the stream. + */ + public Builder frameRate(float frameRate) { + Utils.checkNotNull(frameRate, "frameRate"); + this.frameRate = Optional.ofNullable(frameRate); + return this; + } + + /** + * Frame rate of the stream. + */ + public Builder frameRate(Optional frameRate) { + Utils.checkNotNull(frameRate, "frameRate"); + this.frameRate = frameRate; + return this; + } + + /** + * Height of the video stream. + */ + public Builder height(long height) { + Utils.checkNotNull(height, "height"); + this.height = Optional.ofNullable(height); + return this; + } + + /** + * Height of the video stream. + */ + public Builder height(Optional height) { + Utils.checkNotNull(height, "height"); + this.height = height; + return this; + } + + /** + * Video level. + */ + public Builder level(long level) { + Utils.checkNotNull(level, "level"); + this.level = Optional.ofNullable(level); + return this; + } + + /** + * Video level. + */ + public Builder level(Optional level) { + Utils.checkNotNull(level, "level"); + this.level = level; + return this; + } + + /** + * Indicates if this is the original stream. + */ + public Builder original(boolean original) { + Utils.checkNotNull(original, "original"); + this.original = Optional.ofNullable(original); + return this; + } + + /** + * Indicates if this is the original stream. + */ + public Builder original(Optional original) { + Utils.checkNotNull(original, "original"); + this.original = original; + return this; + } + + public Builder hasScalingMatrix(boolean hasScalingMatrix) { + Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); + this.hasScalingMatrix = Optional.ofNullable(hasScalingMatrix); + return this; + } + + public Builder hasScalingMatrix(Optional hasScalingMatrix) { + Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); + this.hasScalingMatrix = hasScalingMatrix; + return this; + } + + /** + * Video profile. + */ + public Builder profile(String profile) { + Utils.checkNotNull(profile, "profile"); + this.profile = Optional.ofNullable(profile); + return this; + } + + /** + * Video profile. + */ + public Builder profile(Optional profile) { + Utils.checkNotNull(profile, "profile"); + this.profile = profile; + return this; + } + + public Builder scanType(String scanType) { + Utils.checkNotNull(scanType, "scanType"); + this.scanType = Optional.ofNullable(scanType); + return this; + } + + public Builder scanType(Optional scanType) { + Utils.checkNotNull(scanType, "scanType"); + this.scanType = scanType; + return this; + } + + /** + * Number of reference frames. + */ + public Builder refFrames(long refFrames) { + Utils.checkNotNull(refFrames, "refFrames"); + this.refFrames = Optional.ofNullable(refFrames); + return this; + } + + /** + * Number of reference frames. + */ + public Builder refFrames(Optional refFrames) { + Utils.checkNotNull(refFrames, "refFrames"); + this.refFrames = refFrames; + return this; + } + + /** + * Width of the video stream. + */ + public Builder width(long width) { + Utils.checkNotNull(width, "width"); + this.width = Optional.ofNullable(width); + return this; + } + + /** + * Width of the video stream. + */ + public Builder width(Optional width) { + Utils.checkNotNull(width, "width"); + this.width = width; + return this; + } + + /** + * Display title for the stream. + */ + public Builder displayTitle(String displayTitle) { + Utils.checkNotNull(displayTitle, "displayTitle"); + this.displayTitle = displayTitle; + return this; + } + + /** + * Extended display title for the stream. + */ + public Builder extendedDisplayTitle(String extendedDisplayTitle) { + Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); + this.extendedDisplayTitle = extendedDisplayTitle; + return this; + } + + /** + * Indicates if this stream is selected (applicable for audio streams). + */ + public Builder selected(boolean selected) { + Utils.checkNotNull(selected, "selected"); + this.selected = Optional.ofNullable(selected); + return this; + } + + /** + * Indicates if this stream is selected (applicable for audio streams). + */ + public Builder selected(Optional selected) { + Utils.checkNotNull(selected, "selected"); + this.selected = selected; + return this; + } + + public Builder forced(boolean forced) { + Utils.checkNotNull(forced, "forced"); + this.forced = Optional.ofNullable(forced); + return this; + } + + public Builder forced(Optional forced) { + Utils.checkNotNull(forced, "forced"); + this.forced = forced; + return this; + } + + /** + * Number of audio channels (for audio streams). + */ + public Builder channels(long channels) { + Utils.checkNotNull(channels, "channels"); + this.channels = Optional.ofNullable(channels); + return this; + } + + /** + * Number of audio channels (for audio streams). + */ + public Builder channels(Optional channels) { + Utils.checkNotNull(channels, "channels"); + this.channels = channels; + return this; + } + + /** + * Audio channel layout. + */ + public Builder audioChannelLayout(String audioChannelLayout) { + Utils.checkNotNull(audioChannelLayout, "audioChannelLayout"); + this.audioChannelLayout = Optional.ofNullable(audioChannelLayout); + return this; + } + + /** + * Audio channel layout. + */ + public Builder audioChannelLayout(Optional audioChannelLayout) { + Utils.checkNotNull(audioChannelLayout, "audioChannelLayout"); + this.audioChannelLayout = audioChannelLayout; + return this; + } + + /** + * Sampling rate for the audio stream. + */ + public Builder samplingRate(long samplingRate) { + Utils.checkNotNull(samplingRate, "samplingRate"); + this.samplingRate = Optional.ofNullable(samplingRate); + return this; + } + + /** + * Sampling rate for the audio stream. + */ + public Builder samplingRate(Optional samplingRate) { + Utils.checkNotNull(samplingRate, "samplingRate"); + this.samplingRate = samplingRate; + return this; + } + + /** + * Indicates if the stream can auto-sync. + */ + public Builder canAutoSync(boolean canAutoSync) { + Utils.checkNotNull(canAutoSync, "canAutoSync"); + this.canAutoSync = Optional.ofNullable(canAutoSync); + return this; + } + + /** + * Indicates if the stream can auto-sync. + */ + public Builder canAutoSync(Optional canAutoSync) { + Utils.checkNotNull(canAutoSync, "canAutoSync"); + this.canAutoSync = canAutoSync; + return this; + } + + /** + * Indicates if the stream is for the hearing impaired. + */ + public Builder hearingImpaired(boolean hearingImpaired) { + Utils.checkNotNull(hearingImpaired, "hearingImpaired"); + this.hearingImpaired = Optional.ofNullable(hearingImpaired); + return this; + } + + /** + * Indicates if the stream is for the hearing impaired. + */ + public Builder hearingImpaired(Optional hearingImpaired) { + Utils.checkNotNull(hearingImpaired, "hearingImpaired"); + this.hearingImpaired = hearingImpaired; + return this; + } + + /** + * Indicates if the stream is a dub. + */ + public Builder dub(boolean dub) { + Utils.checkNotNull(dub, "dub"); + this.dub = Optional.ofNullable(dub); + return this; + } + + /** + * Indicates if the stream is a dub. + */ + public Builder dub(Optional dub) { + Utils.checkNotNull(dub, "dub"); + this.dub = dub; + return this; + } + + /** + * Optional title for the stream (e.g., language variant). + */ + public Builder title(String title) { + Utils.checkNotNull(title, "title"); + this.title = Optional.ofNullable(title); + return this; + } + + /** + * Optional title for the stream (e.g., language variant). + */ + public Builder title(Optional title) { + Utils.checkNotNull(title, "title"); + this.title = title; + return this; + } + + public GetMediaMetaDataStream build() { + return new GetMediaMetaDataStream( + id, + streamType, + default_, + codec, + index, + bitrate, + language, + languageTag, + languageCode, + doviblCompatID, + doviblPresent, + dovielPresent, + doviLevel, + doviPresent, + doviProfile, + dovirpuPresent, + doviVersion, + bitDepth, + chromaLocation, + chromaSubsampling, + codedHeight, + codedWidth, + colorPrimaries, + colorRange, + colorSpace, + colorTrc, + frameRate, + height, + level, + original, + hasScalingMatrix, + profile, + scanType, + refFrames, + width, + displayTitle, + extendedDisplayTitle, + selected, + forced, + channels, + audioChannelLayout, + samplingRate, + canAutoSync, + hearingImpaired, + dub, + title); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataUltraBlurColors.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataUltraBlurColors.java new file mode 100644 index 00000000..f45ecc93 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataUltraBlurColors.java @@ -0,0 +1,224 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class GetMediaMetaDataUltraBlurColors { + + /** + * The top-left color value. + */ + @JsonProperty("topLeft") + private String topLeft; + + /** + * The top-right color value. + */ + @JsonProperty("topRight") + private String topRight; + + /** + * The bottom-right color value. + */ + @JsonProperty("bottomRight") + private String bottomRight; + + /** + * The bottom-left color value. + */ + @JsonProperty("bottomLeft") + private String bottomLeft; + + @JsonCreator + public GetMediaMetaDataUltraBlurColors( + @JsonProperty("topLeft") String topLeft, + @JsonProperty("topRight") String topRight, + @JsonProperty("bottomRight") String bottomRight, + @JsonProperty("bottomLeft") String bottomLeft) { + Utils.checkNotNull(topLeft, "topLeft"); + Utils.checkNotNull(topRight, "topRight"); + Utils.checkNotNull(bottomRight, "bottomRight"); + Utils.checkNotNull(bottomLeft, "bottomLeft"); + this.topLeft = topLeft; + this.topRight = topRight; + this.bottomRight = bottomRight; + this.bottomLeft = bottomLeft; + } + + /** + * The top-left color value. + */ + @JsonIgnore + public String topLeft() { + return topLeft; + } + + /** + * The top-right color value. + */ + @JsonIgnore + public String topRight() { + return topRight; + } + + /** + * The bottom-right color value. + */ + @JsonIgnore + public String bottomRight() { + return bottomRight; + } + + /** + * The bottom-left color value. + */ + @JsonIgnore + public String bottomLeft() { + return bottomLeft; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The top-left color value. + */ + public GetMediaMetaDataUltraBlurColors withTopLeft(String topLeft) { + Utils.checkNotNull(topLeft, "topLeft"); + this.topLeft = topLeft; + return this; + } + + /** + * The top-right color value. + */ + public GetMediaMetaDataUltraBlurColors withTopRight(String topRight) { + Utils.checkNotNull(topRight, "topRight"); + this.topRight = topRight; + return this; + } + + /** + * The bottom-right color value. + */ + public GetMediaMetaDataUltraBlurColors withBottomRight(String bottomRight) { + Utils.checkNotNull(bottomRight, "bottomRight"); + this.bottomRight = bottomRight; + return this; + } + + /** + * The bottom-left color value. + */ + public GetMediaMetaDataUltraBlurColors withBottomLeft(String bottomLeft) { + Utils.checkNotNull(bottomLeft, "bottomLeft"); + this.bottomLeft = bottomLeft; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaMetaDataUltraBlurColors other = (GetMediaMetaDataUltraBlurColors) o; + return + Objects.deepEquals(this.topLeft, other.topLeft) && + Objects.deepEquals(this.topRight, other.topRight) && + Objects.deepEquals(this.bottomRight, other.bottomRight) && + Objects.deepEquals(this.bottomLeft, other.bottomLeft); + } + + @Override + public int hashCode() { + return Objects.hash( + topLeft, + topRight, + bottomRight, + bottomLeft); + } + + @Override + public String toString() { + return Utils.toString(GetMediaMetaDataUltraBlurColors.class, + "topLeft", topLeft, + "topRight", topRight, + "bottomRight", bottomRight, + "bottomLeft", bottomLeft); + } + + public final static class Builder { + + private String topLeft; + + private String topRight; + + private String bottomRight; + + private String bottomLeft; + + private Builder() { + // force use of static builder() method + } + + /** + * The top-left color value. + */ + public Builder topLeft(String topLeft) { + Utils.checkNotNull(topLeft, "topLeft"); + this.topLeft = topLeft; + return this; + } + + /** + * The top-right color value. + */ + public Builder topRight(String topRight) { + Utils.checkNotNull(topRight, "topRight"); + this.topRight = topRight; + return this; + } + + /** + * The bottom-right color value. + */ + public Builder bottomRight(String bottomRight) { + Utils.checkNotNull(bottomRight, "bottomRight"); + this.bottomRight = bottomRight; + return this; + } + + /** + * The bottom-left color value. + */ + public Builder bottomLeft(String bottomLeft) { + Utils.checkNotNull(bottomLeft, "bottomLeft"); + this.bottomLeft = bottomLeft; + return this; + } + + public GetMediaMetaDataUltraBlurColors build() { + return new GetMediaMetaDataUltraBlurColors( + topLeft, + topRight, + bottomRight, + bottomLeft); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyWriter.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataWriter.java similarity index 53% rename from src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyWriter.java rename to src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataWriter.java index 8dd262dd..5d170fd8 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyWriter.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetMediaMetaDataWriter.java @@ -11,78 +11,126 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; -import java.lang.Integer; +import java.lang.Long; import java.lang.Override; import java.lang.String; import java.util.Objects; import java.util.Optional; -public class GetMetaDataByRatingKeyWriter { +public class GetMediaMetaDataWriter { - @JsonInclude(Include.NON_ABSENT) + /** + * The unique role identifier. + */ @JsonProperty("id") - private Optional id; + private long id; - @JsonInclude(Include.NON_ABSENT) + /** + * The filter string for the role. + */ @JsonProperty("filter") - private Optional filter; + private String filter; - @JsonInclude(Include.NON_ABSENT) + /** + * The actor's name. + */ @JsonProperty("tag") - private Optional tag; + private String tag; - @JsonInclude(Include.NON_ABSENT) + /** + * A key associated with the actor tag. + */ @JsonProperty("tagKey") - private Optional tagKey; + private String tagKey; + /** + * The character name or role. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("role") + private Optional role; + + /** + * URL for the role thumbnail image. + */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonCreator - public GetMetaDataByRatingKeyWriter( - @JsonProperty("id") Optional id, - @JsonProperty("filter") Optional filter, - @JsonProperty("tag") Optional tag, - @JsonProperty("tagKey") Optional tagKey, + public GetMediaMetaDataWriter( + @JsonProperty("id") long id, + @JsonProperty("filter") String filter, + @JsonProperty("tag") String tag, + @JsonProperty("tagKey") String tagKey, + @JsonProperty("role") Optional role, @JsonProperty("thumb") Optional thumb) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(filter, "filter"); Utils.checkNotNull(tag, "tag"); Utils.checkNotNull(tagKey, "tagKey"); + Utils.checkNotNull(role, "role"); Utils.checkNotNull(thumb, "thumb"); this.id = id; this.filter = filter; this.tag = tag; this.tagKey = tagKey; + this.role = role; this.thumb = thumb; } - public GetMetaDataByRatingKeyWriter() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + public GetMediaMetaDataWriter( + long id, + String filter, + String tag, + String tagKey) { + this(id, filter, tag, tagKey, Optional.empty(), Optional.empty()); } + /** + * The unique role identifier. + */ @JsonIgnore - public Optional id() { + public long id() { return id; } + /** + * The filter string for the role. + */ @JsonIgnore - public Optional filter() { + public String filter() { return filter; } + /** + * The actor's name. + */ @JsonIgnore - public Optional tag() { + public String tag() { return tag; } + /** + * A key associated with the actor tag. + */ @JsonIgnore - public Optional tagKey() { + public String tagKey() { return tagKey; } + /** + * The character name or role. + */ + @JsonIgnore + public Optional role() { + return role; + } + + /** + * URL for the role thumbnail image. + */ @JsonIgnore public Optional thumb() { return thumb; @@ -92,61 +140,73 @@ public class GetMetaDataByRatingKeyWriter { return new Builder(); } - public GetMetaDataByRatingKeyWriter withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyWriter withId(Optional id) { + /** + * The unique role identifier. + */ + public GetMediaMetaDataWriter withId(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } - public GetMetaDataByRatingKeyWriter withFilter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public GetMetaDataByRatingKeyWriter withFilter(Optional filter) { + /** + * The filter string for the role. + */ + public GetMediaMetaDataWriter withFilter(String filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } - public GetMetaDataByRatingKeyWriter withTag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public GetMetaDataByRatingKeyWriter withTag(Optional tag) { + /** + * The actor's name. + */ + public GetMediaMetaDataWriter withTag(String tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } - public GetMetaDataByRatingKeyWriter withTagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public GetMetaDataByRatingKeyWriter withTagKey(Optional tagKey) { + /** + * A key associated with the actor tag. + */ + public GetMediaMetaDataWriter withTagKey(String tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } - public GetMetaDataByRatingKeyWriter withThumb(String thumb) { + /** + * The character name or role. + */ + public GetMediaMetaDataWriter withRole(String role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * The character name or role. + */ + public GetMediaMetaDataWriter withRole(Optional role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * URL for the role thumbnail image. + */ + public GetMediaMetaDataWriter withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } - public GetMetaDataByRatingKeyWriter withThumb(Optional thumb) { + /** + * URL for the role thumbnail image. + */ + public GetMediaMetaDataWriter withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; @@ -160,12 +220,13 @@ public class GetMetaDataByRatingKeyWriter { if (o == null || getClass() != o.getClass()) { return false; } - GetMetaDataByRatingKeyWriter other = (GetMetaDataByRatingKeyWriter) o; + GetMediaMetaDataWriter other = (GetMediaMetaDataWriter) o; return Objects.deepEquals(this.id, other.id) && Objects.deepEquals(this.filter, other.filter) && Objects.deepEquals(this.tag, other.tag) && Objects.deepEquals(this.tagKey, other.tagKey) && + Objects.deepEquals(this.role, other.role) && Objects.deepEquals(this.thumb, other.thumb); } @@ -176,28 +237,32 @@ public class GetMetaDataByRatingKeyWriter { filter, tag, tagKey, + role, thumb); } @Override public String toString() { - return Utils.toString(GetMetaDataByRatingKeyWriter.class, + return Utils.toString(GetMediaMetaDataWriter.class, "id", id, "filter", filter, "tag", tag, "tagKey", tagKey, + "role", role, "thumb", thumb); } public final static class Builder { - private Optional id = Optional.empty(); + private Long id; - private Optional filter = Optional.empty(); + private String filter; - private Optional tag = Optional.empty(); + private String tag; - private Optional tagKey = Optional.empty(); + private String tagKey; + + private Optional role = Optional.empty(); private Optional thumb = Optional.empty(); @@ -205,72 +270,85 @@ public class GetMetaDataByRatingKeyWriter { // force use of static builder() method } - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { + /** + * The unique role identifier. + */ + public Builder id(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } + /** + * The filter string for the role. + */ public Builder filter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public Builder filter(Optional filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } + /** + * The actor's name. + */ public Builder tag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public Builder tag(Optional tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } + /** + * A key associated with the actor tag. + */ public Builder tagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public Builder tagKey(Optional tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } + /** + * The character name or role. + */ + public Builder role(String role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * The character name or role. + */ + public Builder role(Optional role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * URL for the role thumbnail image. + */ public Builder thumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } + /** + * URL for the role thumbnail image. + */ public Builder thumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; return this; } - public GetMetaDataByRatingKeyWriter build() { - return new GetMetaDataByRatingKeyWriter( + public GetMediaMetaDataWriter build() { + return new GetMediaMetaDataWriter( id, filter, tag, tagKey, + role, thumb); } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyCountry.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyCountry.java deleted file mode 100644 index 42df9e58..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyCountry.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Integer; -import java.lang.Override; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; - - -public class GetMetaDataByRatingKeyCountry { - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("id") - private Optional id; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("filter") - private Optional filter; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("tag") - private Optional tag; - - @JsonCreator - public GetMetaDataByRatingKeyCountry( - @JsonProperty("id") Optional id, - @JsonProperty("filter") Optional filter, - @JsonProperty("tag") Optional tag) { - Utils.checkNotNull(id, "id"); - Utils.checkNotNull(filter, "filter"); - Utils.checkNotNull(tag, "tag"); - this.id = id; - this.filter = filter; - this.tag = tag; - } - - public GetMetaDataByRatingKeyCountry() { - this(Optional.empty(), Optional.empty(), Optional.empty()); - } - - @JsonIgnore - public Optional id() { - return id; - } - - @JsonIgnore - public Optional filter() { - return filter; - } - - @JsonIgnore - public Optional tag() { - return tag; - } - - public final static Builder builder() { - return new Builder(); - } - - public GetMetaDataByRatingKeyCountry withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyCountry withId(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public GetMetaDataByRatingKeyCountry withFilter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public GetMetaDataByRatingKeyCountry withFilter(Optional filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = filter; - return this; - } - - public GetMetaDataByRatingKeyCountry withTag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public GetMetaDataByRatingKeyCountry withTag(Optional tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = tag; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyCountry other = (GetMetaDataByRatingKeyCountry) o; - return - Objects.deepEquals(this.id, other.id) && - Objects.deepEquals(this.filter, other.filter) && - Objects.deepEquals(this.tag, other.tag); - } - - @Override - public int hashCode() { - return Objects.hash( - id, - filter, - tag); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyCountry.class, - "id", id, - "filter", filter, - "tag", tag); - } - - public final static class Builder { - - private Optional id = Optional.empty(); - - private Optional filter = Optional.empty(); - - private Optional tag = Optional.empty(); - - private Builder() { - // force use of static builder() method - } - - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public Builder filter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public Builder filter(Optional filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = filter; - return this; - } - - public Builder tag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public Builder tag(Optional tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = tag; - return this; - } - - public GetMetaDataByRatingKeyCountry build() { - return new GetMetaDataByRatingKeyCountry( - id, - filter, - tag); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyGenre.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyGenre.java deleted file mode 100644 index 1956c74f..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyGenre.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Integer; -import java.lang.Override; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; - - -public class GetMetaDataByRatingKeyGenre { - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("id") - private Optional id; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("filter") - private Optional filter; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("tag") - private Optional tag; - - @JsonCreator - public GetMetaDataByRatingKeyGenre( - @JsonProperty("id") Optional id, - @JsonProperty("filter") Optional filter, - @JsonProperty("tag") Optional tag) { - Utils.checkNotNull(id, "id"); - Utils.checkNotNull(filter, "filter"); - Utils.checkNotNull(tag, "tag"); - this.id = id; - this.filter = filter; - this.tag = tag; - } - - public GetMetaDataByRatingKeyGenre() { - this(Optional.empty(), Optional.empty(), Optional.empty()); - } - - @JsonIgnore - public Optional id() { - return id; - } - - @JsonIgnore - public Optional filter() { - return filter; - } - - @JsonIgnore - public Optional tag() { - return tag; - } - - public final static Builder builder() { - return new Builder(); - } - - public GetMetaDataByRatingKeyGenre withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyGenre withId(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public GetMetaDataByRatingKeyGenre withFilter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public GetMetaDataByRatingKeyGenre withFilter(Optional filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = filter; - return this; - } - - public GetMetaDataByRatingKeyGenre withTag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public GetMetaDataByRatingKeyGenre withTag(Optional tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = tag; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyGenre other = (GetMetaDataByRatingKeyGenre) o; - return - Objects.deepEquals(this.id, other.id) && - Objects.deepEquals(this.filter, other.filter) && - Objects.deepEquals(this.tag, other.tag); - } - - @Override - public int hashCode() { - return Objects.hash( - id, - filter, - tag); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyGenre.class, - "id", id, - "filter", filter, - "tag", tag); - } - - public final static class Builder { - - private Optional id = Optional.empty(); - - private Optional filter = Optional.empty(); - - private Optional tag = Optional.empty(); - - private Builder() { - // force use of static builder() method - } - - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public Builder filter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public Builder filter(Optional filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = filter; - return this; - } - - public Builder tag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public Builder tag(Optional tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = tag; - return this; - } - - public GetMetaDataByRatingKeyGenre build() { - return new GetMetaDataByRatingKeyGenre( - id, - filter, - tag); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMedia.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMedia.java deleted file mode 100644 index eda7939e..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMedia.java +++ /dev/null @@ -1,787 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Boolean; -import java.lang.Double; -import java.lang.Integer; -import java.lang.Override; -import java.lang.String; -import java.lang.SuppressWarnings; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - - -public class GetMetaDataByRatingKeyMedia { - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("id") - private Optional id; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("duration") - private Optional duration; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("bitrate") - private Optional bitrate; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("width") - private Optional width; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("height") - private Optional height; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("aspectRatio") - private Optional aspectRatio; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("audioChannels") - private Optional audioChannels; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("audioCodec") - private Optional audioCodec; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("videoCodec") - private Optional videoCodec; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("videoResolution") - private Optional videoResolution; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("container") - private Optional container; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("videoFrameRate") - private Optional videoFrameRate; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("optimizedForStreaming") - private Optional optimizedForStreaming; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("audioProfile") - private Optional audioProfile; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("has64bitOffsets") - private Optional has64bitOffsets; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("videoProfile") - private Optional videoProfile; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Part") - private Optional> part; - - @JsonCreator - public GetMetaDataByRatingKeyMedia( - @JsonProperty("id") Optional id, - @JsonProperty("duration") Optional duration, - @JsonProperty("bitrate") Optional bitrate, - @JsonProperty("width") Optional width, - @JsonProperty("height") Optional height, - @JsonProperty("aspectRatio") Optional aspectRatio, - @JsonProperty("audioChannels") Optional audioChannels, - @JsonProperty("audioCodec") Optional audioCodec, - @JsonProperty("videoCodec") Optional videoCodec, - @JsonProperty("videoResolution") Optional videoResolution, - @JsonProperty("container") Optional container, - @JsonProperty("videoFrameRate") Optional videoFrameRate, - @JsonProperty("optimizedForStreaming") Optional optimizedForStreaming, - @JsonProperty("audioProfile") Optional audioProfile, - @JsonProperty("has64bitOffsets") Optional has64bitOffsets, - @JsonProperty("videoProfile") Optional videoProfile, - @JsonProperty("Part") Optional> part) { - Utils.checkNotNull(id, "id"); - Utils.checkNotNull(duration, "duration"); - Utils.checkNotNull(bitrate, "bitrate"); - Utils.checkNotNull(width, "width"); - Utils.checkNotNull(height, "height"); - Utils.checkNotNull(aspectRatio, "aspectRatio"); - Utils.checkNotNull(audioChannels, "audioChannels"); - Utils.checkNotNull(audioCodec, "audioCodec"); - Utils.checkNotNull(videoCodec, "videoCodec"); - Utils.checkNotNull(videoResolution, "videoResolution"); - Utils.checkNotNull(container, "container"); - Utils.checkNotNull(videoFrameRate, "videoFrameRate"); - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - Utils.checkNotNull(audioProfile, "audioProfile"); - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - Utils.checkNotNull(videoProfile, "videoProfile"); - Utils.checkNotNull(part, "part"); - this.id = id; - this.duration = duration; - this.bitrate = bitrate; - this.width = width; - this.height = height; - this.aspectRatio = aspectRatio; - this.audioChannels = audioChannels; - this.audioCodec = audioCodec; - this.videoCodec = videoCodec; - this.videoResolution = videoResolution; - this.container = container; - this.videoFrameRate = videoFrameRate; - this.optimizedForStreaming = optimizedForStreaming; - this.audioProfile = audioProfile; - this.has64bitOffsets = has64bitOffsets; - this.videoProfile = videoProfile; - this.part = part; - } - - public GetMetaDataByRatingKeyMedia() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); - } - - @JsonIgnore - public Optional id() { - return id; - } - - @JsonIgnore - public Optional duration() { - return duration; - } - - @JsonIgnore - public Optional bitrate() { - return bitrate; - } - - @JsonIgnore - public Optional width() { - return width; - } - - @JsonIgnore - public Optional height() { - return height; - } - - @JsonIgnore - public Optional aspectRatio() { - return aspectRatio; - } - - @JsonIgnore - public Optional audioChannels() { - return audioChannels; - } - - @JsonIgnore - public Optional audioCodec() { - return audioCodec; - } - - @JsonIgnore - public Optional videoCodec() { - return videoCodec; - } - - @JsonIgnore - public Optional videoResolution() { - return videoResolution; - } - - @JsonIgnore - public Optional container() { - return container; - } - - @JsonIgnore - public Optional videoFrameRate() { - return videoFrameRate; - } - - @JsonIgnore - public Optional optimizedForStreaming() { - return optimizedForStreaming; - } - - @JsonIgnore - public Optional audioProfile() { - return audioProfile; - } - - @JsonIgnore - public Optional has64bitOffsets() { - return has64bitOffsets; - } - - @JsonIgnore - public Optional videoProfile() { - return videoProfile; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> part() { - return (Optional>) part; - } - - public final static Builder builder() { - return new Builder(); - } - - public GetMetaDataByRatingKeyMedia withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyMedia withId(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public GetMetaDataByRatingKeyMedia withDuration(int duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = Optional.ofNullable(duration); - return this; - } - - public GetMetaDataByRatingKeyMedia withDuration(Optional duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = duration; - return this; - } - - public GetMetaDataByRatingKeyMedia withBitrate(int bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = Optional.ofNullable(bitrate); - return this; - } - - public GetMetaDataByRatingKeyMedia withBitrate(Optional bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = bitrate; - return this; - } - - public GetMetaDataByRatingKeyMedia withWidth(int width) { - Utils.checkNotNull(width, "width"); - this.width = Optional.ofNullable(width); - return this; - } - - public GetMetaDataByRatingKeyMedia withWidth(Optional width) { - Utils.checkNotNull(width, "width"); - this.width = width; - return this; - } - - public GetMetaDataByRatingKeyMedia withHeight(int height) { - Utils.checkNotNull(height, "height"); - this.height = Optional.ofNullable(height); - return this; - } - - public GetMetaDataByRatingKeyMedia withHeight(Optional height) { - Utils.checkNotNull(height, "height"); - this.height = height; - return this; - } - - public GetMetaDataByRatingKeyMedia withAspectRatio(double aspectRatio) { - Utils.checkNotNull(aspectRatio, "aspectRatio"); - this.aspectRatio = Optional.ofNullable(aspectRatio); - return this; - } - - public GetMetaDataByRatingKeyMedia withAspectRatio(Optional aspectRatio) { - Utils.checkNotNull(aspectRatio, "aspectRatio"); - this.aspectRatio = aspectRatio; - return this; - } - - public GetMetaDataByRatingKeyMedia withAudioChannels(int audioChannels) { - Utils.checkNotNull(audioChannels, "audioChannels"); - this.audioChannels = Optional.ofNullable(audioChannels); - return this; - } - - public GetMetaDataByRatingKeyMedia withAudioChannels(Optional audioChannels) { - Utils.checkNotNull(audioChannels, "audioChannels"); - this.audioChannels = audioChannels; - return this; - } - - public GetMetaDataByRatingKeyMedia withAudioCodec(String audioCodec) { - Utils.checkNotNull(audioCodec, "audioCodec"); - this.audioCodec = Optional.ofNullable(audioCodec); - return this; - } - - public GetMetaDataByRatingKeyMedia withAudioCodec(Optional audioCodec) { - Utils.checkNotNull(audioCodec, "audioCodec"); - this.audioCodec = audioCodec; - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoCodec(String videoCodec) { - Utils.checkNotNull(videoCodec, "videoCodec"); - this.videoCodec = Optional.ofNullable(videoCodec); - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoCodec(Optional videoCodec) { - Utils.checkNotNull(videoCodec, "videoCodec"); - this.videoCodec = videoCodec; - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoResolution(String videoResolution) { - Utils.checkNotNull(videoResolution, "videoResolution"); - this.videoResolution = Optional.ofNullable(videoResolution); - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoResolution(Optional videoResolution) { - Utils.checkNotNull(videoResolution, "videoResolution"); - this.videoResolution = videoResolution; - return this; - } - - public GetMetaDataByRatingKeyMedia withContainer(String container) { - Utils.checkNotNull(container, "container"); - this.container = Optional.ofNullable(container); - return this; - } - - public GetMetaDataByRatingKeyMedia withContainer(Optional container) { - Utils.checkNotNull(container, "container"); - this.container = container; - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoFrameRate(String videoFrameRate) { - Utils.checkNotNull(videoFrameRate, "videoFrameRate"); - this.videoFrameRate = Optional.ofNullable(videoFrameRate); - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoFrameRate(Optional videoFrameRate) { - Utils.checkNotNull(videoFrameRate, "videoFrameRate"); - this.videoFrameRate = videoFrameRate; - return this; - } - - public GetMetaDataByRatingKeyMedia withOptimizedForStreaming(int optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = Optional.ofNullable(optimizedForStreaming); - return this; - } - - public GetMetaDataByRatingKeyMedia withOptimizedForStreaming(Optional optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = optimizedForStreaming; - return this; - } - - public GetMetaDataByRatingKeyMedia withAudioProfile(String audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = Optional.ofNullable(audioProfile); - return this; - } - - public GetMetaDataByRatingKeyMedia withAudioProfile(Optional audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = audioProfile; - return this; - } - - public GetMetaDataByRatingKeyMedia withHas64bitOffsets(boolean has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = Optional.ofNullable(has64bitOffsets); - return this; - } - - public GetMetaDataByRatingKeyMedia withHas64bitOffsets(Optional has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = has64bitOffsets; - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoProfile(String videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = Optional.ofNullable(videoProfile); - return this; - } - - public GetMetaDataByRatingKeyMedia withVideoProfile(Optional videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = videoProfile; - return this; - } - - public GetMetaDataByRatingKeyMedia withPart(List part) { - Utils.checkNotNull(part, "part"); - this.part = Optional.ofNullable(part); - return this; - } - - public GetMetaDataByRatingKeyMedia withPart(Optional> part) { - Utils.checkNotNull(part, "part"); - this.part = part; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyMedia other = (GetMetaDataByRatingKeyMedia) o; - return - Objects.deepEquals(this.id, other.id) && - Objects.deepEquals(this.duration, other.duration) && - Objects.deepEquals(this.bitrate, other.bitrate) && - Objects.deepEquals(this.width, other.width) && - Objects.deepEquals(this.height, other.height) && - Objects.deepEquals(this.aspectRatio, other.aspectRatio) && - Objects.deepEquals(this.audioChannels, other.audioChannels) && - Objects.deepEquals(this.audioCodec, other.audioCodec) && - Objects.deepEquals(this.videoCodec, other.videoCodec) && - Objects.deepEquals(this.videoResolution, other.videoResolution) && - Objects.deepEquals(this.container, other.container) && - Objects.deepEquals(this.videoFrameRate, other.videoFrameRate) && - Objects.deepEquals(this.optimizedForStreaming, other.optimizedForStreaming) && - Objects.deepEquals(this.audioProfile, other.audioProfile) && - Objects.deepEquals(this.has64bitOffsets, other.has64bitOffsets) && - Objects.deepEquals(this.videoProfile, other.videoProfile) && - Objects.deepEquals(this.part, other.part); - } - - @Override - public int hashCode() { - return Objects.hash( - id, - duration, - bitrate, - width, - height, - aspectRatio, - audioChannels, - audioCodec, - videoCodec, - videoResolution, - container, - videoFrameRate, - optimizedForStreaming, - audioProfile, - has64bitOffsets, - videoProfile, - part); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyMedia.class, - "id", id, - "duration", duration, - "bitrate", bitrate, - "width", width, - "height", height, - "aspectRatio", aspectRatio, - "audioChannels", audioChannels, - "audioCodec", audioCodec, - "videoCodec", videoCodec, - "videoResolution", videoResolution, - "container", container, - "videoFrameRate", videoFrameRate, - "optimizedForStreaming", optimizedForStreaming, - "audioProfile", audioProfile, - "has64bitOffsets", has64bitOffsets, - "videoProfile", videoProfile, - "part", part); - } - - public final static class Builder { - - private Optional id = Optional.empty(); - - private Optional duration = Optional.empty(); - - private Optional bitrate = Optional.empty(); - - private Optional width = Optional.empty(); - - private Optional height = Optional.empty(); - - private Optional aspectRatio = Optional.empty(); - - private Optional audioChannels = Optional.empty(); - - private Optional audioCodec = Optional.empty(); - - private Optional videoCodec = Optional.empty(); - - private Optional videoResolution = Optional.empty(); - - private Optional container = Optional.empty(); - - private Optional videoFrameRate = Optional.empty(); - - private Optional optimizedForStreaming = Optional.empty(); - - private Optional audioProfile = Optional.empty(); - - private Optional has64bitOffsets = Optional.empty(); - - private Optional videoProfile = Optional.empty(); - - private Optional> part = Optional.empty(); - - private Builder() { - // force use of static builder() method - } - - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public Builder duration(int duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = Optional.ofNullable(duration); - return this; - } - - public Builder duration(Optional duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = duration; - return this; - } - - public Builder bitrate(int bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = Optional.ofNullable(bitrate); - return this; - } - - public Builder bitrate(Optional bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = bitrate; - return this; - } - - public Builder width(int width) { - Utils.checkNotNull(width, "width"); - this.width = Optional.ofNullable(width); - return this; - } - - public Builder width(Optional width) { - Utils.checkNotNull(width, "width"); - this.width = width; - return this; - } - - public Builder height(int height) { - Utils.checkNotNull(height, "height"); - this.height = Optional.ofNullable(height); - return this; - } - - public Builder height(Optional height) { - Utils.checkNotNull(height, "height"); - this.height = height; - return this; - } - - public Builder aspectRatio(double aspectRatio) { - Utils.checkNotNull(aspectRatio, "aspectRatio"); - this.aspectRatio = Optional.ofNullable(aspectRatio); - return this; - } - - public Builder aspectRatio(Optional aspectRatio) { - Utils.checkNotNull(aspectRatio, "aspectRatio"); - this.aspectRatio = aspectRatio; - return this; - } - - public Builder audioChannels(int audioChannels) { - Utils.checkNotNull(audioChannels, "audioChannels"); - this.audioChannels = Optional.ofNullable(audioChannels); - return this; - } - - public Builder audioChannels(Optional audioChannels) { - Utils.checkNotNull(audioChannels, "audioChannels"); - this.audioChannels = audioChannels; - return this; - } - - public Builder audioCodec(String audioCodec) { - Utils.checkNotNull(audioCodec, "audioCodec"); - this.audioCodec = Optional.ofNullable(audioCodec); - return this; - } - - public Builder audioCodec(Optional audioCodec) { - Utils.checkNotNull(audioCodec, "audioCodec"); - this.audioCodec = audioCodec; - return this; - } - - public Builder videoCodec(String videoCodec) { - Utils.checkNotNull(videoCodec, "videoCodec"); - this.videoCodec = Optional.ofNullable(videoCodec); - return this; - } - - public Builder videoCodec(Optional videoCodec) { - Utils.checkNotNull(videoCodec, "videoCodec"); - this.videoCodec = videoCodec; - return this; - } - - public Builder videoResolution(String videoResolution) { - Utils.checkNotNull(videoResolution, "videoResolution"); - this.videoResolution = Optional.ofNullable(videoResolution); - return this; - } - - public Builder videoResolution(Optional videoResolution) { - Utils.checkNotNull(videoResolution, "videoResolution"); - this.videoResolution = videoResolution; - return this; - } - - public Builder container(String container) { - Utils.checkNotNull(container, "container"); - this.container = Optional.ofNullable(container); - return this; - } - - public Builder container(Optional container) { - Utils.checkNotNull(container, "container"); - this.container = container; - return this; - } - - public Builder videoFrameRate(String videoFrameRate) { - Utils.checkNotNull(videoFrameRate, "videoFrameRate"); - this.videoFrameRate = Optional.ofNullable(videoFrameRate); - return this; - } - - public Builder videoFrameRate(Optional videoFrameRate) { - Utils.checkNotNull(videoFrameRate, "videoFrameRate"); - this.videoFrameRate = videoFrameRate; - return this; - } - - public Builder optimizedForStreaming(int optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = Optional.ofNullable(optimizedForStreaming); - return this; - } - - public Builder optimizedForStreaming(Optional optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = optimizedForStreaming; - return this; - } - - public Builder audioProfile(String audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = Optional.ofNullable(audioProfile); - return this; - } - - public Builder audioProfile(Optional audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = audioProfile; - return this; - } - - public Builder has64bitOffsets(boolean has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = Optional.ofNullable(has64bitOffsets); - return this; - } - - public Builder has64bitOffsets(Optional has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = has64bitOffsets; - return this; - } - - public Builder videoProfile(String videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = Optional.ofNullable(videoProfile); - return this; - } - - public Builder videoProfile(Optional videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = videoProfile; - return this; - } - - public Builder part(List part) { - Utils.checkNotNull(part, "part"); - this.part = Optional.ofNullable(part); - return this; - } - - public Builder part(Optional> part) { - Utils.checkNotNull(part, "part"); - this.part = part; - return this; - } - - public GetMetaDataByRatingKeyMedia build() { - return new GetMetaDataByRatingKeyMedia( - id, - duration, - bitrate, - width, - height, - aspectRatio, - audioChannels, - audioCodec, - videoCodec, - videoResolution, - container, - videoFrameRate, - optimizedForStreaming, - audioProfile, - has64bitOffsets, - videoProfile, - part); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMediaContainer.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMediaContainer.java deleted file mode 100644 index 9dffd5fe..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMediaContainer.java +++ /dev/null @@ -1,450 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.Override; -import java.lang.String; -import java.lang.SuppressWarnings; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - - -public class GetMetaDataByRatingKeyMediaContainer { - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("size") - private Optional size; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("allowSync") - private Optional allowSync; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("identifier") - private Optional identifier; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("librarySectionID") - private Optional librarySectionID; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("librarySectionTitle") - private Optional librarySectionTitle; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("librarySectionUUID") - private Optional librarySectionUUID; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("mediaTagPrefix") - private Optional mediaTagPrefix; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("mediaTagVersion") - private Optional mediaTagVersion; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Metadata") - private Optional> metadata; - - @JsonCreator - public GetMetaDataByRatingKeyMediaContainer( - @JsonProperty("size") Optional size, - @JsonProperty("allowSync") Optional allowSync, - @JsonProperty("identifier") Optional identifier, - @JsonProperty("librarySectionID") Optional librarySectionID, - @JsonProperty("librarySectionTitle") Optional librarySectionTitle, - @JsonProperty("librarySectionUUID") Optional librarySectionUUID, - @JsonProperty("mediaTagPrefix") Optional mediaTagPrefix, - @JsonProperty("mediaTagVersion") Optional mediaTagVersion, - @JsonProperty("Metadata") Optional> metadata) { - Utils.checkNotNull(size, "size"); - Utils.checkNotNull(allowSync, "allowSync"); - Utils.checkNotNull(identifier, "identifier"); - Utils.checkNotNull(librarySectionID, "librarySectionID"); - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); - Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); - Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); - Utils.checkNotNull(metadata, "metadata"); - this.size = size; - this.allowSync = allowSync; - this.identifier = identifier; - this.librarySectionID = librarySectionID; - this.librarySectionTitle = librarySectionTitle; - this.librarySectionUUID = librarySectionUUID; - this.mediaTagPrefix = mediaTagPrefix; - this.mediaTagVersion = mediaTagVersion; - this.metadata = metadata; - } - - public GetMetaDataByRatingKeyMediaContainer() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); - } - - @JsonIgnore - public Optional size() { - return size; - } - - @JsonIgnore - public Optional allowSync() { - return allowSync; - } - - @JsonIgnore - public Optional identifier() { - return identifier; - } - - @JsonIgnore - public Optional librarySectionID() { - return librarySectionID; - } - - @JsonIgnore - public Optional librarySectionTitle() { - return librarySectionTitle; - } - - @JsonIgnore - public Optional librarySectionUUID() { - return librarySectionUUID; - } - - @JsonIgnore - public Optional mediaTagPrefix() { - return mediaTagPrefix; - } - - @JsonIgnore - public Optional mediaTagVersion() { - return mediaTagVersion; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> metadata() { - return (Optional>) metadata; - } - - public final static Builder builder() { - return new Builder(); - } - - public GetMetaDataByRatingKeyMediaContainer withSize(int size) { - Utils.checkNotNull(size, "size"); - this.size = Optional.ofNullable(size); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withSize(Optional size) { - Utils.checkNotNull(size, "size"); - this.size = size; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withAllowSync(boolean allowSync) { - Utils.checkNotNull(allowSync, "allowSync"); - this.allowSync = Optional.ofNullable(allowSync); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withAllowSync(Optional allowSync) { - Utils.checkNotNull(allowSync, "allowSync"); - this.allowSync = allowSync; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withIdentifier(String identifier) { - Utils.checkNotNull(identifier, "identifier"); - this.identifier = Optional.ofNullable(identifier); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withIdentifier(Optional identifier) { - Utils.checkNotNull(identifier, "identifier"); - this.identifier = identifier; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withLibrarySectionID(int librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = Optional.ofNullable(librarySectionID); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withLibrarySectionID(Optional librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = librarySectionID; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withLibrarySectionTitle(String librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withLibrarySectionTitle(Optional librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = librarySectionTitle; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withLibrarySectionUUID(String librarySectionUUID) { - Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); - this.librarySectionUUID = Optional.ofNullable(librarySectionUUID); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withLibrarySectionUUID(Optional librarySectionUUID) { - Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); - this.librarySectionUUID = librarySectionUUID; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withMediaTagPrefix(String mediaTagPrefix) { - Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); - this.mediaTagPrefix = Optional.ofNullable(mediaTagPrefix); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withMediaTagPrefix(Optional mediaTagPrefix) { - Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); - this.mediaTagPrefix = mediaTagPrefix; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withMediaTagVersion(int mediaTagVersion) { - Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); - this.mediaTagVersion = Optional.ofNullable(mediaTagVersion); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withMediaTagVersion(Optional mediaTagVersion) { - Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); - this.mediaTagVersion = mediaTagVersion; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withMetadata(List metadata) { - Utils.checkNotNull(metadata, "metadata"); - this.metadata = Optional.ofNullable(metadata); - return this; - } - - public GetMetaDataByRatingKeyMediaContainer withMetadata(Optional> metadata) { - Utils.checkNotNull(metadata, "metadata"); - this.metadata = metadata; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyMediaContainer other = (GetMetaDataByRatingKeyMediaContainer) o; - return - Objects.deepEquals(this.size, other.size) && - Objects.deepEquals(this.allowSync, other.allowSync) && - Objects.deepEquals(this.identifier, other.identifier) && - Objects.deepEquals(this.librarySectionID, other.librarySectionID) && - Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && - Objects.deepEquals(this.librarySectionUUID, other.librarySectionUUID) && - Objects.deepEquals(this.mediaTagPrefix, other.mediaTagPrefix) && - Objects.deepEquals(this.mediaTagVersion, other.mediaTagVersion) && - Objects.deepEquals(this.metadata, other.metadata); - } - - @Override - public int hashCode() { - return Objects.hash( - size, - allowSync, - identifier, - librarySectionID, - librarySectionTitle, - librarySectionUUID, - mediaTagPrefix, - mediaTagVersion, - metadata); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyMediaContainer.class, - "size", size, - "allowSync", allowSync, - "identifier", identifier, - "librarySectionID", librarySectionID, - "librarySectionTitle", librarySectionTitle, - "librarySectionUUID", librarySectionUUID, - "mediaTagPrefix", mediaTagPrefix, - "mediaTagVersion", mediaTagVersion, - "metadata", metadata); - } - - public final static class Builder { - - private Optional size = Optional.empty(); - - private Optional allowSync = Optional.empty(); - - private Optional identifier = Optional.empty(); - - private Optional librarySectionID = Optional.empty(); - - private Optional librarySectionTitle = Optional.empty(); - - private Optional librarySectionUUID = Optional.empty(); - - private Optional mediaTagPrefix = Optional.empty(); - - private Optional mediaTagVersion = Optional.empty(); - - private Optional> metadata = Optional.empty(); - - private Builder() { - // force use of static builder() method - } - - public Builder size(int size) { - Utils.checkNotNull(size, "size"); - this.size = Optional.ofNullable(size); - return this; - } - - public Builder size(Optional size) { - Utils.checkNotNull(size, "size"); - this.size = size; - return this; - } - - public Builder allowSync(boolean allowSync) { - Utils.checkNotNull(allowSync, "allowSync"); - this.allowSync = Optional.ofNullable(allowSync); - return this; - } - - public Builder allowSync(Optional allowSync) { - Utils.checkNotNull(allowSync, "allowSync"); - this.allowSync = allowSync; - return this; - } - - public Builder identifier(String identifier) { - Utils.checkNotNull(identifier, "identifier"); - this.identifier = Optional.ofNullable(identifier); - return this; - } - - public Builder identifier(Optional identifier) { - Utils.checkNotNull(identifier, "identifier"); - this.identifier = identifier; - return this; - } - - public Builder librarySectionID(int librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = Optional.ofNullable(librarySectionID); - return this; - } - - public Builder librarySectionID(Optional librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = librarySectionID; - return this; - } - - public Builder librarySectionTitle(String librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); - return this; - } - - public Builder librarySectionTitle(Optional librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = librarySectionTitle; - return this; - } - - public Builder librarySectionUUID(String librarySectionUUID) { - Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); - this.librarySectionUUID = Optional.ofNullable(librarySectionUUID); - return this; - } - - public Builder librarySectionUUID(Optional librarySectionUUID) { - Utils.checkNotNull(librarySectionUUID, "librarySectionUUID"); - this.librarySectionUUID = librarySectionUUID; - return this; - } - - public Builder mediaTagPrefix(String mediaTagPrefix) { - Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); - this.mediaTagPrefix = Optional.ofNullable(mediaTagPrefix); - return this; - } - - public Builder mediaTagPrefix(Optional mediaTagPrefix) { - Utils.checkNotNull(mediaTagPrefix, "mediaTagPrefix"); - this.mediaTagPrefix = mediaTagPrefix; - return this; - } - - public Builder mediaTagVersion(int mediaTagVersion) { - Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); - this.mediaTagVersion = Optional.ofNullable(mediaTagVersion); - return this; - } - - public Builder mediaTagVersion(Optional mediaTagVersion) { - Utils.checkNotNull(mediaTagVersion, "mediaTagVersion"); - this.mediaTagVersion = mediaTagVersion; - return this; - } - - public Builder metadata(List metadata) { - Utils.checkNotNull(metadata, "metadata"); - this.metadata = Optional.ofNullable(metadata); - return this; - } - - public Builder metadata(Optional> metadata) { - Utils.checkNotNull(metadata, "metadata"); - this.metadata = metadata; - return this; - } - - public GetMetaDataByRatingKeyMediaContainer build() { - return new GetMetaDataByRatingKeyMediaContainer( - size, - allowSync, - identifier, - librarySectionID, - librarySectionTitle, - librarySectionUUID, - mediaTagPrefix, - mediaTagVersion, - metadata); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMetadata.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMetadata.java deleted file mode 100644 index ec8d16d2..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyMetadata.java +++ /dev/null @@ -1,1768 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Double; -import java.lang.Integer; -import java.lang.Long; -import java.lang.Override; -import java.lang.String; -import java.lang.SuppressWarnings; -import java.time.LocalDate; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - - -public class GetMetaDataByRatingKeyMetadata { - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("ratingKey") - private Optional ratingKey; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("key") - private Optional key; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("guid") - private Optional guid; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("studio") - private Optional studio; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("type") - private Optional type; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("title") - private Optional title; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("librarySectionTitle") - private Optional librarySectionTitle; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("librarySectionID") - private Optional librarySectionID; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("librarySectionKey") - private Optional librarySectionKey; - - /** - * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("grandparentTitle") - private Optional grandparentTitle; - - /** - * The name of the album for the track when audio, and the name of the season for the episode when TV show. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("parentTitle") - private Optional parentTitle; - - /** - * The orginal untranslated name of the media item when non-english. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("originalTitle") - private Optional originalTitle; - - /** - * The index starting from 0 of this media item in the MetaData array. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("index") - private Optional index; - - /** - * The parent index starting from 0 of this media item in the parent MetaData array. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("parentIndex") - private Optional parentIndex; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("contentRating") - private Optional contentRating; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("summary") - private Optional summary; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("rating") - private Optional rating; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("audienceRating") - private Optional audienceRating; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("year") - private Optional year; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("tagline") - private Optional tagline; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("thumb") - private Optional thumb; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("art") - private Optional art; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("duration") - private Optional duration; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("originallyAvailableAt") - private Optional originallyAvailableAt; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("addedAt") - private Optional addedAt; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("updatedAt") - private Optional updatedAt; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("audienceRatingImage") - private Optional audienceRatingImage; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("hasPremiumPrimaryExtra") - private Optional hasPremiumPrimaryExtra; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("ratingImage") - private Optional ratingImage; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Media") - private Optional> media; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Genre") - private Optional> genre; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Country") - private Optional> country; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Guid") - private Optional> guids; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Rating") - private Optional> ratings; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Director") - private Optional> director; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Writer") - private Optional> writer; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Role") - private Optional> role; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Producer") - private Optional> producer; - - @JsonCreator - public GetMetaDataByRatingKeyMetadata( - @JsonProperty("ratingKey") Optional ratingKey, - @JsonProperty("key") Optional key, - @JsonProperty("guid") Optional guid, - @JsonProperty("studio") Optional studio, - @JsonProperty("type") Optional type, - @JsonProperty("title") Optional title, - @JsonProperty("librarySectionTitle") Optional librarySectionTitle, - @JsonProperty("librarySectionID") Optional librarySectionID, - @JsonProperty("librarySectionKey") Optional librarySectionKey, - @JsonProperty("grandparentTitle") Optional grandparentTitle, - @JsonProperty("parentTitle") Optional parentTitle, - @JsonProperty("originalTitle") Optional originalTitle, - @JsonProperty("index") Optional index, - @JsonProperty("parentIndex") Optional parentIndex, - @JsonProperty("contentRating") Optional contentRating, - @JsonProperty("summary") Optional summary, - @JsonProperty("rating") Optional rating, - @JsonProperty("audienceRating") Optional audienceRating, - @JsonProperty("year") Optional year, - @JsonProperty("tagline") Optional tagline, - @JsonProperty("thumb") Optional thumb, - @JsonProperty("art") Optional art, - @JsonProperty("duration") Optional duration, - @JsonProperty("originallyAvailableAt") Optional originallyAvailableAt, - @JsonProperty("addedAt") Optional addedAt, - @JsonProperty("updatedAt") Optional updatedAt, - @JsonProperty("audienceRatingImage") Optional audienceRatingImage, - @JsonProperty("hasPremiumPrimaryExtra") Optional hasPremiumPrimaryExtra, - @JsonProperty("ratingImage") Optional ratingImage, - @JsonProperty("Media") Optional> media, - @JsonProperty("Genre") Optional> genre, - @JsonProperty("Country") Optional> country, - @JsonProperty("Guid") Optional> guids, - @JsonProperty("Rating") Optional> ratings, - @JsonProperty("Director") Optional> director, - @JsonProperty("Writer") Optional> writer, - @JsonProperty("Role") Optional> role, - @JsonProperty("Producer") Optional> producer) { - Utils.checkNotNull(ratingKey, "ratingKey"); - Utils.checkNotNull(key, "key"); - Utils.checkNotNull(guid, "guid"); - Utils.checkNotNull(studio, "studio"); - Utils.checkNotNull(type, "type"); - Utils.checkNotNull(title, "title"); - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - Utils.checkNotNull(librarySectionID, "librarySectionID"); - Utils.checkNotNull(librarySectionKey, "librarySectionKey"); - Utils.checkNotNull(grandparentTitle, "grandparentTitle"); - Utils.checkNotNull(parentTitle, "parentTitle"); - Utils.checkNotNull(originalTitle, "originalTitle"); - Utils.checkNotNull(index, "index"); - Utils.checkNotNull(parentIndex, "parentIndex"); - Utils.checkNotNull(contentRating, "contentRating"); - Utils.checkNotNull(summary, "summary"); - Utils.checkNotNull(rating, "rating"); - Utils.checkNotNull(audienceRating, "audienceRating"); - Utils.checkNotNull(year, "year"); - Utils.checkNotNull(tagline, "tagline"); - Utils.checkNotNull(thumb, "thumb"); - Utils.checkNotNull(art, "art"); - Utils.checkNotNull(duration, "duration"); - Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); - Utils.checkNotNull(addedAt, "addedAt"); - Utils.checkNotNull(updatedAt, "updatedAt"); - Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); - Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); - Utils.checkNotNull(ratingImage, "ratingImage"); - Utils.checkNotNull(media, "media"); - Utils.checkNotNull(genre, "genre"); - Utils.checkNotNull(country, "country"); - Utils.checkNotNull(guids, "guids"); - Utils.checkNotNull(ratings, "ratings"); - Utils.checkNotNull(director, "director"); - Utils.checkNotNull(writer, "writer"); - Utils.checkNotNull(role, "role"); - Utils.checkNotNull(producer, "producer"); - this.ratingKey = ratingKey; - this.key = key; - this.guid = guid; - this.studio = studio; - this.type = type; - this.title = title; - this.librarySectionTitle = librarySectionTitle; - this.librarySectionID = librarySectionID; - this.librarySectionKey = librarySectionKey; - this.grandparentTitle = grandparentTitle; - this.parentTitle = parentTitle; - this.originalTitle = originalTitle; - this.index = index; - this.parentIndex = parentIndex; - this.contentRating = contentRating; - this.summary = summary; - this.rating = rating; - this.audienceRating = audienceRating; - this.year = year; - this.tagline = tagline; - this.thumb = thumb; - this.art = art; - this.duration = duration; - this.originallyAvailableAt = originallyAvailableAt; - this.addedAt = addedAt; - this.updatedAt = updatedAt; - this.audienceRatingImage = audienceRatingImage; - this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; - this.ratingImage = ratingImage; - this.media = media; - this.genre = genre; - this.country = country; - this.guids = guids; - this.ratings = ratings; - this.director = director; - this.writer = writer; - this.role = role; - this.producer = producer; - } - - public GetMetaDataByRatingKeyMetadata() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); - } - - @JsonIgnore - public Optional ratingKey() { - return ratingKey; - } - - @JsonIgnore - public Optional key() { - return key; - } - - @JsonIgnore - public Optional guid() { - return guid; - } - - @JsonIgnore - public Optional studio() { - return studio; - } - - @JsonIgnore - public Optional type() { - return type; - } - - @JsonIgnore - public Optional title() { - return title; - } - - @JsonIgnore - public Optional librarySectionTitle() { - return librarySectionTitle; - } - - @JsonIgnore - public Optional librarySectionID() { - return librarySectionID; - } - - @JsonIgnore - public Optional librarySectionKey() { - return librarySectionKey; - } - - /** - * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - */ - @JsonIgnore - public Optional grandparentTitle() { - return grandparentTitle; - } - - /** - * The name of the album for the track when audio, and the name of the season for the episode when TV show. - */ - @JsonIgnore - public Optional parentTitle() { - return parentTitle; - } - - /** - * The orginal untranslated name of the media item when non-english. - */ - @JsonIgnore - public Optional originalTitle() { - return originalTitle; - } - - /** - * The index starting from 0 of this media item in the MetaData array. - */ - @JsonIgnore - public Optional index() { - return index; - } - - /** - * The parent index starting from 0 of this media item in the parent MetaData array. - */ - @JsonIgnore - public Optional parentIndex() { - return parentIndex; - } - - @JsonIgnore - public Optional contentRating() { - return contentRating; - } - - @JsonIgnore - public Optional summary() { - return summary; - } - - @JsonIgnore - public Optional rating() { - return rating; - } - - @JsonIgnore - public Optional audienceRating() { - return audienceRating; - } - - @JsonIgnore - public Optional year() { - return year; - } - - @JsonIgnore - public Optional tagline() { - return tagline; - } - - @JsonIgnore - public Optional thumb() { - return thumb; - } - - @JsonIgnore - public Optional art() { - return art; - } - - @JsonIgnore - public Optional duration() { - return duration; - } - - @JsonIgnore - public Optional originallyAvailableAt() { - return originallyAvailableAt; - } - - @JsonIgnore - public Optional addedAt() { - return addedAt; - } - - @JsonIgnore - public Optional updatedAt() { - return updatedAt; - } - - @JsonIgnore - public Optional audienceRatingImage() { - return audienceRatingImage; - } - - @JsonIgnore - public Optional hasPremiumPrimaryExtra() { - return hasPremiumPrimaryExtra; - } - - @JsonIgnore - public Optional ratingImage() { - return ratingImage; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> media() { - return (Optional>) media; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> genre() { - return (Optional>) genre; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> country() { - return (Optional>) country; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> guids() { - return (Optional>) guids; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> ratings() { - return (Optional>) ratings; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> director() { - return (Optional>) director; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> writer() { - return (Optional>) writer; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> role() { - return (Optional>) role; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> producer() { - return (Optional>) producer; - } - - public final static Builder builder() { - return new Builder(); - } - - public GetMetaDataByRatingKeyMetadata withRatingKey(String ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = Optional.ofNullable(ratingKey); - return this; - } - - public GetMetaDataByRatingKeyMetadata withRatingKey(Optional ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = ratingKey; - return this; - } - - public GetMetaDataByRatingKeyMetadata withKey(String key) { - Utils.checkNotNull(key, "key"); - this.key = Optional.ofNullable(key); - return this; - } - - public GetMetaDataByRatingKeyMetadata withKey(Optional key) { - Utils.checkNotNull(key, "key"); - this.key = key; - return this; - } - - public GetMetaDataByRatingKeyMetadata withGuid(String guid) { - Utils.checkNotNull(guid, "guid"); - this.guid = Optional.ofNullable(guid); - return this; - } - - public GetMetaDataByRatingKeyMetadata withGuid(Optional guid) { - Utils.checkNotNull(guid, "guid"); - this.guid = guid; - return this; - } - - public GetMetaDataByRatingKeyMetadata withStudio(String studio) { - Utils.checkNotNull(studio, "studio"); - this.studio = Optional.ofNullable(studio); - return this; - } - - public GetMetaDataByRatingKeyMetadata withStudio(Optional studio) { - Utils.checkNotNull(studio, "studio"); - this.studio = studio; - return this; - } - - public GetMetaDataByRatingKeyMetadata withType(String type) { - Utils.checkNotNull(type, "type"); - this.type = Optional.ofNullable(type); - return this; - } - - public GetMetaDataByRatingKeyMetadata withType(Optional type) { - Utils.checkNotNull(type, "type"); - this.type = type; - return this; - } - - public GetMetaDataByRatingKeyMetadata withTitle(String title) { - Utils.checkNotNull(title, "title"); - this.title = Optional.ofNullable(title); - return this; - } - - public GetMetaDataByRatingKeyMetadata withTitle(Optional title) { - Utils.checkNotNull(title, "title"); - this.title = title; - return this; - } - - public GetMetaDataByRatingKeyMetadata withLibrarySectionTitle(String librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); - return this; - } - - public GetMetaDataByRatingKeyMetadata withLibrarySectionTitle(Optional librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = librarySectionTitle; - return this; - } - - public GetMetaDataByRatingKeyMetadata withLibrarySectionID(int librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = Optional.ofNullable(librarySectionID); - return this; - } - - public GetMetaDataByRatingKeyMetadata withLibrarySectionID(Optional librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = librarySectionID; - return this; - } - - public GetMetaDataByRatingKeyMetadata withLibrarySectionKey(String librarySectionKey) { - Utils.checkNotNull(librarySectionKey, "librarySectionKey"); - this.librarySectionKey = Optional.ofNullable(librarySectionKey); - return this; - } - - public GetMetaDataByRatingKeyMetadata withLibrarySectionKey(Optional librarySectionKey) { - Utils.checkNotNull(librarySectionKey, "librarySectionKey"); - this.librarySectionKey = librarySectionKey; - return this; - } - - /** - * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - */ - public GetMetaDataByRatingKeyMetadata withGrandparentTitle(String grandparentTitle) { - Utils.checkNotNull(grandparentTitle, "grandparentTitle"); - this.grandparentTitle = Optional.ofNullable(grandparentTitle); - return this; - } - - /** - * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - */ - public GetMetaDataByRatingKeyMetadata withGrandparentTitle(Optional grandparentTitle) { - Utils.checkNotNull(grandparentTitle, "grandparentTitle"); - this.grandparentTitle = grandparentTitle; - return this; - } - - /** - * The name of the album for the track when audio, and the name of the season for the episode when TV show. - */ - public GetMetaDataByRatingKeyMetadata withParentTitle(String parentTitle) { - Utils.checkNotNull(parentTitle, "parentTitle"); - this.parentTitle = Optional.ofNullable(parentTitle); - return this; - } - - /** - * The name of the album for the track when audio, and the name of the season for the episode when TV show. - */ - public GetMetaDataByRatingKeyMetadata withParentTitle(Optional parentTitle) { - Utils.checkNotNull(parentTitle, "parentTitle"); - this.parentTitle = parentTitle; - return this; - } - - /** - * The orginal untranslated name of the media item when non-english. - */ - public GetMetaDataByRatingKeyMetadata withOriginalTitle(String originalTitle) { - Utils.checkNotNull(originalTitle, "originalTitle"); - this.originalTitle = Optional.ofNullable(originalTitle); - return this; - } - - /** - * The orginal untranslated name of the media item when non-english. - */ - public GetMetaDataByRatingKeyMetadata withOriginalTitle(Optional originalTitle) { - Utils.checkNotNull(originalTitle, "originalTitle"); - this.originalTitle = originalTitle; - return this; - } - - /** - * The index starting from 0 of this media item in the MetaData array. - */ - public GetMetaDataByRatingKeyMetadata withIndex(long index) { - Utils.checkNotNull(index, "index"); - this.index = Optional.ofNullable(index); - return this; - } - - /** - * The index starting from 0 of this media item in the MetaData array. - */ - public GetMetaDataByRatingKeyMetadata withIndex(Optional index) { - Utils.checkNotNull(index, "index"); - this.index = index; - return this; - } - - /** - * The parent index starting from 0 of this media item in the parent MetaData array. - */ - public GetMetaDataByRatingKeyMetadata withParentIndex(long parentIndex) { - Utils.checkNotNull(parentIndex, "parentIndex"); - this.parentIndex = Optional.ofNullable(parentIndex); - return this; - } - - /** - * The parent index starting from 0 of this media item in the parent MetaData array. - */ - public GetMetaDataByRatingKeyMetadata withParentIndex(Optional parentIndex) { - Utils.checkNotNull(parentIndex, "parentIndex"); - this.parentIndex = parentIndex; - return this; - } - - public GetMetaDataByRatingKeyMetadata withContentRating(String contentRating) { - Utils.checkNotNull(contentRating, "contentRating"); - this.contentRating = Optional.ofNullable(contentRating); - return this; - } - - public GetMetaDataByRatingKeyMetadata withContentRating(Optional contentRating) { - Utils.checkNotNull(contentRating, "contentRating"); - this.contentRating = contentRating; - return this; - } - - public GetMetaDataByRatingKeyMetadata withSummary(String summary) { - Utils.checkNotNull(summary, "summary"); - this.summary = Optional.ofNullable(summary); - return this; - } - - public GetMetaDataByRatingKeyMetadata withSummary(Optional summary) { - Utils.checkNotNull(summary, "summary"); - this.summary = summary; - return this; - } - - public GetMetaDataByRatingKeyMetadata withRating(double rating) { - Utils.checkNotNull(rating, "rating"); - this.rating = Optional.ofNullable(rating); - return this; - } - - public GetMetaDataByRatingKeyMetadata withRating(Optional rating) { - Utils.checkNotNull(rating, "rating"); - this.rating = rating; - return this; - } - - public GetMetaDataByRatingKeyMetadata withAudienceRating(double audienceRating) { - Utils.checkNotNull(audienceRating, "audienceRating"); - this.audienceRating = Optional.ofNullable(audienceRating); - return this; - } - - public GetMetaDataByRatingKeyMetadata withAudienceRating(Optional audienceRating) { - Utils.checkNotNull(audienceRating, "audienceRating"); - this.audienceRating = audienceRating; - return this; - } - - public GetMetaDataByRatingKeyMetadata withYear(int year) { - Utils.checkNotNull(year, "year"); - this.year = Optional.ofNullable(year); - return this; - } - - public GetMetaDataByRatingKeyMetadata withYear(Optional year) { - Utils.checkNotNull(year, "year"); - this.year = year; - return this; - } - - public GetMetaDataByRatingKeyMetadata withTagline(String tagline) { - Utils.checkNotNull(tagline, "tagline"); - this.tagline = Optional.ofNullable(tagline); - return this; - } - - public GetMetaDataByRatingKeyMetadata withTagline(Optional tagline) { - Utils.checkNotNull(tagline, "tagline"); - this.tagline = tagline; - return this; - } - - public GetMetaDataByRatingKeyMetadata withThumb(String thumb) { - Utils.checkNotNull(thumb, "thumb"); - this.thumb = Optional.ofNullable(thumb); - return this; - } - - public GetMetaDataByRatingKeyMetadata withThumb(Optional thumb) { - Utils.checkNotNull(thumb, "thumb"); - this.thumb = thumb; - return this; - } - - public GetMetaDataByRatingKeyMetadata withArt(String art) { - Utils.checkNotNull(art, "art"); - this.art = Optional.ofNullable(art); - return this; - } - - public GetMetaDataByRatingKeyMetadata withArt(Optional art) { - Utils.checkNotNull(art, "art"); - this.art = art; - return this; - } - - public GetMetaDataByRatingKeyMetadata withDuration(int duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = Optional.ofNullable(duration); - return this; - } - - public GetMetaDataByRatingKeyMetadata withDuration(Optional duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = duration; - return this; - } - - public GetMetaDataByRatingKeyMetadata withOriginallyAvailableAt(LocalDate originallyAvailableAt) { - Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); - this.originallyAvailableAt = Optional.ofNullable(originallyAvailableAt); - return this; - } - - public GetMetaDataByRatingKeyMetadata withOriginallyAvailableAt(Optional originallyAvailableAt) { - Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); - this.originallyAvailableAt = originallyAvailableAt; - return this; - } - - public GetMetaDataByRatingKeyMetadata withAddedAt(int addedAt) { - Utils.checkNotNull(addedAt, "addedAt"); - this.addedAt = Optional.ofNullable(addedAt); - return this; - } - - public GetMetaDataByRatingKeyMetadata withAddedAt(Optional addedAt) { - Utils.checkNotNull(addedAt, "addedAt"); - this.addedAt = addedAt; - return this; - } - - public GetMetaDataByRatingKeyMetadata withUpdatedAt(int updatedAt) { - Utils.checkNotNull(updatedAt, "updatedAt"); - this.updatedAt = Optional.ofNullable(updatedAt); - return this; - } - - public GetMetaDataByRatingKeyMetadata withUpdatedAt(Optional updatedAt) { - Utils.checkNotNull(updatedAt, "updatedAt"); - this.updatedAt = updatedAt; - return this; - } - - public GetMetaDataByRatingKeyMetadata withAudienceRatingImage(String audienceRatingImage) { - Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); - this.audienceRatingImage = Optional.ofNullable(audienceRatingImage); - return this; - } - - public GetMetaDataByRatingKeyMetadata withAudienceRatingImage(Optional audienceRatingImage) { - Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); - this.audienceRatingImage = audienceRatingImage; - return this; - } - - public GetMetaDataByRatingKeyMetadata withHasPremiumPrimaryExtra(String hasPremiumPrimaryExtra) { - Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); - this.hasPremiumPrimaryExtra = Optional.ofNullable(hasPremiumPrimaryExtra); - return this; - } - - public GetMetaDataByRatingKeyMetadata withHasPremiumPrimaryExtra(Optional hasPremiumPrimaryExtra) { - Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); - this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; - return this; - } - - public GetMetaDataByRatingKeyMetadata withRatingImage(String ratingImage) { - Utils.checkNotNull(ratingImage, "ratingImage"); - this.ratingImage = Optional.ofNullable(ratingImage); - return this; - } - - public GetMetaDataByRatingKeyMetadata withRatingImage(Optional ratingImage) { - Utils.checkNotNull(ratingImage, "ratingImage"); - this.ratingImage = ratingImage; - return this; - } - - public GetMetaDataByRatingKeyMetadata withMedia(List media) { - Utils.checkNotNull(media, "media"); - this.media = Optional.ofNullable(media); - return this; - } - - public GetMetaDataByRatingKeyMetadata withMedia(Optional> media) { - Utils.checkNotNull(media, "media"); - this.media = media; - return this; - } - - public GetMetaDataByRatingKeyMetadata withGenre(List genre) { - Utils.checkNotNull(genre, "genre"); - this.genre = Optional.ofNullable(genre); - return this; - } - - public GetMetaDataByRatingKeyMetadata withGenre(Optional> genre) { - Utils.checkNotNull(genre, "genre"); - this.genre = genre; - return this; - } - - public GetMetaDataByRatingKeyMetadata withCountry(List country) { - Utils.checkNotNull(country, "country"); - this.country = Optional.ofNullable(country); - return this; - } - - public GetMetaDataByRatingKeyMetadata withCountry(Optional> country) { - Utils.checkNotNull(country, "country"); - this.country = country; - return this; - } - - public GetMetaDataByRatingKeyMetadata withGuids(List guids) { - Utils.checkNotNull(guids, "guids"); - this.guids = Optional.ofNullable(guids); - return this; - } - - public GetMetaDataByRatingKeyMetadata withGuids(Optional> guids) { - Utils.checkNotNull(guids, "guids"); - this.guids = guids; - return this; - } - - public GetMetaDataByRatingKeyMetadata withRatings(List ratings) { - Utils.checkNotNull(ratings, "ratings"); - this.ratings = Optional.ofNullable(ratings); - return this; - } - - public GetMetaDataByRatingKeyMetadata withRatings(Optional> ratings) { - Utils.checkNotNull(ratings, "ratings"); - this.ratings = ratings; - return this; - } - - public GetMetaDataByRatingKeyMetadata withDirector(List director) { - Utils.checkNotNull(director, "director"); - this.director = Optional.ofNullable(director); - return this; - } - - public GetMetaDataByRatingKeyMetadata withDirector(Optional> director) { - Utils.checkNotNull(director, "director"); - this.director = director; - return this; - } - - public GetMetaDataByRatingKeyMetadata withWriter(List writer) { - Utils.checkNotNull(writer, "writer"); - this.writer = Optional.ofNullable(writer); - return this; - } - - public GetMetaDataByRatingKeyMetadata withWriter(Optional> writer) { - Utils.checkNotNull(writer, "writer"); - this.writer = writer; - return this; - } - - public GetMetaDataByRatingKeyMetadata withRole(List role) { - Utils.checkNotNull(role, "role"); - this.role = Optional.ofNullable(role); - return this; - } - - public GetMetaDataByRatingKeyMetadata withRole(Optional> role) { - Utils.checkNotNull(role, "role"); - this.role = role; - return this; - } - - public GetMetaDataByRatingKeyMetadata withProducer(List producer) { - Utils.checkNotNull(producer, "producer"); - this.producer = Optional.ofNullable(producer); - return this; - } - - public GetMetaDataByRatingKeyMetadata withProducer(Optional> producer) { - Utils.checkNotNull(producer, "producer"); - this.producer = producer; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyMetadata other = (GetMetaDataByRatingKeyMetadata) o; - return - Objects.deepEquals(this.ratingKey, other.ratingKey) && - Objects.deepEquals(this.key, other.key) && - Objects.deepEquals(this.guid, other.guid) && - Objects.deepEquals(this.studio, other.studio) && - Objects.deepEquals(this.type, other.type) && - Objects.deepEquals(this.title, other.title) && - Objects.deepEquals(this.librarySectionTitle, other.librarySectionTitle) && - Objects.deepEquals(this.librarySectionID, other.librarySectionID) && - Objects.deepEquals(this.librarySectionKey, other.librarySectionKey) && - Objects.deepEquals(this.grandparentTitle, other.grandparentTitle) && - Objects.deepEquals(this.parentTitle, other.parentTitle) && - Objects.deepEquals(this.originalTitle, other.originalTitle) && - Objects.deepEquals(this.index, other.index) && - Objects.deepEquals(this.parentIndex, other.parentIndex) && - Objects.deepEquals(this.contentRating, other.contentRating) && - Objects.deepEquals(this.summary, other.summary) && - Objects.deepEquals(this.rating, other.rating) && - Objects.deepEquals(this.audienceRating, other.audienceRating) && - Objects.deepEquals(this.year, other.year) && - Objects.deepEquals(this.tagline, other.tagline) && - Objects.deepEquals(this.thumb, other.thumb) && - Objects.deepEquals(this.art, other.art) && - Objects.deepEquals(this.duration, other.duration) && - Objects.deepEquals(this.originallyAvailableAt, other.originallyAvailableAt) && - Objects.deepEquals(this.addedAt, other.addedAt) && - Objects.deepEquals(this.updatedAt, other.updatedAt) && - Objects.deepEquals(this.audienceRatingImage, other.audienceRatingImage) && - Objects.deepEquals(this.hasPremiumPrimaryExtra, other.hasPremiumPrimaryExtra) && - Objects.deepEquals(this.ratingImage, other.ratingImage) && - Objects.deepEquals(this.media, other.media) && - Objects.deepEquals(this.genre, other.genre) && - Objects.deepEquals(this.country, other.country) && - Objects.deepEquals(this.guids, other.guids) && - Objects.deepEquals(this.ratings, other.ratings) && - Objects.deepEquals(this.director, other.director) && - Objects.deepEquals(this.writer, other.writer) && - Objects.deepEquals(this.role, other.role) && - Objects.deepEquals(this.producer, other.producer); - } - - @Override - public int hashCode() { - return Objects.hash( - ratingKey, - key, - guid, - studio, - type, - title, - librarySectionTitle, - librarySectionID, - librarySectionKey, - grandparentTitle, - parentTitle, - originalTitle, - index, - parentIndex, - contentRating, - summary, - rating, - audienceRating, - year, - tagline, - thumb, - art, - duration, - originallyAvailableAt, - addedAt, - updatedAt, - audienceRatingImage, - hasPremiumPrimaryExtra, - ratingImage, - media, - genre, - country, - guids, - ratings, - director, - writer, - role, - producer); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyMetadata.class, - "ratingKey", ratingKey, - "key", key, - "guid", guid, - "studio", studio, - "type", type, - "title", title, - "librarySectionTitle", librarySectionTitle, - "librarySectionID", librarySectionID, - "librarySectionKey", librarySectionKey, - "grandparentTitle", grandparentTitle, - "parentTitle", parentTitle, - "originalTitle", originalTitle, - "index", index, - "parentIndex", parentIndex, - "contentRating", contentRating, - "summary", summary, - "rating", rating, - "audienceRating", audienceRating, - "year", year, - "tagline", tagline, - "thumb", thumb, - "art", art, - "duration", duration, - "originallyAvailableAt", originallyAvailableAt, - "addedAt", addedAt, - "updatedAt", updatedAt, - "audienceRatingImage", audienceRatingImage, - "hasPremiumPrimaryExtra", hasPremiumPrimaryExtra, - "ratingImage", ratingImage, - "media", media, - "genre", genre, - "country", country, - "guids", guids, - "ratings", ratings, - "director", director, - "writer", writer, - "role", role, - "producer", producer); - } - - public final static class Builder { - - private Optional ratingKey = Optional.empty(); - - private Optional key = Optional.empty(); - - private Optional guid = Optional.empty(); - - private Optional studio = Optional.empty(); - - private Optional type = Optional.empty(); - - private Optional title = Optional.empty(); - - private Optional librarySectionTitle = Optional.empty(); - - private Optional librarySectionID = Optional.empty(); - - private Optional librarySectionKey = Optional.empty(); - - private Optional grandparentTitle = Optional.empty(); - - private Optional parentTitle = Optional.empty(); - - private Optional originalTitle = Optional.empty(); - - private Optional index = Optional.empty(); - - private Optional parentIndex = Optional.empty(); - - private Optional contentRating = Optional.empty(); - - private Optional summary = Optional.empty(); - - private Optional rating = Optional.empty(); - - private Optional audienceRating = Optional.empty(); - - private Optional year = Optional.empty(); - - private Optional tagline = Optional.empty(); - - private Optional thumb = Optional.empty(); - - private Optional art = Optional.empty(); - - private Optional duration = Optional.empty(); - - private Optional originallyAvailableAt = Optional.empty(); - - private Optional addedAt = Optional.empty(); - - private Optional updatedAt = Optional.empty(); - - private Optional audienceRatingImage = Optional.empty(); - - private Optional hasPremiumPrimaryExtra = Optional.empty(); - - private Optional ratingImage = Optional.empty(); - - private Optional> media = Optional.empty(); - - private Optional> genre = Optional.empty(); - - private Optional> country = Optional.empty(); - - private Optional> guids = Optional.empty(); - - private Optional> ratings = Optional.empty(); - - private Optional> director = Optional.empty(); - - private Optional> writer = Optional.empty(); - - private Optional> role = Optional.empty(); - - private Optional> producer = Optional.empty(); - - private Builder() { - // force use of static builder() method - } - - public Builder ratingKey(String ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = Optional.ofNullable(ratingKey); - return this; - } - - public Builder ratingKey(Optional ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = ratingKey; - return this; - } - - public Builder key(String key) { - Utils.checkNotNull(key, "key"); - this.key = Optional.ofNullable(key); - return this; - } - - public Builder key(Optional key) { - Utils.checkNotNull(key, "key"); - this.key = key; - return this; - } - - public Builder guid(String guid) { - Utils.checkNotNull(guid, "guid"); - this.guid = Optional.ofNullable(guid); - return this; - } - - public Builder guid(Optional guid) { - Utils.checkNotNull(guid, "guid"); - this.guid = guid; - return this; - } - - public Builder studio(String studio) { - Utils.checkNotNull(studio, "studio"); - this.studio = Optional.ofNullable(studio); - return this; - } - - public Builder studio(Optional studio) { - Utils.checkNotNull(studio, "studio"); - this.studio = studio; - return this; - } - - public Builder type(String type) { - Utils.checkNotNull(type, "type"); - this.type = Optional.ofNullable(type); - return this; - } - - public Builder type(Optional type) { - Utils.checkNotNull(type, "type"); - this.type = type; - return this; - } - - public Builder title(String title) { - Utils.checkNotNull(title, "title"); - this.title = Optional.ofNullable(title); - return this; - } - - public Builder title(Optional title) { - Utils.checkNotNull(title, "title"); - this.title = title; - return this; - } - - public Builder librarySectionTitle(String librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = Optional.ofNullable(librarySectionTitle); - return this; - } - - public Builder librarySectionTitle(Optional librarySectionTitle) { - Utils.checkNotNull(librarySectionTitle, "librarySectionTitle"); - this.librarySectionTitle = librarySectionTitle; - return this; - } - - public Builder librarySectionID(int librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = Optional.ofNullable(librarySectionID); - return this; - } - - public Builder librarySectionID(Optional librarySectionID) { - Utils.checkNotNull(librarySectionID, "librarySectionID"); - this.librarySectionID = librarySectionID; - return this; - } - - public Builder librarySectionKey(String librarySectionKey) { - Utils.checkNotNull(librarySectionKey, "librarySectionKey"); - this.librarySectionKey = Optional.ofNullable(librarySectionKey); - return this; - } - - public Builder librarySectionKey(Optional librarySectionKey) { - Utils.checkNotNull(librarySectionKey, "librarySectionKey"); - this.librarySectionKey = librarySectionKey; - return this; - } - - /** - * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - */ - public Builder grandparentTitle(String grandparentTitle) { - Utils.checkNotNull(grandparentTitle, "grandparentTitle"); - this.grandparentTitle = Optional.ofNullable(grandparentTitle); - return this; - } - - /** - * The name of the album artist for the track when audio, and the name of the TV show for the episode when video. - */ - public Builder grandparentTitle(Optional grandparentTitle) { - Utils.checkNotNull(grandparentTitle, "grandparentTitle"); - this.grandparentTitle = grandparentTitle; - return this; - } - - /** - * The name of the album for the track when audio, and the name of the season for the episode when TV show. - */ - public Builder parentTitle(String parentTitle) { - Utils.checkNotNull(parentTitle, "parentTitle"); - this.parentTitle = Optional.ofNullable(parentTitle); - return this; - } - - /** - * The name of the album for the track when audio, and the name of the season for the episode when TV show. - */ - public Builder parentTitle(Optional parentTitle) { - Utils.checkNotNull(parentTitle, "parentTitle"); - this.parentTitle = parentTitle; - return this; - } - - /** - * The orginal untranslated name of the media item when non-english. - */ - public Builder originalTitle(String originalTitle) { - Utils.checkNotNull(originalTitle, "originalTitle"); - this.originalTitle = Optional.ofNullable(originalTitle); - return this; - } - - /** - * The orginal untranslated name of the media item when non-english. - */ - public Builder originalTitle(Optional originalTitle) { - Utils.checkNotNull(originalTitle, "originalTitle"); - this.originalTitle = originalTitle; - return this; - } - - /** - * The index starting from 0 of this media item in the MetaData array. - */ - public Builder index(long index) { - Utils.checkNotNull(index, "index"); - this.index = Optional.ofNullable(index); - return this; - } - - /** - * The index starting from 0 of this media item in the MetaData array. - */ - public Builder index(Optional index) { - Utils.checkNotNull(index, "index"); - this.index = index; - return this; - } - - /** - * The parent index starting from 0 of this media item in the parent MetaData array. - */ - public Builder parentIndex(long parentIndex) { - Utils.checkNotNull(parentIndex, "parentIndex"); - this.parentIndex = Optional.ofNullable(parentIndex); - return this; - } - - /** - * The parent index starting from 0 of this media item in the parent MetaData array. - */ - public Builder parentIndex(Optional parentIndex) { - Utils.checkNotNull(parentIndex, "parentIndex"); - this.parentIndex = parentIndex; - return this; - } - - public Builder contentRating(String contentRating) { - Utils.checkNotNull(contentRating, "contentRating"); - this.contentRating = Optional.ofNullable(contentRating); - return this; - } - - public Builder contentRating(Optional contentRating) { - Utils.checkNotNull(contentRating, "contentRating"); - this.contentRating = contentRating; - return this; - } - - public Builder summary(String summary) { - Utils.checkNotNull(summary, "summary"); - this.summary = Optional.ofNullable(summary); - return this; - } - - public Builder summary(Optional summary) { - Utils.checkNotNull(summary, "summary"); - this.summary = summary; - return this; - } - - public Builder rating(double rating) { - Utils.checkNotNull(rating, "rating"); - this.rating = Optional.ofNullable(rating); - return this; - } - - public Builder rating(Optional rating) { - Utils.checkNotNull(rating, "rating"); - this.rating = rating; - return this; - } - - public Builder audienceRating(double audienceRating) { - Utils.checkNotNull(audienceRating, "audienceRating"); - this.audienceRating = Optional.ofNullable(audienceRating); - return this; - } - - public Builder audienceRating(Optional audienceRating) { - Utils.checkNotNull(audienceRating, "audienceRating"); - this.audienceRating = audienceRating; - return this; - } - - public Builder year(int year) { - Utils.checkNotNull(year, "year"); - this.year = Optional.ofNullable(year); - return this; - } - - public Builder year(Optional year) { - Utils.checkNotNull(year, "year"); - this.year = year; - return this; - } - - public Builder tagline(String tagline) { - Utils.checkNotNull(tagline, "tagline"); - this.tagline = Optional.ofNullable(tagline); - return this; - } - - public Builder tagline(Optional tagline) { - Utils.checkNotNull(tagline, "tagline"); - this.tagline = tagline; - return this; - } - - public Builder thumb(String thumb) { - Utils.checkNotNull(thumb, "thumb"); - this.thumb = Optional.ofNullable(thumb); - return this; - } - - public Builder thumb(Optional thumb) { - Utils.checkNotNull(thumb, "thumb"); - this.thumb = thumb; - return this; - } - - public Builder art(String art) { - Utils.checkNotNull(art, "art"); - this.art = Optional.ofNullable(art); - return this; - } - - public Builder art(Optional art) { - Utils.checkNotNull(art, "art"); - this.art = art; - return this; - } - - public Builder duration(int duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = Optional.ofNullable(duration); - return this; - } - - public Builder duration(Optional duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = duration; - return this; - } - - public Builder originallyAvailableAt(LocalDate originallyAvailableAt) { - Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); - this.originallyAvailableAt = Optional.ofNullable(originallyAvailableAt); - return this; - } - - public Builder originallyAvailableAt(Optional originallyAvailableAt) { - Utils.checkNotNull(originallyAvailableAt, "originallyAvailableAt"); - this.originallyAvailableAt = originallyAvailableAt; - return this; - } - - public Builder addedAt(int addedAt) { - Utils.checkNotNull(addedAt, "addedAt"); - this.addedAt = Optional.ofNullable(addedAt); - return this; - } - - public Builder addedAt(Optional addedAt) { - Utils.checkNotNull(addedAt, "addedAt"); - this.addedAt = addedAt; - return this; - } - - public Builder updatedAt(int updatedAt) { - Utils.checkNotNull(updatedAt, "updatedAt"); - this.updatedAt = Optional.ofNullable(updatedAt); - return this; - } - - public Builder updatedAt(Optional updatedAt) { - Utils.checkNotNull(updatedAt, "updatedAt"); - this.updatedAt = updatedAt; - return this; - } - - public Builder audienceRatingImage(String audienceRatingImage) { - Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); - this.audienceRatingImage = Optional.ofNullable(audienceRatingImage); - return this; - } - - public Builder audienceRatingImage(Optional audienceRatingImage) { - Utils.checkNotNull(audienceRatingImage, "audienceRatingImage"); - this.audienceRatingImage = audienceRatingImage; - return this; - } - - public Builder hasPremiumPrimaryExtra(String hasPremiumPrimaryExtra) { - Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); - this.hasPremiumPrimaryExtra = Optional.ofNullable(hasPremiumPrimaryExtra); - return this; - } - - public Builder hasPremiumPrimaryExtra(Optional hasPremiumPrimaryExtra) { - Utils.checkNotNull(hasPremiumPrimaryExtra, "hasPremiumPrimaryExtra"); - this.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra; - return this; - } - - public Builder ratingImage(String ratingImage) { - Utils.checkNotNull(ratingImage, "ratingImage"); - this.ratingImage = Optional.ofNullable(ratingImage); - return this; - } - - public Builder ratingImage(Optional ratingImage) { - Utils.checkNotNull(ratingImage, "ratingImage"); - this.ratingImage = ratingImage; - return this; - } - - public Builder media(List media) { - Utils.checkNotNull(media, "media"); - this.media = Optional.ofNullable(media); - return this; - } - - public Builder media(Optional> media) { - Utils.checkNotNull(media, "media"); - this.media = media; - return this; - } - - public Builder genre(List genre) { - Utils.checkNotNull(genre, "genre"); - this.genre = Optional.ofNullable(genre); - return this; - } - - public Builder genre(Optional> genre) { - Utils.checkNotNull(genre, "genre"); - this.genre = genre; - return this; - } - - public Builder country(List country) { - Utils.checkNotNull(country, "country"); - this.country = Optional.ofNullable(country); - return this; - } - - public Builder country(Optional> country) { - Utils.checkNotNull(country, "country"); - this.country = country; - return this; - } - - public Builder guids(List guids) { - Utils.checkNotNull(guids, "guids"); - this.guids = Optional.ofNullable(guids); - return this; - } - - public Builder guids(Optional> guids) { - Utils.checkNotNull(guids, "guids"); - this.guids = guids; - return this; - } - - public Builder ratings(List ratings) { - Utils.checkNotNull(ratings, "ratings"); - this.ratings = Optional.ofNullable(ratings); - return this; - } - - public Builder ratings(Optional> ratings) { - Utils.checkNotNull(ratings, "ratings"); - this.ratings = ratings; - return this; - } - - public Builder director(List director) { - Utils.checkNotNull(director, "director"); - this.director = Optional.ofNullable(director); - return this; - } - - public Builder director(Optional> director) { - Utils.checkNotNull(director, "director"); - this.director = director; - return this; - } - - public Builder writer(List writer) { - Utils.checkNotNull(writer, "writer"); - this.writer = Optional.ofNullable(writer); - return this; - } - - public Builder writer(Optional> writer) { - Utils.checkNotNull(writer, "writer"); - this.writer = writer; - return this; - } - - public Builder role(List role) { - Utils.checkNotNull(role, "role"); - this.role = Optional.ofNullable(role); - return this; - } - - public Builder role(Optional> role) { - Utils.checkNotNull(role, "role"); - this.role = role; - return this; - } - - public Builder producer(List producer) { - Utils.checkNotNull(producer, "producer"); - this.producer = Optional.ofNullable(producer); - return this; - } - - public Builder producer(Optional> producer) { - Utils.checkNotNull(producer, "producer"); - this.producer = producer; - return this; - } - - public GetMetaDataByRatingKeyMetadata build() { - return new GetMetaDataByRatingKeyMetadata( - ratingKey, - key, - guid, - studio, - type, - title, - librarySectionTitle, - librarySectionID, - librarySectionKey, - grandparentTitle, - parentTitle, - originalTitle, - index, - parentIndex, - contentRating, - summary, - rating, - audienceRating, - year, - tagline, - thumb, - art, - duration, - originallyAvailableAt, - addedAt, - updatedAt, - audienceRatingImage, - hasPremiumPrimaryExtra, - ratingImage, - media, - genre, - country, - guids, - ratings, - director, - writer, - role, - producer); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyPart.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyPart.java deleted file mode 100644 index 138dad9e..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyPart.java +++ /dev/null @@ -1,534 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.Override; -import java.lang.String; -import java.lang.SuppressWarnings; -import java.util.List; -import java.util.Objects; -import java.util.Optional; - - -public class GetMetaDataByRatingKeyPart { - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("id") - private Optional id; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("key") - private Optional key; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("duration") - private Optional duration; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("file") - private Optional file; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("size") - private Optional size; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("audioProfile") - private Optional audioProfile; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("container") - private Optional container; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("has64bitOffsets") - private Optional has64bitOffsets; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("optimizedForStreaming") - private Optional optimizedForStreaming; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("videoProfile") - private Optional videoProfile; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("Stream") - private Optional> stream; - - @JsonCreator - public GetMetaDataByRatingKeyPart( - @JsonProperty("id") Optional id, - @JsonProperty("key") Optional key, - @JsonProperty("duration") Optional duration, - @JsonProperty("file") Optional file, - @JsonProperty("size") Optional size, - @JsonProperty("audioProfile") Optional audioProfile, - @JsonProperty("container") Optional container, - @JsonProperty("has64bitOffsets") Optional has64bitOffsets, - @JsonProperty("optimizedForStreaming") Optional optimizedForStreaming, - @JsonProperty("videoProfile") Optional videoProfile, - @JsonProperty("Stream") Optional> stream) { - Utils.checkNotNull(id, "id"); - Utils.checkNotNull(key, "key"); - Utils.checkNotNull(duration, "duration"); - Utils.checkNotNull(file, "file"); - Utils.checkNotNull(size, "size"); - Utils.checkNotNull(audioProfile, "audioProfile"); - Utils.checkNotNull(container, "container"); - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - Utils.checkNotNull(videoProfile, "videoProfile"); - Utils.checkNotNull(stream, "stream"); - this.id = id; - this.key = key; - this.duration = duration; - this.file = file; - this.size = size; - this.audioProfile = audioProfile; - this.container = container; - this.has64bitOffsets = has64bitOffsets; - this.optimizedForStreaming = optimizedForStreaming; - this.videoProfile = videoProfile; - this.stream = stream; - } - - public GetMetaDataByRatingKeyPart() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); - } - - @JsonIgnore - public Optional id() { - return id; - } - - @JsonIgnore - public Optional key() { - return key; - } - - @JsonIgnore - public Optional duration() { - return duration; - } - - @JsonIgnore - public Optional file() { - return file; - } - - @JsonIgnore - public Optional size() { - return size; - } - - @JsonIgnore - public Optional audioProfile() { - return audioProfile; - } - - @JsonIgnore - public Optional container() { - return container; - } - - @JsonIgnore - public Optional has64bitOffsets() { - return has64bitOffsets; - } - - @JsonIgnore - public Optional optimizedForStreaming() { - return optimizedForStreaming; - } - - @JsonIgnore - public Optional videoProfile() { - return videoProfile; - } - - @SuppressWarnings("unchecked") - @JsonIgnore - public Optional> stream() { - return (Optional>) stream; - } - - public final static Builder builder() { - return new Builder(); - } - - public GetMetaDataByRatingKeyPart withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyPart withId(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public GetMetaDataByRatingKeyPart withKey(String key) { - Utils.checkNotNull(key, "key"); - this.key = Optional.ofNullable(key); - return this; - } - - public GetMetaDataByRatingKeyPart withKey(Optional key) { - Utils.checkNotNull(key, "key"); - this.key = key; - return this; - } - - public GetMetaDataByRatingKeyPart withDuration(int duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = Optional.ofNullable(duration); - return this; - } - - public GetMetaDataByRatingKeyPart withDuration(Optional duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = duration; - return this; - } - - public GetMetaDataByRatingKeyPart withFile(String file) { - Utils.checkNotNull(file, "file"); - this.file = Optional.ofNullable(file); - return this; - } - - public GetMetaDataByRatingKeyPart withFile(Optional file) { - Utils.checkNotNull(file, "file"); - this.file = file; - return this; - } - - public GetMetaDataByRatingKeyPart withSize(int size) { - Utils.checkNotNull(size, "size"); - this.size = Optional.ofNullable(size); - return this; - } - - public GetMetaDataByRatingKeyPart withSize(Optional size) { - Utils.checkNotNull(size, "size"); - this.size = size; - return this; - } - - public GetMetaDataByRatingKeyPart withAudioProfile(String audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = Optional.ofNullable(audioProfile); - return this; - } - - public GetMetaDataByRatingKeyPart withAudioProfile(Optional audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = audioProfile; - return this; - } - - public GetMetaDataByRatingKeyPart withContainer(String container) { - Utils.checkNotNull(container, "container"); - this.container = Optional.ofNullable(container); - return this; - } - - public GetMetaDataByRatingKeyPart withContainer(Optional container) { - Utils.checkNotNull(container, "container"); - this.container = container; - return this; - } - - public GetMetaDataByRatingKeyPart withHas64bitOffsets(boolean has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = Optional.ofNullable(has64bitOffsets); - return this; - } - - public GetMetaDataByRatingKeyPart withHas64bitOffsets(Optional has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = has64bitOffsets; - return this; - } - - public GetMetaDataByRatingKeyPart withOptimizedForStreaming(boolean optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = Optional.ofNullable(optimizedForStreaming); - return this; - } - - public GetMetaDataByRatingKeyPart withOptimizedForStreaming(Optional optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = optimizedForStreaming; - return this; - } - - public GetMetaDataByRatingKeyPart withVideoProfile(String videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = Optional.ofNullable(videoProfile); - return this; - } - - public GetMetaDataByRatingKeyPart withVideoProfile(Optional videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = videoProfile; - return this; - } - - public GetMetaDataByRatingKeyPart withStream(List stream) { - Utils.checkNotNull(stream, "stream"); - this.stream = Optional.ofNullable(stream); - return this; - } - - public GetMetaDataByRatingKeyPart withStream(Optional> stream) { - Utils.checkNotNull(stream, "stream"); - this.stream = stream; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyPart other = (GetMetaDataByRatingKeyPart) o; - return - Objects.deepEquals(this.id, other.id) && - Objects.deepEquals(this.key, other.key) && - Objects.deepEquals(this.duration, other.duration) && - Objects.deepEquals(this.file, other.file) && - Objects.deepEquals(this.size, other.size) && - Objects.deepEquals(this.audioProfile, other.audioProfile) && - Objects.deepEquals(this.container, other.container) && - Objects.deepEquals(this.has64bitOffsets, other.has64bitOffsets) && - Objects.deepEquals(this.optimizedForStreaming, other.optimizedForStreaming) && - Objects.deepEquals(this.videoProfile, other.videoProfile) && - Objects.deepEquals(this.stream, other.stream); - } - - @Override - public int hashCode() { - return Objects.hash( - id, - key, - duration, - file, - size, - audioProfile, - container, - has64bitOffsets, - optimizedForStreaming, - videoProfile, - stream); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyPart.class, - "id", id, - "key", key, - "duration", duration, - "file", file, - "size", size, - "audioProfile", audioProfile, - "container", container, - "has64bitOffsets", has64bitOffsets, - "optimizedForStreaming", optimizedForStreaming, - "videoProfile", videoProfile, - "stream", stream); - } - - public final static class Builder { - - private Optional id = Optional.empty(); - - private Optional key = Optional.empty(); - - private Optional duration = Optional.empty(); - - private Optional file = Optional.empty(); - - private Optional size = Optional.empty(); - - private Optional audioProfile = Optional.empty(); - - private Optional container = Optional.empty(); - - private Optional has64bitOffsets = Optional.empty(); - - private Optional optimizedForStreaming = Optional.empty(); - - private Optional videoProfile = Optional.empty(); - - private Optional> stream = Optional.empty(); - - private Builder() { - // force use of static builder() method - } - - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public Builder key(String key) { - Utils.checkNotNull(key, "key"); - this.key = Optional.ofNullable(key); - return this; - } - - public Builder key(Optional key) { - Utils.checkNotNull(key, "key"); - this.key = key; - return this; - } - - public Builder duration(int duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = Optional.ofNullable(duration); - return this; - } - - public Builder duration(Optional duration) { - Utils.checkNotNull(duration, "duration"); - this.duration = duration; - return this; - } - - public Builder file(String file) { - Utils.checkNotNull(file, "file"); - this.file = Optional.ofNullable(file); - return this; - } - - public Builder file(Optional file) { - Utils.checkNotNull(file, "file"); - this.file = file; - return this; - } - - public Builder size(int size) { - Utils.checkNotNull(size, "size"); - this.size = Optional.ofNullable(size); - return this; - } - - public Builder size(Optional size) { - Utils.checkNotNull(size, "size"); - this.size = size; - return this; - } - - public Builder audioProfile(String audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = Optional.ofNullable(audioProfile); - return this; - } - - public Builder audioProfile(Optional audioProfile) { - Utils.checkNotNull(audioProfile, "audioProfile"); - this.audioProfile = audioProfile; - return this; - } - - public Builder container(String container) { - Utils.checkNotNull(container, "container"); - this.container = Optional.ofNullable(container); - return this; - } - - public Builder container(Optional container) { - Utils.checkNotNull(container, "container"); - this.container = container; - return this; - } - - public Builder has64bitOffsets(boolean has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = Optional.ofNullable(has64bitOffsets); - return this; - } - - public Builder has64bitOffsets(Optional has64bitOffsets) { - Utils.checkNotNull(has64bitOffsets, "has64bitOffsets"); - this.has64bitOffsets = has64bitOffsets; - return this; - } - - public Builder optimizedForStreaming(boolean optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = Optional.ofNullable(optimizedForStreaming); - return this; - } - - public Builder optimizedForStreaming(Optional optimizedForStreaming) { - Utils.checkNotNull(optimizedForStreaming, "optimizedForStreaming"); - this.optimizedForStreaming = optimizedForStreaming; - return this; - } - - public Builder videoProfile(String videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = Optional.ofNullable(videoProfile); - return this; - } - - public Builder videoProfile(Optional videoProfile) { - Utils.checkNotNull(videoProfile, "videoProfile"); - this.videoProfile = videoProfile; - return this; - } - - public Builder stream(List stream) { - Utils.checkNotNull(stream, "stream"); - this.stream = Optional.ofNullable(stream); - return this; - } - - public Builder stream(Optional> stream) { - Utils.checkNotNull(stream, "stream"); - this.stream = stream; - return this; - } - - public GetMetaDataByRatingKeyPart build() { - return new GetMetaDataByRatingKeyPart( - id, - key, - duration, - file, - size, - audioProfile, - container, - has64bitOffsets, - optimizedForStreaming, - videoProfile, - stream); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequest.java deleted file mode 100644 index a63db866..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequest.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import dev.plexapi.sdk.utils.SpeakeasyMetadata; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Long; -import java.lang.Override; -import java.lang.String; -import java.util.Objects; - - -public class GetMetaDataByRatingKeyRequest { - - /** - * the id of the library item to return the children of. - */ - @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=ratingKey") - private long ratingKey; - - @JsonCreator - public GetMetaDataByRatingKeyRequest( - long ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = ratingKey; - } - - /** - * the id of the library item to return the children of. - */ - @JsonIgnore - public long ratingKey() { - return ratingKey; - } - - public final static Builder builder() { - return new Builder(); - } - - /** - * the id of the library item to return the children of. - */ - public GetMetaDataByRatingKeyRequest withRatingKey(long ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = ratingKey; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyRequest other = (GetMetaDataByRatingKeyRequest) o; - return - Objects.deepEquals(this.ratingKey, other.ratingKey); - } - - @Override - public int hashCode() { - return Objects.hash( - ratingKey); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyRequest.class, - "ratingKey", ratingKey); - } - - public final static class Builder { - - private Long ratingKey; - - private Builder() { - // force use of static builder() method - } - - /** - * the id of the library item to return the children of. - */ - public Builder ratingKey(long ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = ratingKey; - return this; - } - - public GetMetaDataByRatingKeyRequest build() { - return new GetMetaDataByRatingKeyRequest( - ratingKey); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequestBuilder.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequestBuilder.java deleted file mode 100644 index 818eccbd..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyRequestBuilder.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - -import dev.plexapi.sdk.utils.Utils; -import java.lang.Long; - -public class GetMetaDataByRatingKeyRequestBuilder { - - private Long ratingKey; - private final SDKMethodInterfaces.MethodCallGetMetaDataByRatingKey sdk; - - public GetMetaDataByRatingKeyRequestBuilder(SDKMethodInterfaces.MethodCallGetMetaDataByRatingKey sdk) { - this.sdk = sdk; - } - - public GetMetaDataByRatingKeyRequestBuilder ratingKey(long ratingKey) { - Utils.checkNotNull(ratingKey, "ratingKey"); - this.ratingKey = ratingKey; - return this; - } - - public GetMetaDataByRatingKeyResponse call() throws Exception { - - return sdk.getMetaDataByRatingKey( - ratingKey); - } -} diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyStream.java b/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyStream.java deleted file mode 100644 index 153d6d88..00000000 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetMetaDataByRatingKeyStream.java +++ /dev/null @@ -1,1413 +0,0 @@ -/* - * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. - */ - -package dev.plexapi.sdk.models.operations; - - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import dev.plexapi.sdk.utils.Utils; -import java.lang.Boolean; -import java.lang.Integer; -import java.lang.Override; -import java.lang.String; -import java.util.Objects; -import java.util.Optional; - - -public class GetMetaDataByRatingKeyStream { - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("id") - private Optional id; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("streamType") - private Optional streamType; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("default") - private Optional default_; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("codec") - private Optional codec; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("index") - private Optional index; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("bitrate") - private Optional bitrate; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("bitDepth") - private Optional bitDepth; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("chromaLocation") - private Optional chromaLocation; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("chromaSubsampling") - private Optional chromaSubsampling; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("codedHeight") - private Optional codedHeight; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("codedWidth") - private Optional codedWidth; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("colorPrimaries") - private Optional colorPrimaries; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("colorRange") - private Optional colorRange; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("colorSpace") - private Optional colorSpace; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("colorTrc") - private Optional colorTrc; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("frameRate") - private Optional frameRate; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("hasScalingMatrix") - private Optional hasScalingMatrix; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("height") - private Optional height; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("level") - private Optional level; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("profile") - private Optional profile; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("refFrames") - private Optional refFrames; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("scanType") - private Optional scanType; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("streamIdentifier") - private Optional streamIdentifier; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("width") - private Optional width; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("displayTitle") - private Optional displayTitle; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("extendedDisplayTitle") - private Optional extendedDisplayTitle; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("selected") - private Optional selected; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("channels") - private Optional channels; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("language") - private Optional language; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("languageTag") - private Optional languageTag; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("languageCode") - private Optional languageCode; - - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("samplingRate") - private Optional samplingRate; - - @JsonCreator - public GetMetaDataByRatingKeyStream( - @JsonProperty("id") Optional id, - @JsonProperty("streamType") Optional streamType, - @JsonProperty("default") Optional default_, - @JsonProperty("codec") Optional codec, - @JsonProperty("index") Optional index, - @JsonProperty("bitrate") Optional bitrate, - @JsonProperty("bitDepth") Optional bitDepth, - @JsonProperty("chromaLocation") Optional chromaLocation, - @JsonProperty("chromaSubsampling") Optional chromaSubsampling, - @JsonProperty("codedHeight") Optional codedHeight, - @JsonProperty("codedWidth") Optional codedWidth, - @JsonProperty("colorPrimaries") Optional colorPrimaries, - @JsonProperty("colorRange") Optional colorRange, - @JsonProperty("colorSpace") Optional colorSpace, - @JsonProperty("colorTrc") Optional colorTrc, - @JsonProperty("frameRate") Optional frameRate, - @JsonProperty("hasScalingMatrix") Optional hasScalingMatrix, - @JsonProperty("height") Optional height, - @JsonProperty("level") Optional level, - @JsonProperty("profile") Optional profile, - @JsonProperty("refFrames") Optional refFrames, - @JsonProperty("scanType") Optional scanType, - @JsonProperty("streamIdentifier") Optional streamIdentifier, - @JsonProperty("width") Optional width, - @JsonProperty("displayTitle") Optional displayTitle, - @JsonProperty("extendedDisplayTitle") Optional extendedDisplayTitle, - @JsonProperty("selected") Optional selected, - @JsonProperty("channels") Optional channels, - @JsonProperty("language") Optional language, - @JsonProperty("languageTag") Optional languageTag, - @JsonProperty("languageCode") Optional languageCode, - @JsonProperty("samplingRate") Optional samplingRate) { - Utils.checkNotNull(id, "id"); - Utils.checkNotNull(streamType, "streamType"); - Utils.checkNotNull(default_, "default_"); - Utils.checkNotNull(codec, "codec"); - Utils.checkNotNull(index, "index"); - Utils.checkNotNull(bitrate, "bitrate"); - Utils.checkNotNull(bitDepth, "bitDepth"); - Utils.checkNotNull(chromaLocation, "chromaLocation"); - Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); - Utils.checkNotNull(codedHeight, "codedHeight"); - Utils.checkNotNull(codedWidth, "codedWidth"); - Utils.checkNotNull(colorPrimaries, "colorPrimaries"); - Utils.checkNotNull(colorRange, "colorRange"); - Utils.checkNotNull(colorSpace, "colorSpace"); - Utils.checkNotNull(colorTrc, "colorTrc"); - Utils.checkNotNull(frameRate, "frameRate"); - Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); - Utils.checkNotNull(height, "height"); - Utils.checkNotNull(level, "level"); - Utils.checkNotNull(profile, "profile"); - Utils.checkNotNull(refFrames, "refFrames"); - Utils.checkNotNull(scanType, "scanType"); - Utils.checkNotNull(streamIdentifier, "streamIdentifier"); - Utils.checkNotNull(width, "width"); - Utils.checkNotNull(displayTitle, "displayTitle"); - Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); - Utils.checkNotNull(selected, "selected"); - Utils.checkNotNull(channels, "channels"); - Utils.checkNotNull(language, "language"); - Utils.checkNotNull(languageTag, "languageTag"); - Utils.checkNotNull(languageCode, "languageCode"); - Utils.checkNotNull(samplingRate, "samplingRate"); - this.id = id; - this.streamType = streamType; - this.default_ = default_; - this.codec = codec; - this.index = index; - this.bitrate = bitrate; - this.bitDepth = bitDepth; - this.chromaLocation = chromaLocation; - this.chromaSubsampling = chromaSubsampling; - this.codedHeight = codedHeight; - this.codedWidth = codedWidth; - this.colorPrimaries = colorPrimaries; - this.colorRange = colorRange; - this.colorSpace = colorSpace; - this.colorTrc = colorTrc; - this.frameRate = frameRate; - this.hasScalingMatrix = hasScalingMatrix; - this.height = height; - this.level = level; - this.profile = profile; - this.refFrames = refFrames; - this.scanType = scanType; - this.streamIdentifier = streamIdentifier; - this.width = width; - this.displayTitle = displayTitle; - this.extendedDisplayTitle = extendedDisplayTitle; - this.selected = selected; - this.channels = channels; - this.language = language; - this.languageTag = languageTag; - this.languageCode = languageCode; - this.samplingRate = samplingRate; - } - - public GetMetaDataByRatingKeyStream() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); - } - - @JsonIgnore - public Optional id() { - return id; - } - - @JsonIgnore - public Optional streamType() { - return streamType; - } - - @JsonIgnore - public Optional default_() { - return default_; - } - - @JsonIgnore - public Optional codec() { - return codec; - } - - @JsonIgnore - public Optional index() { - return index; - } - - @JsonIgnore - public Optional bitrate() { - return bitrate; - } - - @JsonIgnore - public Optional bitDepth() { - return bitDepth; - } - - @JsonIgnore - public Optional chromaLocation() { - return chromaLocation; - } - - @JsonIgnore - public Optional chromaSubsampling() { - return chromaSubsampling; - } - - @JsonIgnore - public Optional codedHeight() { - return codedHeight; - } - - @JsonIgnore - public Optional codedWidth() { - return codedWidth; - } - - @JsonIgnore - public Optional colorPrimaries() { - return colorPrimaries; - } - - @JsonIgnore - public Optional colorRange() { - return colorRange; - } - - @JsonIgnore - public Optional colorSpace() { - return colorSpace; - } - - @JsonIgnore - public Optional colorTrc() { - return colorTrc; - } - - @JsonIgnore - public Optional frameRate() { - return frameRate; - } - - @JsonIgnore - public Optional hasScalingMatrix() { - return hasScalingMatrix; - } - - @JsonIgnore - public Optional height() { - return height; - } - - @JsonIgnore - public Optional level() { - return level; - } - - @JsonIgnore - public Optional profile() { - return profile; - } - - @JsonIgnore - public Optional refFrames() { - return refFrames; - } - - @JsonIgnore - public Optional scanType() { - return scanType; - } - - @JsonIgnore - public Optional streamIdentifier() { - return streamIdentifier; - } - - @JsonIgnore - public Optional width() { - return width; - } - - @JsonIgnore - public Optional displayTitle() { - return displayTitle; - } - - @JsonIgnore - public Optional extendedDisplayTitle() { - return extendedDisplayTitle; - } - - @JsonIgnore - public Optional selected() { - return selected; - } - - @JsonIgnore - public Optional channels() { - return channels; - } - - @JsonIgnore - public Optional language() { - return language; - } - - @JsonIgnore - public Optional languageTag() { - return languageTag; - } - - @JsonIgnore - public Optional languageCode() { - return languageCode; - } - - @JsonIgnore - public Optional samplingRate() { - return samplingRate; - } - - public final static Builder builder() { - return new Builder(); - } - - public GetMetaDataByRatingKeyStream withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public GetMetaDataByRatingKeyStream withId(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public GetMetaDataByRatingKeyStream withStreamType(int streamType) { - Utils.checkNotNull(streamType, "streamType"); - this.streamType = Optional.ofNullable(streamType); - return this; - } - - public GetMetaDataByRatingKeyStream withStreamType(Optional streamType) { - Utils.checkNotNull(streamType, "streamType"); - this.streamType = streamType; - return this; - } - - public GetMetaDataByRatingKeyStream withDefault(boolean default_) { - Utils.checkNotNull(default_, "default_"); - this.default_ = Optional.ofNullable(default_); - return this; - } - - public GetMetaDataByRatingKeyStream withDefault(Optional default_) { - Utils.checkNotNull(default_, "default_"); - this.default_ = default_; - return this; - } - - public GetMetaDataByRatingKeyStream withCodec(String codec) { - Utils.checkNotNull(codec, "codec"); - this.codec = Optional.ofNullable(codec); - return this; - } - - public GetMetaDataByRatingKeyStream withCodec(Optional codec) { - Utils.checkNotNull(codec, "codec"); - this.codec = codec; - return this; - } - - public GetMetaDataByRatingKeyStream withIndex(int index) { - Utils.checkNotNull(index, "index"); - this.index = Optional.ofNullable(index); - return this; - } - - public GetMetaDataByRatingKeyStream withIndex(Optional index) { - Utils.checkNotNull(index, "index"); - this.index = index; - return this; - } - - public GetMetaDataByRatingKeyStream withBitrate(int bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = Optional.ofNullable(bitrate); - return this; - } - - public GetMetaDataByRatingKeyStream withBitrate(Optional bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = bitrate; - return this; - } - - public GetMetaDataByRatingKeyStream withBitDepth(int bitDepth) { - Utils.checkNotNull(bitDepth, "bitDepth"); - this.bitDepth = Optional.ofNullable(bitDepth); - return this; - } - - public GetMetaDataByRatingKeyStream withBitDepth(Optional bitDepth) { - Utils.checkNotNull(bitDepth, "bitDepth"); - this.bitDepth = bitDepth; - return this; - } - - public GetMetaDataByRatingKeyStream withChromaLocation(String chromaLocation) { - Utils.checkNotNull(chromaLocation, "chromaLocation"); - this.chromaLocation = Optional.ofNullable(chromaLocation); - return this; - } - - public GetMetaDataByRatingKeyStream withChromaLocation(Optional chromaLocation) { - Utils.checkNotNull(chromaLocation, "chromaLocation"); - this.chromaLocation = chromaLocation; - return this; - } - - public GetMetaDataByRatingKeyStream withChromaSubsampling(String chromaSubsampling) { - Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); - this.chromaSubsampling = Optional.ofNullable(chromaSubsampling); - return this; - } - - public GetMetaDataByRatingKeyStream withChromaSubsampling(Optional chromaSubsampling) { - Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); - this.chromaSubsampling = chromaSubsampling; - return this; - } - - public GetMetaDataByRatingKeyStream withCodedHeight(int codedHeight) { - Utils.checkNotNull(codedHeight, "codedHeight"); - this.codedHeight = Optional.ofNullable(codedHeight); - return this; - } - - public GetMetaDataByRatingKeyStream withCodedHeight(Optional codedHeight) { - Utils.checkNotNull(codedHeight, "codedHeight"); - this.codedHeight = codedHeight; - return this; - } - - public GetMetaDataByRatingKeyStream withCodedWidth(int codedWidth) { - Utils.checkNotNull(codedWidth, "codedWidth"); - this.codedWidth = Optional.ofNullable(codedWidth); - return this; - } - - public GetMetaDataByRatingKeyStream withCodedWidth(Optional codedWidth) { - Utils.checkNotNull(codedWidth, "codedWidth"); - this.codedWidth = codedWidth; - return this; - } - - public GetMetaDataByRatingKeyStream withColorPrimaries(String colorPrimaries) { - Utils.checkNotNull(colorPrimaries, "colorPrimaries"); - this.colorPrimaries = Optional.ofNullable(colorPrimaries); - return this; - } - - public GetMetaDataByRatingKeyStream withColorPrimaries(Optional colorPrimaries) { - Utils.checkNotNull(colorPrimaries, "colorPrimaries"); - this.colorPrimaries = colorPrimaries; - return this; - } - - public GetMetaDataByRatingKeyStream withColorRange(String colorRange) { - Utils.checkNotNull(colorRange, "colorRange"); - this.colorRange = Optional.ofNullable(colorRange); - return this; - } - - public GetMetaDataByRatingKeyStream withColorRange(Optional colorRange) { - Utils.checkNotNull(colorRange, "colorRange"); - this.colorRange = colorRange; - return this; - } - - public GetMetaDataByRatingKeyStream withColorSpace(String colorSpace) { - Utils.checkNotNull(colorSpace, "colorSpace"); - this.colorSpace = Optional.ofNullable(colorSpace); - return this; - } - - public GetMetaDataByRatingKeyStream withColorSpace(Optional colorSpace) { - Utils.checkNotNull(colorSpace, "colorSpace"); - this.colorSpace = colorSpace; - return this; - } - - public GetMetaDataByRatingKeyStream withColorTrc(String colorTrc) { - Utils.checkNotNull(colorTrc, "colorTrc"); - this.colorTrc = Optional.ofNullable(colorTrc); - return this; - } - - public GetMetaDataByRatingKeyStream withColorTrc(Optional colorTrc) { - Utils.checkNotNull(colorTrc, "colorTrc"); - this.colorTrc = colorTrc; - return this; - } - - public GetMetaDataByRatingKeyStream withFrameRate(int frameRate) { - Utils.checkNotNull(frameRate, "frameRate"); - this.frameRate = Optional.ofNullable(frameRate); - return this; - } - - public GetMetaDataByRatingKeyStream withFrameRate(Optional frameRate) { - Utils.checkNotNull(frameRate, "frameRate"); - this.frameRate = frameRate; - return this; - } - - public GetMetaDataByRatingKeyStream withHasScalingMatrix(boolean hasScalingMatrix) { - Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); - this.hasScalingMatrix = Optional.ofNullable(hasScalingMatrix); - return this; - } - - public GetMetaDataByRatingKeyStream withHasScalingMatrix(Optional hasScalingMatrix) { - Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); - this.hasScalingMatrix = hasScalingMatrix; - return this; - } - - public GetMetaDataByRatingKeyStream withHeight(int height) { - Utils.checkNotNull(height, "height"); - this.height = Optional.ofNullable(height); - return this; - } - - public GetMetaDataByRatingKeyStream withHeight(Optional height) { - Utils.checkNotNull(height, "height"); - this.height = height; - return this; - } - - public GetMetaDataByRatingKeyStream withLevel(int level) { - Utils.checkNotNull(level, "level"); - this.level = Optional.ofNullable(level); - return this; - } - - public GetMetaDataByRatingKeyStream withLevel(Optional level) { - Utils.checkNotNull(level, "level"); - this.level = level; - return this; - } - - public GetMetaDataByRatingKeyStream withProfile(String profile) { - Utils.checkNotNull(profile, "profile"); - this.profile = Optional.ofNullable(profile); - return this; - } - - public GetMetaDataByRatingKeyStream withProfile(Optional profile) { - Utils.checkNotNull(profile, "profile"); - this.profile = profile; - return this; - } - - public GetMetaDataByRatingKeyStream withRefFrames(int refFrames) { - Utils.checkNotNull(refFrames, "refFrames"); - this.refFrames = Optional.ofNullable(refFrames); - return this; - } - - public GetMetaDataByRatingKeyStream withRefFrames(Optional refFrames) { - Utils.checkNotNull(refFrames, "refFrames"); - this.refFrames = refFrames; - return this; - } - - public GetMetaDataByRatingKeyStream withScanType(String scanType) { - Utils.checkNotNull(scanType, "scanType"); - this.scanType = Optional.ofNullable(scanType); - return this; - } - - public GetMetaDataByRatingKeyStream withScanType(Optional scanType) { - Utils.checkNotNull(scanType, "scanType"); - this.scanType = scanType; - return this; - } - - public GetMetaDataByRatingKeyStream withStreamIdentifier(String streamIdentifier) { - Utils.checkNotNull(streamIdentifier, "streamIdentifier"); - this.streamIdentifier = Optional.ofNullable(streamIdentifier); - return this; - } - - public GetMetaDataByRatingKeyStream withStreamIdentifier(Optional streamIdentifier) { - Utils.checkNotNull(streamIdentifier, "streamIdentifier"); - this.streamIdentifier = streamIdentifier; - return this; - } - - public GetMetaDataByRatingKeyStream withWidth(int width) { - Utils.checkNotNull(width, "width"); - this.width = Optional.ofNullable(width); - return this; - } - - public GetMetaDataByRatingKeyStream withWidth(Optional width) { - Utils.checkNotNull(width, "width"); - this.width = width; - return this; - } - - public GetMetaDataByRatingKeyStream withDisplayTitle(String displayTitle) { - Utils.checkNotNull(displayTitle, "displayTitle"); - this.displayTitle = Optional.ofNullable(displayTitle); - return this; - } - - public GetMetaDataByRatingKeyStream withDisplayTitle(Optional displayTitle) { - Utils.checkNotNull(displayTitle, "displayTitle"); - this.displayTitle = displayTitle; - return this; - } - - public GetMetaDataByRatingKeyStream withExtendedDisplayTitle(String extendedDisplayTitle) { - Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); - this.extendedDisplayTitle = Optional.ofNullable(extendedDisplayTitle); - return this; - } - - public GetMetaDataByRatingKeyStream withExtendedDisplayTitle(Optional extendedDisplayTitle) { - Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); - this.extendedDisplayTitle = extendedDisplayTitle; - return this; - } - - public GetMetaDataByRatingKeyStream withSelected(boolean selected) { - Utils.checkNotNull(selected, "selected"); - this.selected = Optional.ofNullable(selected); - return this; - } - - public GetMetaDataByRatingKeyStream withSelected(Optional selected) { - Utils.checkNotNull(selected, "selected"); - this.selected = selected; - return this; - } - - public GetMetaDataByRatingKeyStream withChannels(int channels) { - Utils.checkNotNull(channels, "channels"); - this.channels = Optional.ofNullable(channels); - return this; - } - - public GetMetaDataByRatingKeyStream withChannels(Optional channels) { - Utils.checkNotNull(channels, "channels"); - this.channels = channels; - return this; - } - - public GetMetaDataByRatingKeyStream withLanguage(String language) { - Utils.checkNotNull(language, "language"); - this.language = Optional.ofNullable(language); - return this; - } - - public GetMetaDataByRatingKeyStream withLanguage(Optional language) { - Utils.checkNotNull(language, "language"); - this.language = language; - return this; - } - - public GetMetaDataByRatingKeyStream withLanguageTag(String languageTag) { - Utils.checkNotNull(languageTag, "languageTag"); - this.languageTag = Optional.ofNullable(languageTag); - return this; - } - - public GetMetaDataByRatingKeyStream withLanguageTag(Optional languageTag) { - Utils.checkNotNull(languageTag, "languageTag"); - this.languageTag = languageTag; - return this; - } - - public GetMetaDataByRatingKeyStream withLanguageCode(String languageCode) { - Utils.checkNotNull(languageCode, "languageCode"); - this.languageCode = Optional.ofNullable(languageCode); - return this; - } - - public GetMetaDataByRatingKeyStream withLanguageCode(Optional languageCode) { - Utils.checkNotNull(languageCode, "languageCode"); - this.languageCode = languageCode; - return this; - } - - public GetMetaDataByRatingKeyStream withSamplingRate(int samplingRate) { - Utils.checkNotNull(samplingRate, "samplingRate"); - this.samplingRate = Optional.ofNullable(samplingRate); - return this; - } - - public GetMetaDataByRatingKeyStream withSamplingRate(Optional samplingRate) { - Utils.checkNotNull(samplingRate, "samplingRate"); - this.samplingRate = samplingRate; - return this; - } - - @Override - public boolean equals(java.lang.Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GetMetaDataByRatingKeyStream other = (GetMetaDataByRatingKeyStream) o; - return - Objects.deepEquals(this.id, other.id) && - Objects.deepEquals(this.streamType, other.streamType) && - Objects.deepEquals(this.default_, other.default_) && - Objects.deepEquals(this.codec, other.codec) && - Objects.deepEquals(this.index, other.index) && - Objects.deepEquals(this.bitrate, other.bitrate) && - Objects.deepEquals(this.bitDepth, other.bitDepth) && - Objects.deepEquals(this.chromaLocation, other.chromaLocation) && - Objects.deepEquals(this.chromaSubsampling, other.chromaSubsampling) && - Objects.deepEquals(this.codedHeight, other.codedHeight) && - Objects.deepEquals(this.codedWidth, other.codedWidth) && - Objects.deepEquals(this.colorPrimaries, other.colorPrimaries) && - Objects.deepEquals(this.colorRange, other.colorRange) && - Objects.deepEquals(this.colorSpace, other.colorSpace) && - Objects.deepEquals(this.colorTrc, other.colorTrc) && - Objects.deepEquals(this.frameRate, other.frameRate) && - Objects.deepEquals(this.hasScalingMatrix, other.hasScalingMatrix) && - Objects.deepEquals(this.height, other.height) && - Objects.deepEquals(this.level, other.level) && - Objects.deepEquals(this.profile, other.profile) && - Objects.deepEquals(this.refFrames, other.refFrames) && - Objects.deepEquals(this.scanType, other.scanType) && - Objects.deepEquals(this.streamIdentifier, other.streamIdentifier) && - Objects.deepEquals(this.width, other.width) && - Objects.deepEquals(this.displayTitle, other.displayTitle) && - Objects.deepEquals(this.extendedDisplayTitle, other.extendedDisplayTitle) && - Objects.deepEquals(this.selected, other.selected) && - Objects.deepEquals(this.channels, other.channels) && - Objects.deepEquals(this.language, other.language) && - Objects.deepEquals(this.languageTag, other.languageTag) && - Objects.deepEquals(this.languageCode, other.languageCode) && - Objects.deepEquals(this.samplingRate, other.samplingRate); - } - - @Override - public int hashCode() { - return Objects.hash( - id, - streamType, - default_, - codec, - index, - bitrate, - bitDepth, - chromaLocation, - chromaSubsampling, - codedHeight, - codedWidth, - colorPrimaries, - colorRange, - colorSpace, - colorTrc, - frameRate, - hasScalingMatrix, - height, - level, - profile, - refFrames, - scanType, - streamIdentifier, - width, - displayTitle, - extendedDisplayTitle, - selected, - channels, - language, - languageTag, - languageCode, - samplingRate); - } - - @Override - public String toString() { - return Utils.toString(GetMetaDataByRatingKeyStream.class, - "id", id, - "streamType", streamType, - "default_", default_, - "codec", codec, - "index", index, - "bitrate", bitrate, - "bitDepth", bitDepth, - "chromaLocation", chromaLocation, - "chromaSubsampling", chromaSubsampling, - "codedHeight", codedHeight, - "codedWidth", codedWidth, - "colorPrimaries", colorPrimaries, - "colorRange", colorRange, - "colorSpace", colorSpace, - "colorTrc", colorTrc, - "frameRate", frameRate, - "hasScalingMatrix", hasScalingMatrix, - "height", height, - "level", level, - "profile", profile, - "refFrames", refFrames, - "scanType", scanType, - "streamIdentifier", streamIdentifier, - "width", width, - "displayTitle", displayTitle, - "extendedDisplayTitle", extendedDisplayTitle, - "selected", selected, - "channels", channels, - "language", language, - "languageTag", languageTag, - "languageCode", languageCode, - "samplingRate", samplingRate); - } - - public final static class Builder { - - private Optional id = Optional.empty(); - - private Optional streamType = Optional.empty(); - - private Optional default_ = Optional.empty(); - - private Optional codec = Optional.empty(); - - private Optional index = Optional.empty(); - - private Optional bitrate = Optional.empty(); - - private Optional bitDepth = Optional.empty(); - - private Optional chromaLocation = Optional.empty(); - - private Optional chromaSubsampling = Optional.empty(); - - private Optional codedHeight = Optional.empty(); - - private Optional codedWidth = Optional.empty(); - - private Optional colorPrimaries = Optional.empty(); - - private Optional colorRange = Optional.empty(); - - private Optional colorSpace = Optional.empty(); - - private Optional colorTrc = Optional.empty(); - - private Optional frameRate = Optional.empty(); - - private Optional hasScalingMatrix = Optional.empty(); - - private Optional height = Optional.empty(); - - private Optional level = Optional.empty(); - - private Optional profile = Optional.empty(); - - private Optional refFrames = Optional.empty(); - - private Optional scanType = Optional.empty(); - - private Optional streamIdentifier = Optional.empty(); - - private Optional width = Optional.empty(); - - private Optional displayTitle = Optional.empty(); - - private Optional extendedDisplayTitle = Optional.empty(); - - private Optional selected = Optional.empty(); - - private Optional channels = Optional.empty(); - - private Optional language = Optional.empty(); - - private Optional languageTag = Optional.empty(); - - private Optional languageCode = Optional.empty(); - - private Optional samplingRate = Optional.empty(); - - private Builder() { - // force use of static builder() method - } - - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { - Utils.checkNotNull(id, "id"); - this.id = id; - return this; - } - - public Builder streamType(int streamType) { - Utils.checkNotNull(streamType, "streamType"); - this.streamType = Optional.ofNullable(streamType); - return this; - } - - public Builder streamType(Optional streamType) { - Utils.checkNotNull(streamType, "streamType"); - this.streamType = streamType; - return this; - } - - public Builder default_(boolean default_) { - Utils.checkNotNull(default_, "default_"); - this.default_ = Optional.ofNullable(default_); - return this; - } - - public Builder default_(Optional default_) { - Utils.checkNotNull(default_, "default_"); - this.default_ = default_; - return this; - } - - public Builder codec(String codec) { - Utils.checkNotNull(codec, "codec"); - this.codec = Optional.ofNullable(codec); - return this; - } - - public Builder codec(Optional codec) { - Utils.checkNotNull(codec, "codec"); - this.codec = codec; - return this; - } - - public Builder index(int index) { - Utils.checkNotNull(index, "index"); - this.index = Optional.ofNullable(index); - return this; - } - - public Builder index(Optional index) { - Utils.checkNotNull(index, "index"); - this.index = index; - return this; - } - - public Builder bitrate(int bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = Optional.ofNullable(bitrate); - return this; - } - - public Builder bitrate(Optional bitrate) { - Utils.checkNotNull(bitrate, "bitrate"); - this.bitrate = bitrate; - return this; - } - - public Builder bitDepth(int bitDepth) { - Utils.checkNotNull(bitDepth, "bitDepth"); - this.bitDepth = Optional.ofNullable(bitDepth); - return this; - } - - public Builder bitDepth(Optional bitDepth) { - Utils.checkNotNull(bitDepth, "bitDepth"); - this.bitDepth = bitDepth; - return this; - } - - public Builder chromaLocation(String chromaLocation) { - Utils.checkNotNull(chromaLocation, "chromaLocation"); - this.chromaLocation = Optional.ofNullable(chromaLocation); - return this; - } - - public Builder chromaLocation(Optional chromaLocation) { - Utils.checkNotNull(chromaLocation, "chromaLocation"); - this.chromaLocation = chromaLocation; - return this; - } - - public Builder chromaSubsampling(String chromaSubsampling) { - Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); - this.chromaSubsampling = Optional.ofNullable(chromaSubsampling); - return this; - } - - public Builder chromaSubsampling(Optional chromaSubsampling) { - Utils.checkNotNull(chromaSubsampling, "chromaSubsampling"); - this.chromaSubsampling = chromaSubsampling; - return this; - } - - public Builder codedHeight(int codedHeight) { - Utils.checkNotNull(codedHeight, "codedHeight"); - this.codedHeight = Optional.ofNullable(codedHeight); - return this; - } - - public Builder codedHeight(Optional codedHeight) { - Utils.checkNotNull(codedHeight, "codedHeight"); - this.codedHeight = codedHeight; - return this; - } - - public Builder codedWidth(int codedWidth) { - Utils.checkNotNull(codedWidth, "codedWidth"); - this.codedWidth = Optional.ofNullable(codedWidth); - return this; - } - - public Builder codedWidth(Optional codedWidth) { - Utils.checkNotNull(codedWidth, "codedWidth"); - this.codedWidth = codedWidth; - return this; - } - - public Builder colorPrimaries(String colorPrimaries) { - Utils.checkNotNull(colorPrimaries, "colorPrimaries"); - this.colorPrimaries = Optional.ofNullable(colorPrimaries); - return this; - } - - public Builder colorPrimaries(Optional colorPrimaries) { - Utils.checkNotNull(colorPrimaries, "colorPrimaries"); - this.colorPrimaries = colorPrimaries; - return this; - } - - public Builder colorRange(String colorRange) { - Utils.checkNotNull(colorRange, "colorRange"); - this.colorRange = Optional.ofNullable(colorRange); - return this; - } - - public Builder colorRange(Optional colorRange) { - Utils.checkNotNull(colorRange, "colorRange"); - this.colorRange = colorRange; - return this; - } - - public Builder colorSpace(String colorSpace) { - Utils.checkNotNull(colorSpace, "colorSpace"); - this.colorSpace = Optional.ofNullable(colorSpace); - return this; - } - - public Builder colorSpace(Optional colorSpace) { - Utils.checkNotNull(colorSpace, "colorSpace"); - this.colorSpace = colorSpace; - return this; - } - - public Builder colorTrc(String colorTrc) { - Utils.checkNotNull(colorTrc, "colorTrc"); - this.colorTrc = Optional.ofNullable(colorTrc); - return this; - } - - public Builder colorTrc(Optional colorTrc) { - Utils.checkNotNull(colorTrc, "colorTrc"); - this.colorTrc = colorTrc; - return this; - } - - public Builder frameRate(int frameRate) { - Utils.checkNotNull(frameRate, "frameRate"); - this.frameRate = Optional.ofNullable(frameRate); - return this; - } - - public Builder frameRate(Optional frameRate) { - Utils.checkNotNull(frameRate, "frameRate"); - this.frameRate = frameRate; - return this; - } - - public Builder hasScalingMatrix(boolean hasScalingMatrix) { - Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); - this.hasScalingMatrix = Optional.ofNullable(hasScalingMatrix); - return this; - } - - public Builder hasScalingMatrix(Optional hasScalingMatrix) { - Utils.checkNotNull(hasScalingMatrix, "hasScalingMatrix"); - this.hasScalingMatrix = hasScalingMatrix; - return this; - } - - public Builder height(int height) { - Utils.checkNotNull(height, "height"); - this.height = Optional.ofNullable(height); - return this; - } - - public Builder height(Optional height) { - Utils.checkNotNull(height, "height"); - this.height = height; - return this; - } - - public Builder level(int level) { - Utils.checkNotNull(level, "level"); - this.level = Optional.ofNullable(level); - return this; - } - - public Builder level(Optional level) { - Utils.checkNotNull(level, "level"); - this.level = level; - return this; - } - - public Builder profile(String profile) { - Utils.checkNotNull(profile, "profile"); - this.profile = Optional.ofNullable(profile); - return this; - } - - public Builder profile(Optional profile) { - Utils.checkNotNull(profile, "profile"); - this.profile = profile; - return this; - } - - public Builder refFrames(int refFrames) { - Utils.checkNotNull(refFrames, "refFrames"); - this.refFrames = Optional.ofNullable(refFrames); - return this; - } - - public Builder refFrames(Optional refFrames) { - Utils.checkNotNull(refFrames, "refFrames"); - this.refFrames = refFrames; - return this; - } - - public Builder scanType(String scanType) { - Utils.checkNotNull(scanType, "scanType"); - this.scanType = Optional.ofNullable(scanType); - return this; - } - - public Builder scanType(Optional scanType) { - Utils.checkNotNull(scanType, "scanType"); - this.scanType = scanType; - return this; - } - - public Builder streamIdentifier(String streamIdentifier) { - Utils.checkNotNull(streamIdentifier, "streamIdentifier"); - this.streamIdentifier = Optional.ofNullable(streamIdentifier); - return this; - } - - public Builder streamIdentifier(Optional streamIdentifier) { - Utils.checkNotNull(streamIdentifier, "streamIdentifier"); - this.streamIdentifier = streamIdentifier; - return this; - } - - public Builder width(int width) { - Utils.checkNotNull(width, "width"); - this.width = Optional.ofNullable(width); - return this; - } - - public Builder width(Optional width) { - Utils.checkNotNull(width, "width"); - this.width = width; - return this; - } - - public Builder displayTitle(String displayTitle) { - Utils.checkNotNull(displayTitle, "displayTitle"); - this.displayTitle = Optional.ofNullable(displayTitle); - return this; - } - - public Builder displayTitle(Optional displayTitle) { - Utils.checkNotNull(displayTitle, "displayTitle"); - this.displayTitle = displayTitle; - return this; - } - - public Builder extendedDisplayTitle(String extendedDisplayTitle) { - Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); - this.extendedDisplayTitle = Optional.ofNullable(extendedDisplayTitle); - return this; - } - - public Builder extendedDisplayTitle(Optional extendedDisplayTitle) { - Utils.checkNotNull(extendedDisplayTitle, "extendedDisplayTitle"); - this.extendedDisplayTitle = extendedDisplayTitle; - return this; - } - - public Builder selected(boolean selected) { - Utils.checkNotNull(selected, "selected"); - this.selected = Optional.ofNullable(selected); - return this; - } - - public Builder selected(Optional selected) { - Utils.checkNotNull(selected, "selected"); - this.selected = selected; - return this; - } - - public Builder channels(int channels) { - Utils.checkNotNull(channels, "channels"); - this.channels = Optional.ofNullable(channels); - return this; - } - - public Builder channels(Optional channels) { - Utils.checkNotNull(channels, "channels"); - this.channels = channels; - return this; - } - - public Builder language(String language) { - Utils.checkNotNull(language, "language"); - this.language = Optional.ofNullable(language); - return this; - } - - public Builder language(Optional language) { - Utils.checkNotNull(language, "language"); - this.language = language; - return this; - } - - public Builder languageTag(String languageTag) { - Utils.checkNotNull(languageTag, "languageTag"); - this.languageTag = Optional.ofNullable(languageTag); - return this; - } - - public Builder languageTag(Optional languageTag) { - Utils.checkNotNull(languageTag, "languageTag"); - this.languageTag = languageTag; - return this; - } - - public Builder languageCode(String languageCode) { - Utils.checkNotNull(languageCode, "languageCode"); - this.languageCode = Optional.ofNullable(languageCode); - return this; - } - - public Builder languageCode(Optional languageCode) { - Utils.checkNotNull(languageCode, "languageCode"); - this.languageCode = languageCode; - return this; - } - - public Builder samplingRate(int samplingRate) { - Utils.checkNotNull(samplingRate, "samplingRate"); - this.samplingRate = Optional.ofNullable(samplingRate); - return this; - } - - public Builder samplingRate(Optional samplingRate) { - Utils.checkNotNull(samplingRate, "samplingRate"); - this.samplingRate = samplingRate; - return this; - } - - public GetMetaDataByRatingKeyStream build() { - return new GetMetaDataByRatingKeyStream( - id, - streamType, - default_, - codec, - index, - bitrate, - bitDepth, - chromaLocation, - chromaSubsampling, - codedHeight, - codedWidth, - colorPrimaries, - colorRange, - colorSpace, - colorTrc, - frameRate, - hasScalingMatrix, - height, - level, - profile, - refFrames, - scanType, - streamIdentifier, - width, - displayTitle, - extendedDisplayTitle, - selected, - channels, - language, - languageTag, - languageCode, - samplingRate); - } - } -} - diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsQueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsQueryParamType.java index 1c94a8b3..0d17bde6 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsQueryParamType.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsQueryParamType.java @@ -9,7 +9,7 @@ import java.util.Objects; import java.util.Optional; /** - * GetPlaylistContentsQueryParamType - The type of media to retrieve. + * GetPlaylistContentsQueryParamType - The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsRequest.java index df1d0ce7..bfd30735 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetPlaylistContentsRequest.java @@ -24,7 +24,7 @@ public class GetPlaylistContentsRequest { private double playlistID; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -54,7 +54,7 @@ public class GetPlaylistContentsRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -81,7 +81,7 @@ public class GetPlaylistContentsRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -143,7 +143,7 @@ public class GetPlaylistContentsRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedLibraryRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedLibraryRequest.java index 279be5aa..76a0b62e 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedLibraryRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedLibraryRequest.java @@ -36,7 +36,7 @@ public class GetRecentlyAddedLibraryRequest { private Optional sectionID; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -122,7 +122,7 @@ public class GetRecentlyAddedLibraryRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -214,7 +214,7 @@ public class GetRecentlyAddedLibraryRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -402,7 +402,7 @@ public class GetRecentlyAddedLibraryRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedRequest.java index 9b8201f3..5cd19526 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetRecentlyAddedRequest.java @@ -41,7 +41,7 @@ public class GetRecentlyAddedRequest { private Optional sectionID; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -133,7 +133,7 @@ public class GetRecentlyAddedRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -228,7 +228,7 @@ public class GetRecentlyAddedRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -419,7 +419,7 @@ public class GetRecentlyAddedRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryQueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryQueryParamType.java index bc7cb051..01a6e60d 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryQueryParamType.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryQueryParamType.java @@ -9,7 +9,7 @@ import java.util.Objects; import java.util.Optional; /** - * GetSearchLibraryQueryParamType - The type of media to retrieve. + * GetSearchLibraryQueryParamType - The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryRequest.java index 87b850bb..1c3c7387 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetSearchLibraryRequest.java @@ -26,7 +26,7 @@ public class GetSearchLibraryRequest { private int sectionKey; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -58,7 +58,7 @@ public class GetSearchLibraryRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -87,7 +87,7 @@ public class GetSearchLibraryRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -151,7 +151,7 @@ public class GetSearchLibraryRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentQueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentQueryParamType.java index dfe8bf12..3f29e1b8 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentQueryParamType.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentQueryParamType.java @@ -9,7 +9,7 @@ import java.util.Objects; import java.util.Optional; /** - * GetTopWatchedContentQueryParamType - The type of media to retrieve. + * GetTopWatchedContentQueryParamType - The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentRequest.java index 85ae9446..732dfcb6 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetTopWatchedContentRequest.java @@ -26,7 +26,7 @@ public class GetTopWatchedContentRequest { private Optional includeGuids; /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -62,7 +62,7 @@ public class GetTopWatchedContentRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -100,7 +100,7 @@ public class GetTopWatchedContentRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season @@ -173,7 +173,7 @@ public class GetTopWatchedContentRequest { } /** - * The type of media to retrieve. + * The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/Guids.java b/src/main/java/dev/plexapi/sdk/models/operations/Guids.java index 9f512a57..2d649634 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/Guids.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/Guids.java @@ -7,35 +7,33 @@ package dev.plexapi.sdk.models.operations; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; import java.lang.Override; import java.lang.String; import java.util.Objects; -import java.util.Optional; public class Guids { - @JsonInclude(Include.NON_ABSENT) + /** + * The GUID value. + */ @JsonProperty("id") - private Optional id; + private String id; @JsonCreator public Guids( - @JsonProperty("id") Optional id) { + @JsonProperty("id") String id) { Utils.checkNotNull(id, "id"); this.id = id; } - - public Guids() { - this(Optional.empty()); - } + /** + * The GUID value. + */ @JsonIgnore - public Optional id() { + public String id() { return id; } @@ -43,13 +41,10 @@ public class Guids { return new Builder(); } + /** + * The GUID value. + */ public Guids withId(String id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Guids withId(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; @@ -82,19 +77,16 @@ public class Guids { public final static class Builder { - private Optional id = Optional.empty(); + private String id; private Builder() { // force use of static builder() method } + /** + * The GUID value. + */ public Builder id(String id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { Utils.checkNotNull(id, "id"); this.id = id; return this; diff --git a/src/main/java/dev/plexapi/sdk/models/operations/Producer.java b/src/main/java/dev/plexapi/sdk/models/operations/Producer.java index 6c032176..bee76782 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/Producer.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/Producer.java @@ -11,7 +11,7 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; -import java.lang.Integer; +import java.lang.Long; import java.lang.Override; import java.lang.String; import java.util.Objects; @@ -20,69 +20,117 @@ import java.util.Optional; public class Producer { - @JsonInclude(Include.NON_ABSENT) + /** + * The unique role identifier. + */ @JsonProperty("id") - private Optional id; + private long id; - @JsonInclude(Include.NON_ABSENT) + /** + * The filter string for the role. + */ @JsonProperty("filter") - private Optional filter; + private String filter; - @JsonInclude(Include.NON_ABSENT) + /** + * The actor's name. + */ @JsonProperty("tag") - private Optional tag; + private String tag; - @JsonInclude(Include.NON_ABSENT) + /** + * A key associated with the actor tag. + */ @JsonProperty("tagKey") - private Optional tagKey; + private String tagKey; + /** + * The character name or role. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("role") + private Optional role; + + /** + * URL for the role thumbnail image. + */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("thumb") private Optional thumb; @JsonCreator public Producer( - @JsonProperty("id") Optional id, - @JsonProperty("filter") Optional filter, - @JsonProperty("tag") Optional tag, - @JsonProperty("tagKey") Optional tagKey, + @JsonProperty("id") long id, + @JsonProperty("filter") String filter, + @JsonProperty("tag") String tag, + @JsonProperty("tagKey") String tagKey, + @JsonProperty("role") Optional role, @JsonProperty("thumb") Optional thumb) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(filter, "filter"); Utils.checkNotNull(tag, "tag"); Utils.checkNotNull(tagKey, "tagKey"); + Utils.checkNotNull(role, "role"); Utils.checkNotNull(thumb, "thumb"); this.id = id; this.filter = filter; this.tag = tag; this.tagKey = tagKey; + this.role = role; this.thumb = thumb; } - public Producer() { - this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + public Producer( + long id, + String filter, + String tag, + String tagKey) { + this(id, filter, tag, tagKey, Optional.empty(), Optional.empty()); } + /** + * The unique role identifier. + */ @JsonIgnore - public Optional id() { + public long id() { return id; } + /** + * The filter string for the role. + */ @JsonIgnore - public Optional filter() { + public String filter() { return filter; } + /** + * The actor's name. + */ @JsonIgnore - public Optional tag() { + public String tag() { return tag; } + /** + * A key associated with the actor tag. + */ @JsonIgnore - public Optional tagKey() { + public String tagKey() { return tagKey; } + /** + * The character name or role. + */ + @JsonIgnore + public Optional role() { + return role; + } + + /** + * URL for the role thumbnail image. + */ @JsonIgnore public Optional thumb() { return thumb; @@ -92,60 +140,72 @@ public class Producer { return new Builder(); } - public Producer withId(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Producer withId(Optional id) { + /** + * The unique role identifier. + */ + public Producer withId(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } + /** + * The filter string for the role. + */ public Producer withFilter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public Producer withFilter(Optional filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } + /** + * The actor's name. + */ public Producer withTag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public Producer withTag(Optional tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } + /** + * A key associated with the actor tag. + */ public Producer withTagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public Producer withTagKey(Optional tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } + /** + * The character name or role. + */ + public Producer withRole(String role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * The character name or role. + */ + public Producer withRole(Optional role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * URL for the role thumbnail image. + */ public Producer withThumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } + /** + * URL for the role thumbnail image. + */ public Producer withThumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; @@ -166,6 +226,7 @@ public class Producer { Objects.deepEquals(this.filter, other.filter) && Objects.deepEquals(this.tag, other.tag) && Objects.deepEquals(this.tagKey, other.tagKey) && + Objects.deepEquals(this.role, other.role) && Objects.deepEquals(this.thumb, other.thumb); } @@ -176,6 +237,7 @@ public class Producer { filter, tag, tagKey, + role, thumb); } @@ -186,18 +248,21 @@ public class Producer { "filter", filter, "tag", tag, "tagKey", tagKey, + "role", role, "thumb", thumb); } public final static class Builder { - private Optional id = Optional.empty(); + private Long id; - private Optional filter = Optional.empty(); + private String filter; - private Optional tag = Optional.empty(); + private String tag; - private Optional tagKey = Optional.empty(); + private String tagKey; + + private Optional role = Optional.empty(); private Optional thumb = Optional.empty(); @@ -205,60 +270,72 @@ public class Producer { // force use of static builder() method } - public Builder id(int id) { - Utils.checkNotNull(id, "id"); - this.id = Optional.ofNullable(id); - return this; - } - - public Builder id(Optional id) { + /** + * The unique role identifier. + */ + public Builder id(long id) { Utils.checkNotNull(id, "id"); this.id = id; return this; } + /** + * The filter string for the role. + */ public Builder filter(String filter) { - Utils.checkNotNull(filter, "filter"); - this.filter = Optional.ofNullable(filter); - return this; - } - - public Builder filter(Optional filter) { Utils.checkNotNull(filter, "filter"); this.filter = filter; return this; } + /** + * The actor's name. + */ public Builder tag(String tag) { - Utils.checkNotNull(tag, "tag"); - this.tag = Optional.ofNullable(tag); - return this; - } - - public Builder tag(Optional tag) { Utils.checkNotNull(tag, "tag"); this.tag = tag; return this; } + /** + * A key associated with the actor tag. + */ public Builder tagKey(String tagKey) { - Utils.checkNotNull(tagKey, "tagKey"); - this.tagKey = Optional.ofNullable(tagKey); - return this; - } - - public Builder tagKey(Optional tagKey) { Utils.checkNotNull(tagKey, "tagKey"); this.tagKey = tagKey; return this; } + /** + * The character name or role. + */ + public Builder role(String role) { + Utils.checkNotNull(role, "role"); + this.role = Optional.ofNullable(role); + return this; + } + + /** + * The character name or role. + */ + public Builder role(Optional role) { + Utils.checkNotNull(role, "role"); + this.role = role; + return this; + } + + /** + * URL for the role thumbnail image. + */ public Builder thumb(String thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = Optional.ofNullable(thumb); return this; } + /** + * URL for the role thumbnail image. + */ public Builder thumb(Optional thumb) { Utils.checkNotNull(thumb, "thumb"); this.thumb = thumb; @@ -271,6 +348,7 @@ public class Producer { filter, tag, tagKey, + role, thumb); } } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/QueryParamType.java b/src/main/java/dev/plexapi/sdk/models/operations/QueryParamType.java index fe4099cc..d0aac8ed 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/QueryParamType.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/QueryParamType.java @@ -9,7 +9,7 @@ import java.util.Objects; import java.util.Optional; /** - * QueryParamType - The type of media to retrieve. + * QueryParamType - The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season diff --git a/src/main/java/dev/plexapi/sdk/models/operations/Ratings.java b/src/main/java/dev/plexapi/sdk/models/operations/Rating.java similarity index 51% rename from src/main/java/dev/plexapi/sdk/models/operations/Ratings.java rename to src/main/java/dev/plexapi/sdk/models/operations/Rating.java index 408bbc52..e5e050c4 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/Ratings.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/Rating.java @@ -7,36 +7,39 @@ package dev.plexapi.sdk.models.operations; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import dev.plexapi.sdk.utils.Utils; -import java.lang.Double; +import java.lang.Float; import java.lang.Override; import java.lang.String; import java.util.Objects; -import java.util.Optional; -public class Ratings { +public class Rating { - @JsonInclude(Include.NON_ABSENT) + /** + * The image or reference for the rating. + */ @JsonProperty("image") - private Optional image; + private String image; - @JsonInclude(Include.NON_ABSENT) + /** + * The rating value. + */ @JsonProperty("value") - private Optional value; + private float value; - @JsonInclude(Include.NON_ABSENT) + /** + * The type of rating (e.g., audience, critic). + */ @JsonProperty("type") - private Optional type; + private String type; @JsonCreator - public Ratings( - @JsonProperty("image") Optional image, - @JsonProperty("value") Optional value, - @JsonProperty("type") Optional type) { + public Rating( + @JsonProperty("image") String image, + @JsonProperty("value") float value, + @JsonProperty("type") String type) { Utils.checkNotNull(image, "image"); Utils.checkNotNull(value, "value"); Utils.checkNotNull(type, "type"); @@ -44,23 +47,28 @@ public class Ratings { this.value = value; this.type = type; } - - public Ratings() { - this(Optional.empty(), Optional.empty(), Optional.empty()); - } + /** + * The image or reference for the rating. + */ @JsonIgnore - public Optional image() { + public String image() { return image; } + /** + * The rating value. + */ @JsonIgnore - public Optional value() { + public float value() { return value; } + /** + * The type of rating (e.g., audience, critic). + */ @JsonIgnore - public Optional type() { + public String type() { return type; } @@ -68,37 +76,28 @@ public class Ratings { return new Builder(); } - public Ratings withImage(String image) { - Utils.checkNotNull(image, "image"); - this.image = Optional.ofNullable(image); - return this; - } - - public Ratings withImage(Optional image) { + /** + * The image or reference for the rating. + */ + public Rating withImage(String image) { Utils.checkNotNull(image, "image"); this.image = image; return this; } - public Ratings withValue(double value) { - Utils.checkNotNull(value, "value"); - this.value = Optional.ofNullable(value); - return this; - } - - public Ratings withValue(Optional value) { + /** + * The rating value. + */ + public Rating withValue(float value) { Utils.checkNotNull(value, "value"); this.value = value; return this; } - public Ratings withType(String type) { - Utils.checkNotNull(type, "type"); - this.type = Optional.ofNullable(type); - return this; - } - - public Ratings withType(Optional type) { + /** + * The type of rating (e.g., audience, critic). + */ + public Rating withType(String type) { Utils.checkNotNull(type, "type"); this.type = type; return this; @@ -112,7 +111,7 @@ public class Ratings { if (o == null || getClass() != o.getClass()) { return false; } - Ratings other = (Ratings) o; + Rating other = (Rating) o; return Objects.deepEquals(this.image, other.image) && Objects.deepEquals(this.value, other.value) && @@ -129,7 +128,7 @@ public class Ratings { @Override public String toString() { - return Utils.toString(Ratings.class, + return Utils.toString(Rating.class, "image", image, "value", value, "type", type); @@ -137,54 +136,45 @@ public class Ratings { public final static class Builder { - private Optional image = Optional.empty(); + private String image; - private Optional value = Optional.empty(); + private Float value; - private Optional type = Optional.empty(); + private String type; private Builder() { // force use of static builder() method } + /** + * The image or reference for the rating. + */ public Builder image(String image) { - Utils.checkNotNull(image, "image"); - this.image = Optional.ofNullable(image); - return this; - } - - public Builder image(Optional image) { Utils.checkNotNull(image, "image"); this.image = image; return this; } - public Builder value(double value) { - Utils.checkNotNull(value, "value"); - this.value = Optional.ofNullable(value); - return this; - } - - public Builder value(Optional value) { + /** + * The rating value. + */ + public Builder value(float value) { Utils.checkNotNull(value, "value"); this.value = value; return this; } + /** + * The type of rating (e.g., audience, critic). + */ public Builder type(String type) { - Utils.checkNotNull(type, "type"); - this.type = Optional.ofNullable(type); - return this; - } - - public Builder type(Optional type) { Utils.checkNotNull(type, "type"); this.type = type; return this; } - public Ratings build() { - return new Ratings( + public Rating build() { + return new Rating( image, value, type); diff --git a/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java b/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java index 73a7cfd5..1478a011 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java @@ -285,13 +285,22 @@ public class SDKMethodInterfaces { public interface MethodCallGetGenresLibrary { GetGenresLibraryResponse getGenresLibrary( - int sectionKey) throws Exception; + int sectionKey, + GetGenresLibraryQueryParamType type) throws Exception; } public interface MethodCallGetCountriesLibrary { GetCountriesLibraryResponse getCountriesLibrary( - int sectionKey) throws Exception; + int sectionKey, + GetCountriesLibraryQueryParamType type) throws Exception; + } + + + public interface MethodCallGetActorsLibrary { + GetActorsLibraryResponse getActorsLibrary( + int sectionKey, + GetActorsLibraryQueryParamType type) throws Exception; } @@ -301,9 +310,9 @@ public class SDKMethodInterfaces { } - public interface MethodCallGetMetaDataByRatingKey { - GetMetaDataByRatingKeyResponse getMetaDataByRatingKey( - long ratingKey) throws Exception; + public interface MethodCallGetMediaMetaData { + GetMediaMetaDataResponse getMediaMetaData( + GetMediaMetaDataRequest request) throws Exception; } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/Similar.java b/src/main/java/dev/plexapi/sdk/models/operations/Similar.java new file mode 100644 index 00000000..249db9d4 --- /dev/null +++ b/src/main/java/dev/plexapi/sdk/models/operations/Similar.java @@ -0,0 +1,184 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ + +package dev.plexapi.sdk.models.operations; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import dev.plexapi.sdk.utils.Utils; +import java.lang.Long; +import java.lang.Override; +import java.lang.String; +import java.util.Objects; + + +public class Similar { + + /** + * The unique similar item identifier. + */ + @JsonProperty("id") + private long id; + + /** + * The filter string for similar items. + */ + @JsonProperty("filter") + private String filter; + + /** + * The tag or title of the similar content. + */ + @JsonProperty("tag") + private String tag; + + @JsonCreator + public Similar( + @JsonProperty("id") long id, + @JsonProperty("filter") String filter, + @JsonProperty("tag") String tag) { + Utils.checkNotNull(id, "id"); + Utils.checkNotNull(filter, "filter"); + Utils.checkNotNull(tag, "tag"); + this.id = id; + this.filter = filter; + this.tag = tag; + } + + /** + * The unique similar item identifier. + */ + @JsonIgnore + public long id() { + return id; + } + + /** + * The filter string for similar items. + */ + @JsonIgnore + public String filter() { + return filter; + } + + /** + * The tag or title of the similar content. + */ + @JsonIgnore + public String tag() { + return tag; + } + + public final static Builder builder() { + return new Builder(); + } + + /** + * The unique similar item identifier. + */ + public Similar withId(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * The filter string for similar items. + */ + public Similar withFilter(String filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + /** + * The tag or title of the similar content. + */ + public Similar withTag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Similar other = (Similar) o; + return + Objects.deepEquals(this.id, other.id) && + Objects.deepEquals(this.filter, other.filter) && + Objects.deepEquals(this.tag, other.tag); + } + + @Override + public int hashCode() { + return Objects.hash( + id, + filter, + tag); + } + + @Override + public String toString() { + return Utils.toString(Similar.class, + "id", id, + "filter", filter, + "tag", tag); + } + + public final static class Builder { + + private Long id; + + private String filter; + + private String tag; + + private Builder() { + // force use of static builder() method + } + + /** + * The unique similar item identifier. + */ + public Builder id(long id) { + Utils.checkNotNull(id, "id"); + this.id = id; + return this; + } + + /** + * The filter string for similar items. + */ + public Builder filter(String filter) { + Utils.checkNotNull(filter, "filter"); + this.filter = filter; + return this; + } + + /** + * The tag or title of the similar content. + */ + public Builder tag(String tag) { + Utils.checkNotNull(tag, "tag"); + this.tag = tag; + return this; + } + + public Similar build() { + return new Similar( + id, + filter, + tag); + } + } +} + diff --git a/src/main/java/dev/plexapi/sdk/models/operations/Type.java b/src/main/java/dev/plexapi/sdk/models/operations/Type.java index 1d490e30..63e28a81 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/Type.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/Type.java @@ -9,7 +9,7 @@ import java.util.Objects; import java.util.Optional; /** - * Type - The type of media to retrieve. + * Type - The type of media to retrieve or filter by. * 1 = movie * 2 = show * 3 = season