net.rim.pushsdk.subscription
Interface SubscriptionDAO

All Known Implementing Classes:
SubMemoryDAOImpl, SubRDBMSDAOImpl

public interface SubscriptionDAO

Data access object for subscribers.

Author:
mdandrea

Method Summary
 void batchIncrementConsecutiveFailedPushCount(List<SubscriberPartial> subscribers)
          Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.
 void batchResetConsecutiveFailedPushCount(List<SubscriberPartial> subscribers)
          Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.
 void deleteInactiveSubscription(String pushApplicationId, String subscriberId)
          Deletes an inactive (unsubscribed) subscription from persistent storage.
 void deleteSubscriptions(String pushApplicationId)
          Deletes all the subscriptions from storage (and potentially the cache) for a push application.
 List<SubscriberPartial> findByAddressAndIdAndNotStatus(String address, String subscriberId, SubscriberStatus status)
          Finds a list of subscribers with the specified address and the specified subscriber id and NOT the specified status.
 List<SubscriberPartial> findByAddressAndNotIdAndNotStatus(String address, String subscriberId, SubscriberStatus status)
          Finds a list of subscribers with the specified address and NOT the specified subscriber id and NOT the specified status.
 List<SubscriberPartial> findByAppId(String pushApplicationId, int startIndex, int endIndex)
          Finds a list of subscribers with the specified push application id.
 List<SubscriberPartial> findByAppIdAndAddress(String pushApplicationId, String address)
          Finds a list of subscribers with the specified address and push application id.
 Subscriber findByAppIdAndId(String pushApplicationId, String subscriberId)
          Finds the subscriber with the specified id and push application id.
 SubscriberPartial findByAppIdAndIdPartial(String pushApplicationId, String subscriberId)
          Similar to the findByAppIdAndId method, but only finds a subscriber with partial information.
 List<SubscriberPartial> findByAppIdAndIdsAndStatus(String pushApplicationId, List<String> subscriberIds, SubscriberStatus status)
          Finds a list of subscribers for the given push application id that are in the specified subscriber id list with the specified status.
 List<SubscriberPartial> findByAppIdAndStatus(String pushApplicationId, SubscriberStatus status, int startIndex, int endIndex)
          Finds a list of subscribers with the specified push application id and status.
 List<SubscriberPartial> findByAppIdAndType(String pushApplicationId, SubscriberType type, int startIndex, int endIndex)
          Finds a list of subscribers with the specified push application id and type.
 List<SubscriberPartial> findByAppIdAndTypeAndStatus(String pushApplicationId, SubscriberType type, SubscriberStatus status, int startIndex, int endIndex)
          Finds a list of subscribers with the specified push application id, type, and status.
 List<SubscriberPartial> findById(String subscriberId)
          Finds a list of subscribers with the specified id.
 List<SubscriberPartial> findByIdAndNotStatus(String subscriberId, SubscriberStatus status)
          Finds a list of subscribers with the specified id and NOT the specified status.
 List<SubscriberPartial> findByIdAndStatus(String subscriberId, SubscriberStatus status)
          Finds a list of subscribers with the specified id and status.
 List<SubscriberPartial> findByIdPattern(String subscriberIdPattern, int startIndex, int endIndex)
          Finds a list of subscribers whose id contains the given subscriberIdPattern.
 int getConsecutiveFailedPushCount(SubscriberPartial subscriber)
          Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.
 List<DeviceModelCount> getDeviceModelCount(String pushApplicationId)
          Gets a count of the number of users of a push application (regardless of status) for each BlackBerry device model.
 List<DeviceModelCount> getDeviceModelCount(String pushApplicationId, SubscriberStatus status)
          Gets a count of the number of users of a push application with a given status for each BlackBerry device model.
 List<OsVersionCount> getOsVersionCount(String pushApplicationId)
          Gets a count of the number of users of a push application (regardless of status) for each OS version running on a BlackBerry device.
 List<OsVersionCount> getOsVersionCount(String pushApplicationId, SubscriberStatus status)
          Gets a count of the number of users of a push application with a given status for each OS version running on a BlackBerry device.
 int getResumeCount(String pushApplicationId, Date fromDate, Date toDate)
          Gets a count of the number of users that had their subscriptions resumed for an application between the given date range.
 int getSizeByAppId(String pushApplicationId)
          Gets a count of all the subscribers in storage with the specified push application id.
 int getSizeByAppIdAndStatus(String pushApplicationId, SubscriberStatus status)
          Gets a count of all the subscribers in storage with the specified push application id and status.
 int getSizeByAppIdAndType(String pushApplicationId, SubscriberType type)
          Gets a count of all the subscribers in storage with the specified push application id and type.
 int getSizeByAppIdAndTypeAndStatus(String pushApplicationId, SubscriberType type, SubscriberStatus status)
          Gets a count of all the subscribers in storage with the specified push application id, type, and status.
 int getSizeByIdPattern(String subscriberIdPattern)
          Gets a count of all the subscribers in storage whose id contains the given subscriberIdPattern.
 int getSubscribeCount(String pushApplicationId, Date fromDate, Date toDate)
          Gets a count of the number of new subscribers for a given date range.
 int getSuspendCount(String pushApplicationId, Date fromDate, Date toDate)
          Gets a count of the number of users that had their subscriptions suspended for an application between the given date range.
 int getUnsubscribeCount(String pushApplicationId, Date fromDate, Date toDate)
          Gets a count of the number of users that unsubscribed between the given date range.
 void incrementConsecutiveFailedPushCount(String pushApplicationId, String subscriberId)
          Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.
 SubscriberPartial loadFromCache(String pushApplicationId, String subscriberId)
          Attempts to load a partial subscriber from the cache or from memory (for in-memory implementations).
 void resetConsecutiveFailedPushCount(String pushApplicationId, String subscriberId)
          Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.
 void resubscribe(SubscribeRequest subscribeRequest)
          Adds a subscriber's resubscription details to persistent storage.
 void resume(ResumeRequest resumeRequest)
          Adds a subscriber's resume subscription details to persistent storage.
 void subscribe(SubscribeRequest subscribeRequest)
          Adds a subscriber's subscription details to persistent storage.
 void suspend(SuspendRequest suspendRequest)
          Adds a subscriber's suspended subscription details to persistent storage.
 void unsubscribe(UnsubscribeRequest unsubscribeRequest)
          Adds a subscriber's unsubscription details to persistent storage.
 

