# Class TwitterRESTService

java.lang.Object
com.codename1.io.ConnectionRequest
com.codename1.io.services.TwitterRESTService

All Implemented Interfaces:
  `IOProgressListener`

public class TwitterRESTService extends ConnectionRequest
Calls to the Twitter REST API can be performed via this class although currently support for authentication isn't implemented due to the transition to oAuth instead of basic authentication.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class ConnectionRequest

  `ConnectionRequest.CachingMode, ConnectionRequest.SSLCertificate`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `METHOD_TWEETS`
  `static final String`
  `METHOD_USER_TIMELINE`

  ### Fields inherited from class ConnectionRequest

  `PRIORITY_CRITICAL, PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_NORMAL, PRIORITY_REDUNDANT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TwitterRESTService(String method)`
  The constructor accepts the method to invoke
  `TwitterRESTService(String method, boolean post)`
  The constructor accepts the method to invoke
  `TwitterRESTService(String method, String version, boolean post)`
  The constructor accepts the method to invoke

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object o)`
  `String`
  `getIdStr()`
  Gets the id string of the first entry which is important if we want to set the id to start with in the next request
  `Hashtable<String,Object>`
  `getParseTree()`
  Returns the full Hashtable parse tree read from the server
  `Hashtable<String,Object>`
  `getStatus(int offset)`
  Returns the status at the given offset
  `int`
  `getStatusesCount()`
  Returns the number of statuses within the response
  `int`
  `hashCode()`
  `static String`
  `initToken(String consumerKey, String consumerSecret)`
  Logs in to twitter as an application
  `protected void`
  `readResponse(InputStream input)`
  Callback for the server response with the input stream from the server.
  `static void`
  `setToken(String token)`
  For every request twitter now needs an authorization token

  ### Methods inherited from class ConnectionRequest

  `addArgument, addArgument, addArgument, addArgumentArray, addArgumentNoEncoding, addArgumentNoEncoding, addArgumentNoEncodingArray, addArguments, addExceptionListener, addRequestHeader, addResponseCodeListener, addResponseListener, buildRequestBody, cacheUnmodified, canGetSSLCertificates, checkSSLCertificates, cookieReceived, cookieSent, createRequestURL, downloadImageToFileSystem, downloadImageToFileSystem, downloadImageToFileSystem, downloadImageToFileSystem, downloadImageToFileSystem, downloadImageToFileSystem, downloadImageToStorage, downloadImageToStorage, downloadImageToStorage, downloadImageToStorage, downloadImageToStorage, downloadImageToStorage, fetchJSON, fetchJSONAsync, fireResponseListener, getCachedData, getCacheMode, getContentLength, getContentType, getCookieHeader, getDefaultCacheMode, getDefaultUserAgent, getDestinationFile, getDestinationStorage, getDisposeOnCompletion, getHeader, getHeaderFieldNames, getHeaders, getHttpMethod, getPriority, getReadTimeout, getRequestBody, getRequestBodyData, getResponseCode, getResponseContentType, getResponseData, getResponseErrorMessage, getResposeCode, getShowOnInit, getSilentRetryCount, getSSLCertificates, getTimeout, getUrl, getUserAgent, getYield, handleErrorResponseCode, handleException, handleIOException, handleRuntimeException, hasResponseListeners, initConnection, initCookieHeader, ioStreamUpdate, isCheckSSLCertificates, isCookiesEnabled, isCookiesEnabledDefault, isDefaultFollowRedirects, isDuplicateSupported, isFailSilently, isFollowRedirects, isHandleErrorCodesInGlobalErrorHandler, isInsecure, isKilled, isNativeCookieSharingSupported, isPausable, isPaused, isPost, isReadRequest, isReadResponseForErrors, isReadResponseForErrorsDefault, isReadTimeoutSupported, isRedirecting, isWriteRequest, kill, onRedirect, pause, postResponse, purgeCache, purgeCacheDirectory, readErrorCodeHeaders, readHeaders, removeAllArguments, removeArgument, removeExceptionListener, removeResponseCodeListener, removeResponseListener, resume, retry, setCacheMode, setCheckSSLCertificates, setChunkedStreamingMode, setContentType, setCookieHeader, setCookiesEnabled, setCookiesEnabledDefault, setDefaultCacheMode, setDefaultFollowRedirects, setDefaultUserAgent, setDestinationFile, setDestinationStorage, setDisposeOnCompletion, setDuplicateSupported, setFailSilently, setFollowRedirects, setHandleErrorCodesInGlobalErrorHandler, setHttpMethod, setInsecure, setKilled, setPaused, setPost, setPriority, setReadRequest, setReadResponseForErrors, setReadResponseForErrorsDefault, setReadTimeout, setRequestBody, setRequestBody, setShowOnInit, setSilentRetryCount, setTimeout, setUrl, setUseNativeCookieStore, setUserAgent, setWriteRequest, shouldAutoCloseResponse, shouldConvertPostToGetOnRedirect, shouldStop, shouldWriteUTFAsGetBytes, validate`

  ### Methods inherited from class Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### METHOD_USER_TIMELINE

    public static final String METHOD_USER_TIMELINE
    See Also:
      - Constant Field Values

  - ### METHOD_TWEETS

    public static final String METHOD_TWEETS
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### TwitterRESTService

    public TwitterRESTService(String method)

    The constructor accepts the method to invoke

    ###### Parameters

    - `method`: the api method to invoke e.g. "statuses/public_timeline"

  - ### TwitterRESTService

    public TwitterRESTService(String method, boolean post)

    The constructor accepts the method to invoke

    ###### Parameters

    - `method`: the api method to invoke e.g. "statuses/public_timeline"

    - `post`: true for post requests and false for get request

  - ### TwitterRESTService

    public TwitterRESTService(String method, String version, boolean post)

    The constructor accepts the method to invoke

    ###### Parameters

    - `method`: the api method to invoke e.g. "statuses/public_timeline"

    - `version`: the API version to send e.g. "1"

    - `post`: true for post requests and false for get request

- ## Method Details

  - ### initToken

    public static String initToken(String consumerKey, String consumerSecret)

    Logs in to twitter as an application

    ###### Parameters

    - `consumerKey`: the key to login with

    - `consumerSecret`: the secret to to login with

    ###### Returns

    the authorization token

  - ### setToken

    public static void setToken(String token)

    For every request twitter now needs an authorization token

    ###### Parameters

    - `token`: the token

  - ### equals

    public boolean equals(Object o)
    Description copied from class: `ConnectionRequest`
    Overrides:
      `equals` in class `ConnectionRequest`

  - ### hashCode

    public int hashCode()
    Description copied from class: `ConnectionRequest`
    Overrides:
      `hashCode` in class `ConnectionRequest`

  - ### readResponse

    protected void readResponse(InputStream input) throws IOException

    Callback for the server response with the input stream from the server. This method is invoked on the network thread

    ###### Parameters

    - `input`: the input stream containing the response

    ###### Throws

    - `IOException`: when a read input occurs
    Overrides:
      `readResponse` in class `ConnectionRequest`
    Throws:
      `IOException`

  - ### getParseTree

    public Hashtable<String,Object> getParseTree()

    Returns the full Hashtable parse tree read from the server

    ###### Returns

    the parse tree

  - ### getStatusesCount

    public int getStatusesCount()

    Returns the number of statuses within the response

    ###### Returns

    the number of statuses

  - ### getStatus

    public Hashtable<String,Object> getStatus(int offset)

    Returns the status at the given offset

    ###### Parameters

    - `offset`: the offset for the status

    ###### Returns

    the status hashtable

  - ### getIdStr

    public String getIdStr()

    Gets the id string of the first entry which is important if we want to set the id to start with in the next request

    ###### Returns

    the id of the first entry