# 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)`
  Indicates whether some other object is "equal to" this one.
  `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()`
  Returns a hash code value for the object.
  `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, removeRequestHeader, removeRequestHeaderIfUnchanged, 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, 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`
    Indicates whether some other object is "equal to" this one. The equals method implements an equivalence relation: It is reflexive: for any reference value x, x.equals(x) should return true. It is symmetric: for any reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: for any reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the object is modified. For any non-null reference value x, x.equals(null) should return false. The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any reference values x and y, this method returns true if and only if x and y refer to the same object (x==y has the value true).
    Overrides:
      `equals` in class `ConnectionRequest`

  - ### hashCode

    public int hashCode()
    Description copied from class: `ConnectionRequest`
    Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable. The general contract of hashCode is: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result. It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables. As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
    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