net.roarsoftware.lastfm
Class User

java.lang.Object
  extended by net.roarsoftware.lastfm.ImageHolder
      extended by net.roarsoftware.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 net.roarsoftware.lastfm.ImageHolder
imageUrls
 
Method Summary
 int getAge()
           
 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 getImageURL()
           
static User getInfo(Session session)
          Retrieves profile information about the current authenticated user.
 java.lang.String getLanguage()
           
static java.util.Collection<Track> getLovedTracks(java.lang.String user, java.lang.String apiKey)
          Gets the last 50 tracks loved 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)
           
 int getNumPlaylists()
           
static PaginatedResult<Event> getPastEvents(java.lang.String user, int page, int limit, 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.
static java.util.Collection<Track> getRecentTracks(java.lang.String user, int limit, java.lang.String apiKey)
           
static java.util.Collection<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, int limit, Session session)
           
static PaginatedResult<Event> getRecommendedEvents(int page, Session session)
           
static PaginatedResult<Event> getRecommendedEvents(Session session)
           
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<java.lang.String> getTopTags(java.lang.String user, int limit, java.lang.String apiKey)
           
static java.util.Collection<java.lang.String> 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 net.roarsoftware.lastfm.ImageHolder
availableSizes, getImageURL, loadImages
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getName

public java.lang.String getName()

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()

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 java.util.Collection<Track> getRecentTracks(java.lang.String user,
                                                          java.lang.String apiKey)

getRecentTracks

public static java.util.Collection<Track> getRecentTracks(java.lang.String user,
                                                          int limit,
                                                          java.lang.String apiKey)

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<java.lang.String> getTopTags(java.lang.String user,
                                                                java.lang.String apiKey)

getTopTags

public static java.util.Collection<java.lang.String> 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 Events

getPastEvents

public static PaginatedResult<Event> getPastEvents(java.lang.String user,
                                                   int page,
                                                   int limit,
                                                   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.
limit - The number of events to return per page.
apiKey - A Last.fm API key.
Returns:
a list of past Events

getRecommendedEvents

public static PaginatedResult<Event> getRecommendedEvents(Session session)

getRecommendedEvents

public static PaginatedResult<Event> getRecommendedEvents(int page,
                                                          Session session)

getRecommendedEvents

public static PaginatedResult<Event> getRecommendedEvents(int page,
                                                          int limit,
                                                          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 use Playlist.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 java.util.Collection<Track> getLovedTracks(java.lang.String user,
                                                         java.lang.String apiKey)
Gets the last 50 tracks loved by a user.

Parameters:
user - The user name to fetch the loved tracks for.
apiKey - A Last.fm API key.
Returns:
the loved tracks

getInfo

public static User getInfo(Session session)
Retrieves profile information about the current authenticated user.

Parameters:
session - A Session instance
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 Artists

getRecommendedArtists

public static PaginatedResult<Artist> getRecommendedArtists(int page,
                                                            Session session)
Get Last.fm artist recommendations for a user.

Parameters:
page - The page to fetch
session - A Session instance
Returns:
a list of Artists

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 on
message - The message to post to the shoutbox
session - A Session instance
Returns:
the result of the operation