Method Detail

subscribe

void subscribe(SubscribeRequest subscribeRequest)
               throws org.springframework.dao.DataAccessException
Adds a subscriber's subscription details to persistent storage.

Parameters:
subscribeRequest - object containing all the information required for a subscribe
Throws:
org.springframework.dao.DataAccessException - if any errors occur

resubscribe

void resubscribe(SubscribeRequest subscribeRequest)
                 throws org.springframework.dao.DataAccessException
Adds a subscriber's resubscription details to persistent storage.

Parameters:
subscribeRequest - object containing all the information required for a resubscribe
Throws:
org.springframework.dao.DataAccessException - if any errors occur

unsubscribe

void unsubscribe(UnsubscribeRequest unsubscribeRequest)
                 throws org.springframework.dao.DataAccessException
Adds a subscriber's unsubscription details to persistent storage.

Parameters:
unsubscribeRequest - object containing all the information required for an unsubscribe
Throws:
org.springframework.dao.DataAccessException - if any errors occur

suspend

void suspend(SuspendRequest suspendRequest)
             throws org.springframework.dao.DataAccessException
Adds a subscriber's suspended subscription details to persistent storage.

Parameters:
suspendRequest - object containing all the information required for a suspend
Throws:
org.springframework.dao.DataAccessException - if any errors occur

resume

