com.jaspersoft.android.jaspermobile.network.cookie.AppCookieStore.java Source code

Java tutorial

Introduction

Here is the source code for com.jaspersoft.android.jaspermobile.network.cookie.AppCookieStore.java

Source

/*
 * Copyright  2016 TIBCO Software,Inc.All rights reserved.
 * http://community.jaspersoft.com/project/jaspermobile-android
 *
 * Unless you have purchased a commercial license agreement from TIBCO Jaspersoft,
 * the following license terms apply:
 *
 * This program is part of TIBCO Jaspersoft Mobile for Android.
 *
 * TIBCO Jaspersoft Mobile is free software:you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation,either version 3of the License,or
 * (at your option)any later version.
 *
 * TIBCO Jaspersoft Mobile is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY;without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with TIBCO Jaspersoft Mobile for Android.If not,see
 * <http://www.gnu.org/licenses/lgpl>.
 */

package com.jaspersoft.android.jaspermobile.network.cookie;

import android.support.annotation.NonNull;

import org.jetbrains.annotations.TestOnly;

import java.net.HttpCookie;
import java.net.URI;
import java.util.List;

/**
 * @author Tom Koptel
 * @since 2.3
 */
final class AppCookieStore implements CookieStorage {
    private final WebViewCookieStore mWebViewCookieStore;
    private final java.net.CookieStore mStore;
    private final org.apache.http.client.CookieStore mLegacyStore;

    @TestOnly
    public AppCookieStore(WebViewCookieStore webViewCookieStore, java.net.CookieStore persistentStore,
            org.apache.http.client.CookieStore legacyStore) {
        mWebViewCookieStore = webViewCookieStore;
        mStore = persistentStore;
        mLegacyStore = legacyStore;
    }

    @Override
    public void add(URI uri, HttpCookie cookie) {
        mStore.add(uri, cookie);
        mWebViewCookieStore.add(uri.toString(), cookie.toString());
    }

    @Override
    public List<HttpCookie> get(URI uri) {
        return mStore.get(uri);
    }

    @Override
    public List<HttpCookie> getCookies() {
        return mStore.getCookies();
    }

    @Override
    public List<URI> getURIs() {
        return mStore.getURIs();
    }

    @Override
    public boolean remove(URI uri, HttpCookie cookie) {
        boolean result = mStore.remove(uri, cookie);
        mWebViewCookieStore.removeCookie(uri.toString());
        return result;
    }

    @Override
    public boolean removeAll() {
        mLegacyStore.clear();
        boolean result = mStore.removeAll();
        mWebViewCookieStore.removeAllCookies();
        return result;
    }

    @NonNull
    @Override
    public org.apache.http.client.CookieStore getApacheCookieStore() {
        return mLegacyStore;
    }
}