Implementation of album and artist catalog recovery

This commit is contained in:
CappielloAntonio 2021-07-30 14:09:50 +02:00
parent 64cd8ed0ac
commit 98ffec9b72
15 changed files with 330 additions and 160 deletions

View file

@ -1,36 +1,25 @@
package com.cappielloantonio.play.subsonic.models;
import com.tickaroo.tikxml.annotation.Element;
import com.tickaroo.tikxml.annotation.ElementNameMatcher;
import com.tickaroo.tikxml.annotation.Xml;
import java.util.ArrayList;
import java.util.List;
@Xml
public class ArtistInfo2 extends ArtistInfoBase {
@Element(name = "similarArtist", typesByElement = @ElementNameMatcher(type = ArtistID3.class))
protected List<ArtistID3> similarArtists;
/**
* Gets the value of the similarArtists property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the similarArtists property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getSimilarArtists().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ArtistID3 }
*/
public List<ArtistID3> getSimilarArtists() {
if (similarArtists == null) {
similarArtists = new ArrayList<ArtistID3>();
similarArtists = new ArrayList<>();
}
return this.similarArtists;
}
public void setSimilarArtists(List<ArtistID3> similarArtists) {
this.similarArtists = similarArtists;
}
}

View file

@ -1,129 +1,67 @@
package com.cappielloantonio.play.subsonic.models;
import com.tickaroo.tikxml.annotation.PropertyElement;
import com.tickaroo.tikxml.annotation.Xml;
@Xml
public class ArtistInfoBase {
@PropertyElement
protected String biography;
@PropertyElement
protected String musicBrainzId;
@PropertyElement
protected String lastFmUrl;
@PropertyElement
protected String smallImageUrl;
@PropertyElement
protected String mediumImageUrl;
@PropertyElement
protected String largeImageUrl;
/**
* Gets the value of the biography property.
*
* @return possible object is
* {@link String }
*/
public String getBiography() {
return biography;
}
/**
* Sets the value of the biography property.
*
* @param value allowed object is
* {@link String }
*/
public void setBiography(String value) {
this.biography = value;
}
/**
* Gets the value of the musicBrainzId property.
*
* @return possible object is
* {@link String }
*/
public String getMusicBrainzId() {
return musicBrainzId;
}
/**
* Sets the value of the musicBrainzId property.
*
* @param value allowed object is
* {@link String }
*/
public void setMusicBrainzId(String value) {
this.musicBrainzId = value;
}
/**
* Gets the value of the lastFmUrl property.
*
* @return possible object is
* {@link String }
*/
public String getLastFmUrl() {
return lastFmUrl;
}
/**
* Sets the value of the lastFmUrl property.
*
* @param value allowed object is
* {@link String }
*/
public void setLastFmUrl(String value) {
this.lastFmUrl = value;
}
/**
* Gets the value of the smallImageUrl property.
*
* @return possible object is
* {@link String }
*/
public String getSmallImageUrl() {
return smallImageUrl;
}
/**
* Sets the value of the smallImageUrl property.
*
* @param value allowed object is
* {@link String }
*/
public void setSmallImageUrl(String value) {
this.smallImageUrl = value;
}
/**
* Gets the value of the mediumImageUrl property.
*
* @return possible object is
* {@link String }
*/
public String getMediumImageUrl() {
return mediumImageUrl;
}
/**
* Sets the value of the mediumImageUrl property.
*
* @param value allowed object is
* {@link String }
*/
public void setMediumImageUrl(String value) {
this.mediumImageUrl = value;
}
/**
* Gets the value of the largeImageUrl property.
*
* @return possible object is
* {@link String }
*/
public String getLargeImageUrl() {
return largeImageUrl;
}
/**
* Sets the value of the largeImageUrl property.
*
* @param value allowed object is
* {@link String }
*/
public void setLargeImageUrl(String value) {
this.largeImageUrl = value;
}

View file

@ -14,6 +14,7 @@ public class SubsonicResponse {
@Element(name = "similarSongs2")
private SimilarSongs2 similarSongs2;
private SimilarSongs similarSongs;
@Element(name = "artistInfo2")
private ArtistInfo2 artistInfo2;
private ArtistInfo artistInfo;
private AlbumInfo albumInfo;