Package de.umass.lastfm
Class User
- java.lang.Object
-
- de.umass.lastfm.ImageHolder
-
- de.umass.lastfm.User
-
public class User extends ImageHolder
Contains user information and provides bindings to the methods in the user. namespace.- Author:
- Janni Kovacs
-
-
Field Summary
-
Fields inherited from class de.umass.lastfm.ImageHolder
imageUrls
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getAge()
static PaginatedResult<Track>
getArtistTracks(java.lang.String user, java.lang.String artist, int page, long startTimestamp, long endTimestamp, java.lang.String apiKey)
Get a list of tracks by a given artist scrobbled by this user, including scrobble time.static PaginatedResult<Track>
getArtistTracks(java.lang.String user, java.lang.String artist, java.lang.String apiKey)
Get a list of tracks by a given artist scrobbled by this user, including scrobble time.static PaginatedResult<Track>
getBannedTracks(java.lang.String user, int page, java.lang.String apiKey)
Returns the tracks banned by the user.static PaginatedResult<Track>
getBannedTracks(java.lang.String user, java.lang.String apiKey)
Returns the tracks banned by the user.java.lang.String
getCountry()
static java.util.Collection<Event>
getEvents(java.lang.String user, java.lang.String apiKey)
GetS a list of upcoming events that this user is attending.static java.util.Collection<User>
getFriends(java.lang.String user, boolean recenttracks, int limit, java.lang.String apiKey)
static java.util.Collection<User>
getFriends(java.lang.String user, java.lang.String apiKey)
java.lang.String
getGender()
java.lang.String
getId()
java.lang.String
getImageURL()
static User
getInfo(java.lang.String user, java.lang.String apiKey)
Retrieves profile information about the specified user.java.lang.String
getLanguage()
static PaginatedResult<Track>
getLovedTracks(java.lang.String user, int page, java.lang.String apiKey)
Retrieves the loved tracks by a user.static PaginatedResult<Track>
getLovedTracks(java.lang.String user, java.lang.String apiKey)
Retrieves the loved tracks by a user.java.lang.String
getName()
static java.util.Collection<User>
getNeighbours(java.lang.String user, int limit, java.lang.String apiKey)
static java.util.Collection<User>
getNeighbours(java.lang.String user, java.lang.String apiKey)
static java.util.Collection<Album>
getNewReleases(java.lang.String user, boolean useRecommendations, java.lang.String apiKey)
Gets a list of forthcoming releases based on a user's musical taste.static java.util.Collection<Album>
getNewReleases(java.lang.String user, java.lang.String apiKey)
Gets a list of forthcoming releases based on a user's musical taste.int
getNumPlaylists()
static PaginatedResult<Event>
getPastEvents(java.lang.String user, int page, java.lang.String apiKey)
Gets a paginated list of all events a user has attended in the past.static PaginatedResult<Event>
getPastEvents(java.lang.String user, java.lang.String apiKey)
Get the first page of a paginated result of all events a user has attended in the past.int
getPlaycount()
static java.util.Collection<Playlist>
getPlaylists(java.lang.String user, java.lang.String apiKey)
Gets a list of a user's playlists on Last.fm.java.lang.String
getRealname()
static PaginatedResult<Track>
getRecentTracks(java.lang.String user, int limit, java.lang.String apiKey, int page)
static PaginatedResult<Track>
getRecentTracks(java.lang.String user, java.lang.String apiKey)
static PaginatedResult<Artist>
getRecommendedArtists(int page, Session session)
Get Last.fm artist recommendations for a user.static PaginatedResult<Artist>
getRecommendedArtists(Session session)
Get Last.fm artist recommendations for a user.static PaginatedResult<Event>
getRecommendedEvents(int page, Session session)
static PaginatedResult<Event>
getRecommendedEvents(Session session)
java.util.Date
getRegisteredDate()
static java.util.Collection<Album>
getTopAlbums(java.lang.String user, Period period, java.lang.String apiKey)
static java.util.Collection<Album>
getTopAlbums(java.lang.String user, java.lang.String apiKey)
static java.util.Collection<Artist>
getTopArtists(java.lang.String user, Period period, java.lang.String apiKey)
static java.util.Collection<Artist>
getTopArtists(java.lang.String user, java.lang.String apiKey)
static java.util.Collection<Tag>
getTopTags(java.lang.String user, int limit, java.lang.String apiKey)
static java.util.Collection<Tag>
getTopTags(java.lang.String user, java.lang.String apiKey)
static java.util.Collection<Track>
getTopTracks(java.lang.String user, Period period, java.lang.String apiKey)
static java.util.Collection<Track>
getTopTracks(java.lang.String user, java.lang.String apiKey)
java.lang.String
getUrl()
static Chart<Album>
getWeeklyAlbumChart(java.lang.String user, int limit, java.lang.String apiKey)
static Chart<Album>
getWeeklyAlbumChart(java.lang.String user, java.lang.String apiKey)
static Chart<Album>
getWeeklyAlbumChart(java.lang.String user, java.lang.String from, java.lang.String to, int limit, java.lang.String apiKey)
static Chart<Artist>
getWeeklyArtistChart(java.lang.String user, int limit, java.lang.String apiKey)
static Chart<Artist>
getWeeklyArtistChart(java.lang.String user, java.lang.String apiKey)
static Chart<Artist>
getWeeklyArtistChart(java.lang.String user, java.lang.String from, java.lang.String to, int limit, java.lang.String apiKey)
static java.util.LinkedHashMap<java.lang.String,java.lang.String>
getWeeklyChartList(java.lang.String user, java.lang.String apiKey)
static java.util.Collection<Chart>
getWeeklyChartListAsCharts(java.lang.String user, java.lang.String apiKey)
static Chart<Track>
getWeeklyTrackChart(java.lang.String user, int limit, java.lang.String apiKey)
static Chart<Track>
getWeeklyTrackChart(java.lang.String user, java.lang.String apiKey)
static Chart<Track>
getWeeklyTrackChart(java.lang.String user, java.lang.String from, java.lang.String to, int limit, java.lang.String apiKey)
boolean
isSubscriber()
static Result
shout(java.lang.String user, java.lang.String message, Session session)
Shout on this user's shoutbox-
Methods inherited from class de.umass.lastfm.ImageHolder
availableSizes, getImageURL, loadImages
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
-
getRealname
public java.lang.String getRealname()
-
getUrl
public java.lang.String getUrl()
-
getAge
public int getAge()
-
getCountry
public java.lang.String getCountry()
-
getGender
public java.lang.String getGender()
-
getLanguage
public java.lang.String getLanguage()
-
getNumPlaylists
public int getNumPlaylists()
-
getPlaycount
public int getPlaycount()
-
isSubscriber
public boolean isSubscriber()
-
getImageURL
public java.lang.String getImageURL()
-
getId
public java.lang.String getId()
-
getRegisteredDate
public java.util.Date getRegisteredDate()
-
getArtistTracks
public static PaginatedResult<Track> getArtistTracks(java.lang.String user, java.lang.String artist, java.lang.String apiKey)
Get a list of tracks by a given artist scrobbled by this user, including scrobble time. Can be limited to specific timeranges, defaults to all time.- Parameters:
user
- The last.fm username to fetch the recent tracks ofartist
- The artist name you are interested inapiKey
- A Last.fm API key- Returns:
- a list of Tracks
-
getArtistTracks
public static PaginatedResult<Track> getArtistTracks(java.lang.String user, java.lang.String artist, int page, long startTimestamp, long endTimestamp, java.lang.String apiKey)
Get a list of tracks by a given artist scrobbled by this user, including scrobble time. Can be limited to specific timeranges, defaults to all time.- Parameters:
user
- The last.fm username to fetch the recent tracks ofartist
- The artist name you are interested inpage
- An integer used to fetch a specific page of tracksstartTimestamp
- An unix timestamp to start atendTimestamp
- An unix timestamp to end atapiKey
- A Last.fm API key- Returns:
- a list of Tracks
-
getFriends
public static java.util.Collection<User> getFriends(java.lang.String user, java.lang.String apiKey)
-
getFriends
public static java.util.Collection<User> getFriends(java.lang.String user, boolean recenttracks, int limit, java.lang.String apiKey)
-
getNeighbours
public static java.util.Collection<User> getNeighbours(java.lang.String user, java.lang.String apiKey)
-
getNeighbours
public static java.util.Collection<User> getNeighbours(java.lang.String user, int limit, java.lang.String apiKey)
-
getRecentTracks
public static PaginatedResult<Track> getRecentTracks(java.lang.String user, java.lang.String apiKey)
-
getRecentTracks
public static PaginatedResult<Track> getRecentTracks(java.lang.String user, int limit, java.lang.String apiKey, int page)
-
getTopAlbums
public static java.util.Collection<Album> getTopAlbums(java.lang.String user, java.lang.String apiKey)
-
getTopAlbums
public static java.util.Collection<Album> getTopAlbums(java.lang.String user, Period period, java.lang.String apiKey)
-
getTopArtists
public static java.util.Collection<Artist> getTopArtists(java.lang.String user, java.lang.String apiKey)
-
getTopArtists
public static java.util.Collection<Artist> getTopArtists(java.lang.String user, Period period, java.lang.String apiKey)
-
getTopTracks
public static java.util.Collection<Track> getTopTracks(java.lang.String user, java.lang.String apiKey)
-
getTopTracks
public static java.util.Collection<Track> getTopTracks(java.lang.String user, Period period, java.lang.String apiKey)
-
getTopTags
public static java.util.Collection<Tag> getTopTags(java.lang.String user, java.lang.String apiKey)
-
getTopTags
public static java.util.Collection<Tag> getTopTags(java.lang.String user, int limit, java.lang.String apiKey)
-
getWeeklyAlbumChart
public static Chart<Album> getWeeklyAlbumChart(java.lang.String user, java.lang.String apiKey)
-
getWeeklyAlbumChart
public static Chart<Album> getWeeklyAlbumChart(java.lang.String user, int limit, java.lang.String apiKey)
-
getWeeklyAlbumChart
public static Chart<Album> getWeeklyAlbumChart(java.lang.String user, java.lang.String from, java.lang.String to, int limit, java.lang.String apiKey)
-
getWeeklyArtistChart
public static Chart<Artist> getWeeklyArtistChart(java.lang.String user, java.lang.String apiKey)
-
getWeeklyArtistChart
public static Chart<Artist> getWeeklyArtistChart(java.lang.String user, int limit, java.lang.String apiKey)
-
getWeeklyArtistChart
public static Chart<Artist> getWeeklyArtistChart(java.lang.String user, java.lang.String from, java.lang.String to, int limit, java.lang.String apiKey)
-
getWeeklyTrackChart
public static Chart<Track> getWeeklyTrackChart(java.lang.String user, java.lang.String apiKey)
-
getWeeklyTrackChart
public static Chart<Track> getWeeklyTrackChart(java.lang.String user, int limit, java.lang.String apiKey)
-
getWeeklyTrackChart
public static Chart<Track> getWeeklyTrackChart(java.lang.String user, java.lang.String from, java.lang.String to, int limit, java.lang.String apiKey)
-
getWeeklyChartList
public static java.util.LinkedHashMap<java.lang.String,java.lang.String> getWeeklyChartList(java.lang.String user, java.lang.String apiKey)
-
getWeeklyChartListAsCharts
public static java.util.Collection<Chart> getWeeklyChartListAsCharts(java.lang.String user, java.lang.String apiKey)
-
getEvents
public static java.util.Collection<Event> getEvents(java.lang.String user, java.lang.String apiKey)
GetS a list of upcoming events that this user is attending.- Parameters:
user
- The user to fetch the events for.apiKey
- A Last.fm API key.- Returns:
- a list of upcoming events
-
getPastEvents
public static PaginatedResult<Event> getPastEvents(java.lang.String user, java.lang.String apiKey)
Get the first page of a paginated result of all events a user has attended in the past.- Parameters:
user
- The username to fetch the events for.apiKey
- A Last.fm API key.- Returns:
- a list of past
Event
s
-
getPastEvents
public static PaginatedResult<Event> getPastEvents(java.lang.String user, int page, java.lang.String apiKey)
Gets a paginated list of all events a user has attended in the past.- Parameters:
user
- The username to fetch the events for.page
- The page number to scan to.apiKey
- A Last.fm API key.- Returns:
- a list of past
Event
s
-
getRecommendedEvents
public static PaginatedResult<Event> getRecommendedEvents(Session session)
-
getRecommendedEvents
public static PaginatedResult<Event> getRecommendedEvents(int page, Session session)
-
getPlaylists
public static java.util.Collection<Playlist> getPlaylists(java.lang.String user, java.lang.String apiKey)
Gets a list of a user's playlists on Last.fm. Note that this method only fetches metadata regarding the user's playlists. If you want to retrieve the list of tracks in a playlist usePlaylist.fetch()
.- Parameters:
user
- The last.fm username to fetch the playlists of.apiKey
- A Last.fm API key.- Returns:
- a list of Playlists
-
getLovedTracks
public static PaginatedResult<Track> getLovedTracks(java.lang.String user, java.lang.String apiKey)
Retrieves the loved tracks by a user.- Parameters:
user
- The user name to fetch the loved tracks for.apiKey
- A Last.fm API key.- Returns:
- the loved tracks
-
getLovedTracks
public static PaginatedResult<Track> getLovedTracks(java.lang.String user, int page, java.lang.String apiKey)
Retrieves the loved tracks by a user.- Parameters:
user
- The user name to fetch the loved tracks for.page
- The page number to scan toapiKey
- A Last.fm API key.- Returns:
- the loved tracks
-
getInfo
public static User getInfo(java.lang.String user, java.lang.String apiKey)
Retrieves profile information about the specified user.- Parameters:
user
- A usernameapiKey
- A Last.fm API key.- Returns:
- User info
-
getRecommendedArtists
public static PaginatedResult<Artist> getRecommendedArtists(Session session)
Get Last.fm artist recommendations for a user.- Parameters:
session
- A Session instance- Returns:
- a list of
Artist
s
-
getRecommendedArtists
public static PaginatedResult<Artist> getRecommendedArtists(int page, Session session)
Get Last.fm artist recommendations for a user.- Parameters:
page
- The page to fetchsession
- A Session instance- Returns:
- a list of
Artist
s
-
shout
public static Result shout(java.lang.String user, java.lang.String message, Session session)
Shout on this user's shoutbox- Parameters:
user
- The name of the user to shout onmessage
- The message to post to the shoutboxsession
- A Session instance- Returns:
- the result of the operation
-
getNewReleases
public static java.util.Collection<Album> getNewReleases(java.lang.String user, java.lang.String apiKey)
Gets a list of forthcoming releases based on a user's musical taste.- Parameters:
user
- The Last.fm usernameapiKey
- A Last.fm API key- Returns:
- a Collection of new
Album
releases
-
getNewReleases
public static java.util.Collection<Album> getNewReleases(java.lang.String user, boolean useRecommendations, java.lang.String apiKey)
Gets a list of forthcoming releases based on a user's musical taste.- Parameters:
user
- The Last.fm usernameuseRecommendations
- Iftrue
, the feed contains new releases based on Last.fm's artist recommendations for this user. Otherwise, it is based on their library (the default)apiKey
- A Last.fm API key- Returns:
- a Collection of new
Album
releases
-
getBannedTracks
public static PaginatedResult<Track> getBannedTracks(java.lang.String user, java.lang.String apiKey)
Returns the tracks banned by the user.- Parameters:
user
- The user nameapiKey
- A Last.fm API key- Returns:
- the banned tracks
-
getBannedTracks
public static PaginatedResult<Track> getBannedTracks(java.lang.String user, int page, java.lang.String apiKey)
Returns the tracks banned by the user.- Parameters:
user
- The user namepage
- The page number to fetchapiKey
- A Last.fm API key- Returns:
- the banned tracks
-
-