/**
* Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.datasource.timecache;
import org.diirt.datasource.timecache.query.Query;
import org.diirt.datasource.timecache.query.QueryParameters;
import org.diirt.vtype.VType;
/**
* Cache main interface: creates and manages all {@link PVCache}. Initialises
* {@link Query} with the corresponding {@link PVCache}.
* @author Fred Arnaud (Sopra Group) - ITER
*/
public interface Cache {
/**
* Creates a new {@link Query}.
* @param channelName channel to be requested.
* @param type VType of data to be pulled by the query.
* @param parameters {@link QueryParameters}.
* @return initialised query without data.
*/
public <V extends VType> Query createQuery(String channelName,
Class<V> type, QueryParameters parameters);
public void addConfig(Parameter p, CacheConfig config);
public void removeConfig(Parameter p);
public void setStatisticsEnabled(boolean enabled);
public CacheStatistics getStatistics();
public void flush();
}