Android Open Source - js-android-sdk Static Cache Helper






From Project

Back to project page js-android-sdk.

License

The source code is released under:

GNU Lesser General Public License

If you think the Android project js-android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jaspersoft.android.sdk.util;
//  w w  w  .jav a2 s .co m
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

/**
 * @author Tom Koptel
 * @since 1.9
 */
public class StaticCacheHelper {

    private static final long TIME_TO_LIVE = TimeUnit.MINUTES.toMillis(20);

    private static final Map<String, Element> cacheMap = new HashMap<String, Element>();

    /**
     * Retrieves an item from the cache. If found, the method compares
     * the object's expiration date to the current time and only returns
     * the object if the expiration date has not passed.
     *
     * @param cacheKey
     * @return
     */
    public static Object retrieveObjectFromCache(String cacheKey) {
        Element e = cacheMap.get(cacheKey);
        Object o = null;
        if (e != null) {
            Date now = new Date();
            if (e.getExpirationDate().after(now)) {
                o = e.getObject();
            } else {
                removeCacheItem(cacheKey);
            }
        }
        return o;
    }

    /**
     * Stores an object in the cache, wrapped by an Element object.
     * The Element object has an expiration date, which will be set to
     * now + this class' TIME_TO_LIVE setting.
     *
     * @param cacheKey
     * @param object
     */
    public static void storeObjectInCache(String cacheKey, Object object) {
        Date expirationDate = new Date(System.currentTimeMillis() + TIME_TO_LIVE);
        Element e = new Element(object, expirationDate);
        cacheMap.put(cacheKey, e);
    }

    /**
     * Stores an object in the cache, wrapped by an Element object.
     * The Element object has an expiration date, which will be set to
     * now + the timeToLiveInMilliseconds value that is passed into the method.
     *
     * @param cacheKey
     * @param object
     * @param timeToLiveInMilliseconds
     */
    public static void storeObjectInCache(String cacheKey, Object object, int timeToLiveInMilliseconds) {
        Date expirationDate = new Date(System.currentTimeMillis() + timeToLiveInMilliseconds);
        Element e = new Element(object, expirationDate);
        cacheMap.put(cacheKey, e);
    }

    public static void removeCacheItem(String cacheKey) {
        cacheMap.remove(cacheKey);
    }

    public static void clearCache() {
        cacheMap.clear();
    }

    static class Element {

        private Object object;
        private Date expirationDate;

        /**
         * @param object
         * @param key
         * @param expirationDate
         */
        private Element(Object object, Date expirationDate) {
            super();
            this.object = object;
            this.expirationDate = expirationDate;
        }
        /**
         * @return the object
         */
        public Object getObject() {
            return object;
        }
        /**
         * @param object the object to set
         */
        public void setObject(Object object) {
            this.object = object;
        }
        /**
         * @return the expirationDate
         */
        public Date getExpirationDate() {
            return expirationDate;
        }
        /**
         * @param expirationDate the expirationDate to set
         */
        public void setExpirationDate(Date expirationDate) {
            this.expirationDate = expirationDate;
        }
    }
}




Java Source Code List