void resume(ResumeRequest resumeRequest)
            throws org.springframework.dao.DataAccessException
Adds a subscriber's resume subscription details to persistent storage.

Parameters:
resumeRequest - object containing all the information required for a resume
Throws:
org.springframework.dao.DataAccessException - if any errors occur

deleteInactiveSubscription

void deleteInactiveSubscription(String pushApplicationId,
                                String subscriberId)
                                throws org.springframework.dao.DataAccessException
Deletes an inactive (unsubscribed) subscription from persistent storage.

Parameters:
pushApplicationId - the id of the push application
subscriberId - the id of the subscriber
Throws:
org.springframework.dao.DataAccessException - if any errors occur

deleteSubscriptions

void deleteSubscriptions(String pushApplicationId)
                         throws org.springframework.dao.DataAccessException
Deletes all the subscriptions from storage (and potentially the cache) for a push application.

Note: This method should be used with caution as it will remove ALL subscriptions regardless of their status.

Parameters:
pushApplicationId - the id of the push application
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAppIdAndId

Subscriber findByAppIdAndId(String pushApplicationId,
                            String subscriberId)
                            throws org.springframework.dao.DataAccessException
Finds the subscriber with the specified id and push application id.

Parameters:
pushApplicationId - the id of the push application
subscriberId - the id of the subscriber
Returns:
the subscriber, if found; otherwise, null
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAppIdAndAddress

List<SubscriberPartial> findByAppIdAndAddress(String pushApplicationId,
                                              String address)
                                              throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified address and push application id.

Parameters:
pushApplicationId - the id of the push application
address - the address of the subscriber (case insensitive)
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAddressAndNotIdAndNotStatus

List<SubscriberPartial> findByAddressAndNotIdAndNotStatus(String address,
                                                          String subscriberId,
                                                          SubscriberStatus status)
                                                          throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified address and NOT the specified subscriber id and NOT the specified status.

Parameters:
address - the address of the subscriber (case insensitive)
subscriberId - the id of the subscriber
status - a subscriber status
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAddressAndIdAndNotStatus

List<SubscriberPartial> findByAddressAndIdAndNotStatus(String address,
                                                       String subscriberId,
                                                       SubscriberStatus status)
                                                       throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified address and the specified subscriber id and NOT the specified status.

Parameters:
address - the address of the subscriber (case insensitive)
subscriberId - the id of the subscriber
status - a subscriber status
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findById

List<SubscriberPartial> findById(String subscriberId)
                                 throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified id.

Parameters:
subscriberId - the id of the subscriber
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByIdAndStatus

List<SubscriberPartial> findByIdAndStatus(String subscriberId,
                                          SubscriberStatus status)
                                          throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified id and status.

Parameters:
subscriberId - the id of the subscriber
status - a subscriber status
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByIdAndNotStatus

List<SubscriberPartial> findByIdAndNotStatus(String subscriberId,
                                             SubscriberStatus status)
                                             throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified id and NOT the specified status.

Parameters:
subscriberId - the id of the subscriber
status - a subscriber status
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAppId

List<SubscriberPartial> findByAppId(String pushApplicationId,
                                    int startIndex,
                                    int endIndex)
                                    throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified push application id. Note: Index arguments are present to address memory concerns, since if we retrieve a full list it might be quite large. Indexes are inclusive and start at 0.

Parameters:
pushApplicationId - the id of the push application
startIndex - the index of the first entry to be retrieved
endIndex - the index of the last entry to be retrieved
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getSizeByAppId

int getSizeByAppId(String pushApplicationId)
                   throws org.springframework.dao.DataAccessException
Gets a count of all the subscribers in storage with the specified push application id.

Parameters:
pushApplicationId - the id of the push application
Returns:
a count of subscribers
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAppIdAndStatus

