All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.deviceatlas.cloud.deviceidentification.cacheprovider.CacheProvider Maven / Gradle / Ivy

Go to download

DeviceAtlas is the world's fastest, most accurate device detection solution providing real-time information on all mobile and other devices accessing the web.

The newest version!
/*
 * The MIT License (MIT)
 *
 * Copyright (c) 2016 Afilias Technologies Ltd
 *
 * Permission is hereby granted, free of charge, to any person obtaining a 
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom
 * the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
 * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */


package com.deviceatlas.cloud.deviceidentification.cacheprovider;

import java.util.List;

/**
 * Cache Provider interface. 
 *
 * @author Afilias Technologies Ltd
 */
public interface CacheProvider {
    /**
     * Getting an entry on the cache
     * @param key key of the cache entry
     * @param  cache entry
     * @throws CacheException when there is cache issues getting by key
     * @return Object
     */
     T get(String key) throws CacheException;

    /**
     * Adding an entry to the cache
     * @param key key of the cache entry
     * @param entry cache entry
     * @param  cache entry
     * @throws CacheException when there is cache issues setting an element
     */
     void set(String key, T entry) throws CacheException;

    /**
     * Removes an entry in the cache
     * @param key key of the cache entry
     * @throws CacheException when there is cache issues removing an entry
     */
    void remove(String key) throws CacheException;

    /**
     * Entirely clear the cache content
     */
    void clear();

    /**
     * Shutdown the general cache framework
     */
    void shutdown();

    /**
     * Returns all keys from a given cache
     * @return List
     */
    List getKeys();

    /**
     * Reconfigure the expiry after
     * @param expiry cache time life in minutes
     */
    void setExpiry(int expiry);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy