Class User


  • public class User
    extends ImageHolder
    Contains user information and provides bindings to the methods in the user. namespace.
    Author:
    Janni Kovacs
    • 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 of
        artist - The artist name you are interested in
        apiKey - 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 of
        artist - The artist name you are interested in
        page - An integer used to fetch a specific page of tracks
        startTimestamp - An unix timestamp to start at
        endTimestamp - An unix timestamp to end at
        apiKey - 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 Events
      • 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 Events
      • 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 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 to
        apiKey - 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 username
        apiKey - 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 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
      • 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 username
        apiKey - 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 username
        useRecommendations - If true, 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 name
        apiKey - 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 name
        page - The page number to fetch
        apiKey - A Last.fm API key
        Returns:
        the banned tracks