List<SubscriberPartial> findByAppIdAndStatus(String pushApplicationId,
                                             SubscriberStatus status,
                                             int startIndex,
                                             int endIndex)
                                             throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified push application id and status. Note: Index arguments are present to address memory concerns, since if we retrieve a full list it might be quite large. Indexes are inclusive and start at 0.

Parameters:
pushApplicationId - the id of the push application
status - a subscriber status
startIndex - the index of the first entry to be retrieved
endIndex - the index of the last entry to be retrieved
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getSizeByAppIdAndStatus

int getSizeByAppIdAndStatus(String pushApplicationId,
                            SubscriberStatus status)
                            throws org.springframework.dao.DataAccessException
Gets a count of all the subscribers in storage with the specified push application id and status.

Parameters:
pushApplicationId - the id of the push application
status - a subscriber status
Returns:
a count of subscribers
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAppIdAndIdsAndStatus

List<SubscriberPartial> findByAppIdAndIdsAndStatus(String pushApplicationId,
                                                   List<String> subscriberIds,
                                                   SubscriberStatus status)
                                                   throws org.springframework.dao.DataAccessException
Finds a list of subscribers for the given push application id that are in the specified subscriber id list with the specified status. (e.g. find all subscribers that match the ids in the passed in list that for the given push application are active)

Parameters:
pushApplicationId - the id of the push application
subscriberIds - only subscribers with one of these ids will be returned
status - only subscribers that match this status will be returned
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAppIdAndType

List<SubscriberPartial> findByAppIdAndType(String pushApplicationId,
                                           SubscriberType type,
                                           int startIndex,
                                           int endIndex)
                                           throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified push application id and type. Note: Index arguments are present to address memory concerns, since if we retrieve a full list it might be quite large. Indexes are inclusive and start at 0.

Parameters:
pushApplicationId - the id of the push application
type - the type of a subscriber
startIndex - the index of the first entry to be retrieved
endIndex - the index of the last entry to be retrieved
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur
Since:
1.1

getSizeByAppIdAndType

int getSizeByAppIdAndType(String pushApplicationId,
                          SubscriberType type)
                          throws org.springframework.dao.DataAccessException
Gets a count of all the subscribers in storage with the specified push application id and type.

Parameters:
pushApplicationId - the id of the push application
type - the type of a subscriber
Returns:
a count of subscribers
Throws:
org.springframework.dao.DataAccessException - if any errors occur
Since:
1.1

findByAppIdAndTypeAndStatus

List<SubscriberPartial> findByAppIdAndTypeAndStatus(String pushApplicationId,
                                                    SubscriberType type,
                                                    SubscriberStatus status,
                                                    int startIndex,
                                                    int endIndex)
                                                    throws org.springframework.dao.DataAccessException
Finds a list of subscribers with the specified push application id, type, and status. Note: Index arguments are present to address memory concerns, since if we retrieve a full list it might be quite large. Indexes are inclusive and start at 0.

Parameters:
pushApplicationId - the id of the push application
type - the type of a subscriber
status - the status of a subscriber
startIndex - the index of the first entry to be retrieved
endIndex - the index of the last entry to be retrieved
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur
Since:
1.1

getSizeByAppIdAndTypeAndStatus

int getSizeByAppIdAndTypeAndStatus(String pushApplicationId,
                                   SubscriberType type,
                                   SubscriberStatus status)
                                   throws org.springframework.dao.DataAccessException
Gets a count of all the subscribers in storage with the specified push application id, type, and status.

Parameters:
pushApplicationId - the id of the push application
type - the type of a subscriber
status - the status of a subscriber
Returns:
a count of subscribers
Throws:
org.springframework.dao.DataAccessException - if any errors occur
Since:
1.1

incrementConsecutiveFailedPushCount

@Deprecated
void incrementConsecutiveFailedPushCount(String pushApplicationId,
                                                    String subscriberId)
                                         throws org.springframework.dao.DataAccessException
Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.

