public class Caller extends Object
Caller
class handles the low-level communication between the client and last.fm.Artist
, Album
, User
, etc. classes.
If specialized calls which are not covered by the Java API are necessary this class may be used directly.Proxy
and a custom User-Agent
HTTP header.Modifier and Type | Method and Description |
---|---|
Result |
call(String method,
Session session,
Map<String,String> params) |
Result |
call(String method,
Session session,
String... params) |
Result |
call(String method,
String apiKey,
Map<String,String> params) |
Result |
call(String method,
String apiKey,
String... params) |
Cache |
getCache()
Returns the current
Cache . |
static Caller |
getInstance()
Returns the single instance of the
Caller class. |
Result |
getLastResult()
Returns the
Result of the last operation, or null if no call operation has been
performed yet. |
Proxy |
getProxy() |
String |
getUserAgent() |
boolean |
isDebugMode() |
HttpURLConnection |
openConnection(String url)
Creates a new
HttpURLConnection , sets the proxy, if available, and sets the User-Agent property. |
void |
setApiRootUrl(String apiRootUrl)
Set api root url.
|
void |
setCache(Cache cache)
Sets the active
Cache . |
void |
setDebugMode(boolean debugMode)
Sets the
debugMode property. |
void |
setProxy(Proxy proxy)
Sets a
Proxy instance this Caller will use for all upcoming HTTP requests. |
void |
setUserAgent(String userAgent)
Sets a User Agent this Caller will use for all upcoming HTTP requests.
|
public static Caller getInstance()
Caller
class.Caller
public void setApiRootUrl(String apiRootUrl)
apiRootUrl
- new api root urlpublic void setProxy(Proxy proxy)
Proxy
instance this Caller will use for all upcoming HTTP requests. May be null
.proxy
- A Proxy
or null
.public void setUserAgent(String userAgent)
userAgent
- a User-Agent stringpublic void setDebugMode(boolean debugMode)
debugMode
property. If debugMode
is true
all call() methods
will print debug information and error messages on failure to stdout and stderr respectively.false
. Set this to true
while in development and for troubleshooting.debugMode
- true
to enable debug modepublic void setCache(Cache cache)
Cache
. May be null
to disable caching.cache
- the new Cache or null
public Result call(String method, String apiKey, String... params) throws CallException
CallException
public Result call(String method, String apiKey, Map<String,String> params) throws CallException
CallException
public Result getLastResult()
Result
of the last operation, or null
if no call operation has been
performed yet.public HttpURLConnection openConnection(String url) throws IOException
HttpURLConnection
, sets the proxy, if available, and sets the User-Agent property.url
- URL to connect toIOException
- if an I/O exception occurs.public Proxy getProxy()
public String getUserAgent()
public boolean isDebugMode()