com.jaspersoft.android.sdk.client.JsRestClient.java
com.jaspersoft.android.sdk.client.JsServerProfile.java
com.jaspersoft.android.sdk.client.async.JsAsyncTaskManager.java
com.jaspersoft.android.sdk.client.async.JsOnTaskCallbackListener.java
com.jaspersoft.android.sdk.client.async.JsProgressTracker.java
com.jaspersoft.android.sdk.client.async.JsXmlSpiceService.java
com.jaspersoft.android.sdk.client.async.request.BaseRequest.java
com.jaspersoft.android.sdk.client.async.request.CheckReportStatusRequest.java
com.jaspersoft.android.sdk.client.async.request.DeleteResourceRequest.java
com.jaspersoft.android.sdk.client.async.request.GetRootFolderDataRequest.java
com.jaspersoft.android.sdk.client.async.request.ModifyResourceRequest.java
com.jaspersoft.android.sdk.client.async.request.ReportDetailsRequest.java
com.jaspersoft.android.sdk.client.async.request.RunReportExecutionRequest.java
com.jaspersoft.android.sdk.client.async.request.RunReportExportOutputRequest.java
com.jaspersoft.android.sdk.client.async.request.RunReportExportsRequest.java
com.jaspersoft.android.sdk.client.async.request.SaveExportAttachmentRequest.java
com.jaspersoft.android.sdk.client.async.request.SaveExportOutputRequest.java
com.jaspersoft.android.sdk.client.async.request.SaveReportAttachmentRequest.java
com.jaspersoft.android.sdk.client.async.request.SaveReportAttachmentsRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.BaseInputControlsRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.CacheableRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.GetInputControlsRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.GetInputControlsValuesRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.GetReportRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.GetResourceLookupsRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.GetResourceRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.GetResourcesRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.GetServerInfoRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.SearchResourcesRequest.java
com.jaspersoft.android.sdk.client.async.request.cacheable.ValidateInputControlsValuesRequest.java
com.jaspersoft.android.sdk.client.async.task.DeleteResourceAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.GetInputControlsAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.GetReportAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.GetResourceAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.GetResourcesListAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.GetServerInfoAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.JsAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.JsRestAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.ModifyResourceAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.SaveReportAttachmentAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.SaveReportAttachmentsAsyncTask.java
com.jaspersoft.android.sdk.client.async.task.SearchResourcesAsyncTask.java
com.jaspersoft.android.sdk.client.ic.InputControlWrapper.java
com.jaspersoft.android.sdk.client.oxm.ReportAttachment.java
com.jaspersoft.android.sdk.client.oxm.ReportDescriptor.java
com.jaspersoft.android.sdk.client.oxm.ResourceDescriptor.java
com.jaspersoft.android.sdk.client.oxm.ResourceParameter.java
com.jaspersoft.android.sdk.client.oxm.ResourceProperty.java
com.jaspersoft.android.sdk.client.oxm.ResourcesList.java
com.jaspersoft.android.sdk.client.oxm.control.InputControlOption.java
com.jaspersoft.android.sdk.client.oxm.control.InputControlState.java
com.jaspersoft.android.sdk.client.oxm.control.InputControlStatesList.java
com.jaspersoft.android.sdk.client.oxm.control.InputControl.java
com.jaspersoft.android.sdk.client.oxm.control.InputControlsList.java
com.jaspersoft.android.sdk.client.oxm.control.validation.DateTimeFormatValidationRule.java
com.jaspersoft.android.sdk.client.oxm.control.validation.MandatoryValidationRule.java
com.jaspersoft.android.sdk.client.oxm.control.validation.ValidationRule.java
com.jaspersoft.android.sdk.client.oxm.control.validation.ValidationRulesList.java
com.jaspersoft.android.sdk.client.oxm.converter.ReportStatusConverter.java
com.jaspersoft.android.sdk.client.oxm.report.ErrorDescriptor.java
com.jaspersoft.android.sdk.client.oxm.report.ExecutionRequest.java
com.jaspersoft.android.sdk.client.oxm.report.ExportExecution.java
com.jaspersoft.android.sdk.client.oxm.report.ExportsRequest.java
com.jaspersoft.android.sdk.client.oxm.report.FolderDataResponse.java
com.jaspersoft.android.sdk.client.oxm.report.ReportDataResponse.java
com.jaspersoft.android.sdk.client.oxm.report.ReportExecutionRequest.java
com.jaspersoft.android.sdk.client.oxm.report.ReportExecutionResponse.java
com.jaspersoft.android.sdk.client.oxm.report.ReportOutputResource.java
com.jaspersoft.android.sdk.client.oxm.report.ReportParameter.java
com.jaspersoft.android.sdk.client.oxm.report.ReportParametersList.java
com.jaspersoft.android.sdk.client.oxm.report.ReportStatusResponse.java
com.jaspersoft.android.sdk.client.oxm.report.ReportStatus.java
com.jaspersoft.android.sdk.client.oxm.resource.ResourceLookupSearchCriteria.java
com.jaspersoft.android.sdk.client.oxm.resource.ResourceLookup.java
com.jaspersoft.android.sdk.client.oxm.resource.ResourceLookupsList.java
com.jaspersoft.android.sdk.client.oxm.server.ServerInfo.java
com.jaspersoft.android.sdk.integration.CheckReportStatusRequestTest.java
com.jaspersoft.android.sdk.integration.GetRootFolderDataRequestTest.java
com.jaspersoft.android.sdk.integration.ReportDetailsRequestTest.java
com.jaspersoft.android.sdk.integration.RunReportExportsRequestTest.java
com.jaspersoft.android.sdk.integration.utils.ProtoInstrumentation.java
com.jaspersoft.android.sdk.integration.utils.SampleData.java
com.jaspersoft.android.sdk.ui.adapters.FileArrayAdapter.java
com.jaspersoft.android.sdk.ui.adapters.ResourceDescriptorArrayAdapter.java
com.jaspersoft.android.sdk.ui.adapters.ResourceDescriptorComparator.java
com.jaspersoft.android.sdk.ui.adapters.ResourceLookupArrayAdapter.java
com.jaspersoft.android.sdk.ui.adapters.ResourceLookupComparator.java
com.jaspersoft.android.sdk.ui.adapters.ResourceLookupEndlessAdapter.java
com.jaspersoft.android.sdk.ui.adapters.ResourcePropertyArrayAdapter.java
com.jaspersoft.android.sdk.ui.widget.MultiSelectSpinner.java
com.jaspersoft.android.sdk.util.CookieHttpRequestInterceptor.java
com.jaspersoft.android.sdk.util.FileUtils.java
com.jaspersoft.android.sdk.util.KeepAliveHttpRequestInterceptor.java
com.jaspersoft.android.sdk.util.LocalesHttpRequestInterceptor.java
com.jaspersoft.android.sdk.util.StaticCacheHelper.java