Title: feat: add common interfaces by fm-sys · Pull Request #457 · spotify-web-api-java/spotify-web-api-java · GitHub
Open Graph Title: feat: add common interfaces by fm-sys · Pull Request #457 · spotify-web-api-java/spotify-web-api-java
X Title: feat: add common interfaces by fm-sys · Pull Request #457 · spotify-web-api-java/spotify-web-api-java
Description: I'm working on a project, where I'm sometimes getting a PlaylistSimplified and sometimes a Playlist. As I only need the basic properties, it would save me a lot of boilerplate code if I could downcast both classes to IPlaylist instead of writing my own conversion methods and model classes. Therefore, this pull request introduces new interfaces to unify the representation of Spotify model objects (Album, Artist, Playlist, Show, Episode, and Track), and updates the corresponding model classes to implement these interfaces. This especially benefits applications implementing this library by providing common interfaces for full and simplified versions of model objects. I've added no tests, as interfaces only provide the contract, not the implementation, and the model class specific implementations are already tested. The change is done in a way it shouldn't break any code of existing applications. I've targeted the beta branch and would be happy if this PR could be included in the final v10 release.
Open Graph Description: I'm working on a project, where I'm sometimes getting a PlaylistSimplified and sometimes a Playlist. As I only need the basic properties, it would save me a lot of boilerplate code if I cou...
X Description: I'm working on a project, where I'm sometimes getting a PlaylistSimplified and sometimes a Playlist. As I only need the basic properties, it would save me a lot of boilerplate code ...
Opengraph URL: https://github.com/spotify-web-api-java/spotify-web-api-java/pull/457
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:93cb43e0-fdb3-e2b1-480a-c4d34c662a79 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E806:1166E6:2D7EC94:3F24025:6A63372E |
| html-safe-nonce | 270c8a0b0f7f56ff2d69a2b5ec480c1835c9992ef7d5f3b42f944305e5865738 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFODA2OjExNjZFNjoyRDdFQzk0OjNGMjQwMjU6NkE2MzM3MkUiLCJ2aXNpdG9yX2lkIjoiOTM2NjMzMjQxMTk3Mjk1NDA2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | dcba2f2d1209bc4686897a9f5e7f815950d8f530abff87db1fc9191d438b6dd7 |
| hovercard-subject-tag | pull_request:3521635943 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/spotify-web-api-java/spotify-web-api-java/pull/457/files |
| twitter:image | https://avatars.githubusercontent.com/u/64581222?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/64581222?s=400&v=4 |
| og:image:alt | I'm working on a project, where I'm sometimes getting a PlaylistSimplified and sometimes a Playlist. As I only need the basic properties, it would save me a lot of boilerplate code if I cou... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 59e55daad7174ca59d63c6974d58276ccb5477442e550bebb3c035e1bef11c94 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/spotify-web-api-java/spotify-web-api-java git https://github.com/spotify-web-api-java/spotify-web-api-java.git |
| octolytics-dimension-user_id | 90800172 |
| octolytics-dimension-user_login | spotify-web-api-java |
| octolytics-dimension-repository_id | 18928344 |
| octolytics-dimension-repository_nwo | spotify-web-api-java/spotify-web-api-java |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 18928344 |
| octolytics-dimension-repository_network_root_nwo | spotify-web-api-java/spotify-web-api-java |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 990295d92a4cc7b63fbbd83a046217cd7d77d49c |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width