Class InMemoryLocalStorage

  • All Implemented Interfaces:
    LocalStorage

    public class InMemoryLocalStorage
    extends java.lang.Object
    implements LocalStorage
    Used internally to provide a volatile storage of data that may be saved later on the device.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​com.swrve.sdk.localstorage.SwrveCacheItem>> cachePerUserId  
      protected java.util.Map<java.lang.String,​java.util.List<com.swrve.sdk.localstorage.SwrveEventItem>> eventsPerUserId  
    • Field Detail

      • eventsPerUserId

        protected java.util.Map<java.lang.String,​java.util.List<com.swrve.sdk.localstorage.SwrveEventItem>> eventsPerUserId
      • cachePerUserId

        protected java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​com.swrve.sdk.localstorage.SwrveCacheItem>> cachePerUserId
    • Constructor Detail

      • InMemoryLocalStorage

        public InMemoryLocalStorage()
    • Method Detail

      • addEvent

        public long addEvent​(java.lang.String userId,
                             java.lang.String eventJSON)
        Specified by:
        addEvent in interface LocalStorage
      • removeEvents

        public void removeEvents​(java.lang.String userId,
                                 java.util.Collection<java.lang.Long> ids)
        Specified by:
        removeEvents in interface LocalStorage
      • getFirstNEvents

        public java.util.LinkedHashMap<java.lang.Long,​java.lang.String> getFirstNEvents​(java.lang.Integer n,
                                                                                              java.lang.String userId)
        Specified by:
        getFirstNEvents in interface LocalStorage
      • getCacheItem

        public com.swrve.sdk.localstorage.SwrveCacheItem getCacheItem​(java.lang.String userId,
                                                                      java.lang.String category)
        Specified by:
        getCacheItem in interface LocalStorage
      • setCacheEntry

        public void setCacheEntry​(java.lang.String userId,
                                  java.lang.String category,
                                  java.lang.String rawData)
        Specified by:
        setCacheEntry in interface LocalStorage
      • getSecureCacheEntryForUser

        public java.lang.String getSecureCacheEntryForUser​(java.lang.String userId,
                                                           java.lang.String category,
                                                           java.lang.String uniqueKey)
                                                    throws java.lang.SecurityException
        Specified by:
        getSecureCacheEntryForUser in interface LocalStorage
        Throws:
        java.lang.SecurityException
      • setSecureCacheEntryForUser

        public void setSecureCacheEntryForUser​(java.lang.String userId,
                                               java.lang.String category,
                                               java.lang.String rawData,
                                               java.lang.String signature)
        Specified by:
        setSecureCacheEntryForUser in interface LocalStorage
      • saveUser

        public void saveUser​(com.swrve.sdk.SwrveUser swrveUser)
        Specified by:
        saveUser in interface LocalStorage
      • deleteUser

        public void deleteUser​(java.lang.String swrveUserId)
        Specified by:
        deleteUser in interface LocalStorage
      • getUserByExternalUserId

        public com.swrve.sdk.SwrveUser getUserByExternalUserId​(java.lang.String externalUserId)
        Specified by:
        getUserByExternalUserId in interface LocalStorage
      • getUserBySwrveUserId

        public com.swrve.sdk.SwrveUser getUserBySwrveUserId​(java.lang.String swrveUserId)
        Specified by:
        getUserBySwrveUserId in interface LocalStorage
      • saveOfflineCampaign

        public void saveOfflineCampaign​(java.lang.String userId,
                                        java.lang.String campaignId,
                                        java.lang.String campaignData)
        Specified by:
        saveOfflineCampaign in interface LocalStorage
      • getOfflineCampaign

        public java.lang.String getOfflineCampaign​(java.lang.String userId,
                                                   java.lang.String campaignId)
        Specified by:
        getOfflineCampaign in interface LocalStorage