Increments the count of consecutive failed push counts for a subscriber by 1.

Parameters:
pushApplicationId - the id of the push application
subscriberId - the id of the subscriber
Throws:
org.springframework.dao.DataAccessException - if any errors occur

resetConsecutiveFailedPushCount

@Deprecated
void resetConsecutiveFailedPushCount(String pushApplicationId,
                                                String subscriberId)
                                     throws org.springframework.dao.DataAccessException
Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.

Resets the count of consecutive failed push counts for a subscriber back to 0.

Parameters:
pushApplicationId - the id of the push application
subscriberId - the id of the subscriber
Throws:
org.springframework.dao.DataAccessException - if any errors occur

batchIncrementConsecutiveFailedPushCount

@Deprecated
void batchIncrementConsecutiveFailedPushCount(List<SubscriberPartial> subscribers)
                                              throws org.springframework.dao.DataAccessException
Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.

Batch increments the count of consecutive failed push counts for subscribers by 1.

Parameters:
subscribers - list of subscribers to increment count
Throws:
org.springframework.dao.DataAccessException - if any errors occur

batchResetConsecutiveFailedPushCount

@Deprecated
void batchResetConsecutiveFailedPushCount(List<SubscriberPartial> subscribers)
                                          throws org.springframework.dao.DataAccessException
Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.

Batch resets the count of consecutive failed push counts for subscribers back to 0.

Parameters:
subscribers - list of subscribers to reset count
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getConsecutiveFailedPushCount

@Deprecated
int getConsecutiveFailedPushCount(SubscriberPartial subscriber)
                                  throws org.springframework.dao.DataAccessException
Deprecated. As of release 1.1, the SDK will no longer keep a count of consecutive failed pushes when result notification is received from the PPG. If this functionality is desired it should be implemented by push initiator's themselves by subclassing the FailureNotificationListener from the acknowledgement component. The SDK no longer keeps this count because the public/BIS PPG will be implementing this logic on the platform side instead. For enterprise/BES the push initiator must implement the logic if desired.

Gets the count of consecutive failed push for a subscriber.

Parameters:
subscriber - SubscriberPartial object with push application id and subscriber id set
Returns:
consecutive failed push count
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByIdPattern

List<SubscriberPartial> findByIdPattern(String subscriberIdPattern,
                                        int startIndex,
                                        int endIndex)
                                        throws org.springframework.dao.DataAccessException
Finds a list of subscribers whose id contains the given subscriberIdPattern.

Note: Index arguments are present to address memory concerns, since if we retrieve a full list it might be quite large. Indexes are inclusive and start at 0.

Parameters:
subscriberIdPattern - a whole or partial subscriberId to match
startIndex - the index of the first entry to be retrieved
endIndex - the index of the last entry to be retrieved
Returns:
a list of subscribers, if found; otherwise, an empty list
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getSizeByIdPattern

int getSizeByIdPattern(String subscriberIdPattern)
                       throws org.springframework.dao.DataAccessException
Gets a count of all the subscribers in storage whose id contains the given subscriberIdPattern.

Parameters:
subscriberIdPattern - a whole or partial subscriberId to match
Returns:
a count of subscribers
Throws:
org.springframework.dao.DataAccessException - if any errors occur

findByAppIdAndIdPartial

SubscriberPartial findByAppIdAndIdPartial(String pushApplicationId,
                                          String subscriberId)
                                          throws org.springframework.dao.DataAccessException
Similar to the findByAppIdAndId method, but only finds a subscriber with partial information.

Parameters:
pushApplicationId - the id of the push application
subscriberId - the id of the subscriber
Returns:
a partial subscriber
Throws:
org.springframework.dao.DataAccessException - if any errors occur

loadFromCache

SubscriberPartial loadFromCache(String pushApplicationId,
                                String subscriberId)
Attempts to load a partial subscriber from the cache or from memory (for in-memory implementations). Returns null if the partial subscriber could not be found in the cache or if no cache is being used.

Parameters:
pushApplicationId - the id of the push application
subscriberId - the id of the subscriber
Returns:
a partial subscriber from the cache, or null if it cannot be found

getSubscribeCount

int getSubscribeCount(String pushApplicationId,
                      Date fromDate,
                      Date toDate)
                      throws org.springframework.dao.DataAccessException
Gets a count of the number of new subscribers for a given date range.

This will be determined based on those individuals that have a subscribe date between the two dates specified.

Parameters:
pushApplicationId - the id of the push application
fromDate - inclusive from date parameter of the range
toDate - inclusive to date parameter of the range
Returns:
a count of the number of new subscribers
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getUnsubscribeCount

int getUnsubscribeCount(String pushApplicationId,
                        Date fromDate,
                        Date toDate)
                        throws org.springframework.dao.DataAccessException
Gets a count of the number of users that unsubscribed between the given date range.

This will be determined based on those individuals that have an unsubscribe date between the two dates specified.

Parameters:
pushApplicationId - the id of the push application
fromDate - inclusive from date parameter of the range
toDate - inclusive to date parameter of the range
Returns:
a count of the number of users that unsubscribed
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getResumeCount

int getResumeCount(String pushApplicationId,
                   Date fromDate,
                   Date toDate)
                   throws org.springframework.dao.DataAccessException
Gets a count of the number of users that had their subscriptions resumed for an application between the given date range.

This will be determined based on those individuals that have a resume date between the two dates specified.

Parameters:
pushApplicationId - the id of the push application
fromDate - inclusive from date parameter of the range
toDate - inclusive to date parameter of the range
Returns:
a count of the number of users that had their subscriptions resumed
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getSuspendCount

int getSuspendCount(String pushApplicationId,
                    Date fromDate,
                    Date toDate)
                    throws org.springframework.dao.DataAccessException
Gets a count of the number of users that had their subscriptions suspended for an application between the given date range.

This will be determined based on those individuals that have a suspend date between the two dates specified.

Parameters:
pushApplicationId - the id of the push application
fromDate - inclusive from date parameter of the range
toDate - inclusive to date parameter of the range
Returns:
a count of the number of users that had their subscriptions suspended
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getDeviceModelCount

List<DeviceModelCount> getDeviceModelCount(String pushApplicationId)
                                           throws org.springframework.dao.DataAccessException
Gets a count of the number of users of a push application (regardless of status) for each BlackBerry device model.

Parameters:
pushApplicationId - the id of the push application
Returns:
a list of device model count objects
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getDeviceModelCount

List<DeviceModelCount> getDeviceModelCount(String pushApplicationId,
                                           SubscriberStatus status)
                                           throws org.springframework.dao.DataAccessException
Gets a count of the number of users of a push application with a given status for each BlackBerry device model.

Parameters:
pushApplicationId - the id of the push application
status - the status of a subscriber
Returns:
a list of device model count objects
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getOsVersionCount

List<OsVersionCount> getOsVersionCount(String pushApplicationId)
                                       throws org.springframework.dao.DataAccessException
Gets a count of the number of users of a push application (regardless of status) for each OS version running on a BlackBerry device.

Parameters:
pushApplicationId - the id of the push application
Returns:
a list of OS version count objects
Throws:
org.springframework.dao.DataAccessException - if any errors occur

getOsVersionCount

List<OsVersionCount> getOsVersionCount(String pushApplicationId,
                                       SubscriberStatus status)
                                       throws org.springframework.dao.DataAccessException
Gets a count of the number of users of a push application with a given status for each OS version running on a BlackBerry device.

Parameters:
pushApplicationId - the id of the push application
status - the status of a subscriber
Returns:
a list of OS version count objects
Throws:
org.springframework.dao.DataAccessException - if any errors occur


Copyright © 2011 Research In Motion. All Rights Reserved.