com.fitbit.api.client.service
Class FitbitAPIClientService<C extends FitbitApiClientAgent>

java.lang.Object
  extended by com.fitbit.api.client.service.FitbitAPIClientService<C>

public class FitbitAPIClientService<C extends FitbitApiClientAgent>
extends Object


Field Summary
protected  C client
           
protected  FitbitApiCredentialsCache credentialsCache
           
protected  FitbitAPIEntityCache entityCache
           
protected static org.apache.commons.logging.Log log
           
protected  String subscriberSecret
           
protected  FitbitApiSubscriptionStorage subscriptionStore
           
 
Constructor Summary
FitbitAPIClientService(C client, String consumerKey, String consumerSecret, FitbitApiCredentialsCache credentialsCache, FitbitAPIEntityCache entityCache, FitbitApiSubscriptionStorage subscriptionStore)
           
 
Method Summary
 void evictUpdatedResourcesFromCache(String subscriberId, InputStream updateMessageStream, String serverSignature)
           
 APIResourceCredentials expireResourceCredentials(LocalUserDetail user)
           
 Activities getActivities(LocalUserDetail user, org.joda.time.LocalDate date)
           
 String getCacheKey(org.joda.time.LocalDate date, APICollectionType type)
           
 C getClient()
           
 ApiRateLimitStatus getClientAndViewerRateLimitStatus(LocalUserDetail user)
           
 ApiRateLimitStatus getClientRateLimitStatus()
           
 Object getCollectionForDate(LocalUserDetail user, org.joda.time.LocalDate date, APICollectionType type)
           
 Foods getFoods(LocalUserDetail user, org.joda.time.LocalDate date)
           
 Object getFromCache(LocalUserDetail user, APIResourceCredentials credentials, String cacheKey)
           
 APIResourceCredentials getResourceCredentialsByTempToken(String tempToken)
           
 APIResourceCredentials getResourceCredentialsByUser(LocalUserDetail user)
           
 String getResourceOwnerAuthorizationURL(LocalUserDetail user, String callbackURL)
           
 void getTokenCredentials(LocalUserDetail user)
           
 void putInCache(Object result, APIResourceCredentials credentials, String cacheKey)
           
 APIResourceCredentials saveResourceCredentials(LocalUserDetail user, APIResourceCredentials resourceCredentials)
           
 SubscriptionDetail subscribe(String subscriberId, LocalUserDetail user, APICollectionType collectionType, String subscriptionId)
          Creates new subscription
 void unsubscribe(String subscriberId, LocalUserDetail user, APICollectionType collectionType, String subscriptionId)
          Removes subscription
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final org.apache.commons.logging.Log log

client

protected C extends FitbitApiClientAgent client

entityCache

protected FitbitAPIEntityCache entityCache

credentialsCache

protected FitbitApiCredentialsCache credentialsCache

subscriptionStore

protected FitbitApiSubscriptionStorage subscriptionStore

subscriberSecret

protected String subscriberSecret
Constructor Detail

FitbitAPIClientService

public FitbitAPIClientService(C client,
                              String consumerKey,
                              String consumerSecret,
                              FitbitApiCredentialsCache credentialsCache,
                              FitbitAPIEntityCache entityCache,
                              FitbitApiSubscriptionStorage subscriptionStore)
Method Detail

getClient

public C getClient()

getResourceCredentialsByUser

public APIResourceCredentials getResourceCredentialsByUser(LocalUserDetail user)

getResourceCredentialsByTempToken

public APIResourceCredentials getResourceCredentialsByTempToken(String tempToken)

saveResourceCredentials

public APIResourceCredentials saveResourceCredentials(LocalUserDetail user,
                                                      APIResourceCredentials resourceCredentials)

expireResourceCredentials

public APIResourceCredentials expireResourceCredentials(LocalUserDetail user)

getResourceOwnerAuthorizationURL

public String getResourceOwnerAuthorizationURL(LocalUserDetail user,
                                               String callbackURL)
                                        throws FitbitAPIException
Throws:
FitbitAPIException

getTokenCredentials

public void getTokenCredentials(LocalUserDetail user)
                         throws FitbitAPIException
Throws:
FitbitAPIException

getActivities

public Activities getActivities(LocalUserDetail user,
                                org.joda.time.LocalDate date)
                         throws FitbitAPIException
Throws:
FitbitAPIException

getFoods

public Foods getFoods(LocalUserDetail user,
                      org.joda.time.LocalDate date)
               throws FitbitAPIException
Throws:
FitbitAPIException

getCollectionForDate

public Object getCollectionForDate(LocalUserDetail user,
                                   org.joda.time.LocalDate date,
                                   APICollectionType type)
                            throws FitbitAPIException
Throws:
FitbitAPIException

getCacheKey

public String getCacheKey(org.joda.time.LocalDate date,
                          APICollectionType type)

getFromCache

public Object getFromCache(LocalUserDetail user,
                           APIResourceCredentials credentials,
                           String cacheKey)

putInCache

public void putInCache(Object result,
                       APIResourceCredentials credentials,
                       String cacheKey)

getClientRateLimitStatus

public ApiRateLimitStatus getClientRateLimitStatus()
                                            throws FitbitAPIException
Throws:
FitbitAPIException

getClientAndViewerRateLimitStatus

public ApiRateLimitStatus getClientAndViewerRateLimitStatus(LocalUserDetail user)
                                                     throws FitbitAPIException
Throws:
FitbitAPIException

subscribe

public SubscriptionDetail subscribe(String subscriberId,
                                    LocalUserDetail user,
                                    APICollectionType collectionType,
                                    String subscriptionId)
                             throws FitbitAPIException
Creates new subscription

Parameters:
collectionType - Collection to receive notifications from
subscriptionId - ID associated with subscription
Returns:
SubscriptionDetail
Throws:
FitbitAPIException

unsubscribe

public void unsubscribe(String subscriberId,
                        LocalUserDetail user,
                        APICollectionType collectionType,
                        String subscriptionId)
                 throws FitbitAPIException
Removes subscription

Parameters:
collectionType -
subscriptionId -
Throws:
FitbitAPIException

evictUpdatedResourcesFromCache

public void evictUpdatedResourcesFromCache(String subscriberId,
                                           InputStream updateMessageStream,
                                           String serverSignature)
                                    throws FitbitAPIException
Throws:
FitbitAPIException


Copyright © 2012. All Rights Reserved.