class UniversalDiscCache implements Cache {

	@Override
	public void put(String key, Entry entry) {
		if (key == null) {
			return;
		}
		FileOutputStream fos = null;
		try {
			File file = this.delegate.get(key);
			fos = new FileOutputStream(file);
			CacheHeader header = new CacheHeader(key, entry);
			header.writeHeader(fos);
			fos.write(entry.data);
			this.delegate.put(key, file);
			return;
		} catch (IOException e) {
			Log.e(TAG, "fail to put :" + key, e);
		} finally {
			IoUtils.closeQuietly(fos);
		}
	}

	public  UniversalDiscCache(DiscCacheAware delegate);

}