CloudPlugs REST Library  1.0.0
for Android
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 CChannelTool class for easy channel manipulation. This class is for internal usage
 CConstTool class containing internal default values and options. This class is for internal usage
 CErrHandlerClass for handling thrown exceptions during an asynchronous execution of this library
 CJsonTool class to simplify operations on JSON objects and strings. This is for internal usage
 CListenerBasic interface for receiving generic asyncronous CloudPlugs notifications and events
 CListListenerThis class is a list of Listeners. It's a convenient way to handle more listeners using just one
 CMetaListenerConvenient class encapsulates a Listener and acts just like the encapsulated one, but it also invokes the Listener#onErr(Throwable) method if the encapsulated listener throws an exception
 CMultiListenerConvenient class combines the behaviors and the advantages of ListListener and MetaListener: this is an instance of MetaListener encapsulates a ListListener
 CRestBaseManagerBase class for handling HTTP requests. This class is not intended for direct usage, the developer should use a subclass of this one.

An instance of this class will also emit events about the internal spooler behavoir, so that any attached com.cloudplugs.util.Listener to a RestBaseManager will be notified about what's happening in the execution flow.

See also RestManager
 CRestManagerClass for handling remote requests with CloudPlugs server
 CRestClientThis is the main class for handling the connection to the CloudPlugs server on the Java platform.

An instance of RestClient manages the HTTP requests flow by creating a thread spooler for each server to connect. Such spooler will send enqueued HTTP requests one by one following the FIFO order. An instance of this class will also emit events about the internal spooler behavior, so that any attached com.cloudplugs.util.Listener to a RestClient will be notified about what's happening in the execution flow.

The primary usage of this class is to invoke the method getManager(Opts) for obtaining an instance of RestManager able to enqueue asynchronous HTTP requests (executed in an underlying thread spooler) using the preferred options Opts.

Android developers should avoid a direct use of this class, they should use com.cloudplugs.rest.android.RestClient (unavailable on Java platform), because it supports reliable background execution of HTTP requests through a dedicated Android service and CPU wake locks. By using a direct instance of this class, an Android app could lose the ability to send HTTP requests and to receive the responses when the app is not in foreground
 CRestClientA com.cloudplugs.rest.RestClient extension for Android. It implements an automatic and transparent mechanism to create an Android service for reliable background execution. The underlying spooler (if any) will automatically be paused and resumed respectively when the Internet connectivity became unavailable and available.
See com.cloudplugs.rest.RestClient for further details about the RestClient usage
 CSpoolerGeneric job spooler implementation in a dedicated thread. This class is for internal usage
 CRefSpoolerA extension of Spooler with reference-counted start and stop. This class is for internal usage
 CRestSpoolerA thread spooler for asynchronous sending of HTTP requests. This class is for internal usage
 CRestSpoolerA com.cloudplugs.rest.RestSpooler extension to handle Android wake locks for reliable execution when the application is not in foreground. This class is for internal usage
 COptsAn instance of this class contains all the options for connecting and making requests to the server, including the authentication credentials required for most HTTP requests. This class mainly offers getter and setter methods to manage all the options
 CPlugIdTool class for easy PlugID validation. This class is for internal usage
 CRequestAn instance of this class is a HTTP request to send or already sent to the server
 CResponseAn instance of this class is a HTTP response received by the server or a generic error response
 CRestCallbackAn instance of this interface will asynchronously receive the results of a HTTP request execution enqueued using one of the methods in RestManager
 CRestCallback.MetaHelper class for easy dealing between threads when using RestCallback
 CRestHandlerCallbackHelper class for easy management of com.cloudplugs.rest.RestCallback with android.os.Handler. It is a wrapper of a custom com.cloudplugs.rest.RestCallback such that it will be executed inside an android.os.Handler
 CRunnable
 CRestJobAn instance of this class is an enqueued request execution obtained by RestBaseManager#getJobOf(int)
 CSpoolerGeneric job spooler implementation in a dedicated thread. This class is for internal usage
 CRuntimeException
 CPlugExceptionA generic exception of CloudPlugs library
 CRestExceptionAn exception thrown by REST CloudPlugs API
 CSSLTool class for easy manipulation of CA certificates over the SSL network. The developer should avoid a direct usage of this class when connecting to an official CloudPlugs server
 CStrTool class to simplify some String operations. This class is for internal usage
 CTimestampTool class for easy Timestamp validation and handling. This class is for internal usage
 CValidateTool class for validating parameters for making remote requests. Every method throws an IllegalArgumentException if the given argument is not valid. This class is for internal usage
 CBroadcastReceiver
 CBaseReceiverHelper class of BaseService to allow asynchronous release of Android wake locks. This class is for internal usage
 CFuture
 CRestJobAn instance of this class is an enqueued request execution obtained by RestBaseManager#getJobOf(int)
 CLinkedList
 CListListenerThis class is a list of Listeners. It's a convenient way to handle more listeners using just one
 CService
 CBaseServiceBase service class to handle background execution with an automatic mechanism of Android CPU wake locks. This class is for internal usage
 CRestServiceAn Android service for reliable sending of HTTP requests. This class is for internal usage. Do not create nor destroy this service directly, it is automatically managed by RestClient.

You need to declare this exact service in your AndroidManifest.xml to have it works, so add the following line inside the <application> tag: