blob: 0c88a820625601ea9ca3310d6028ddb51d075681 [file] [log] [blame]
package org.eclipse.dltk.core.caching;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import org.eclipse.dltk.core.environment.IFileHandle;
public interface IContentCache {
String STRUCTURE_INDEX = "_sind";
String MIXIN_INDEX = "_smix";
String CONTENT_INDEX = "content";
String VALID_ATTRIBUTE = "valid";
/*
* Methods to store content attributes
*/
public InputStream getCacheEntryAttribute(IFileHandle handle,
String attribute);
/**
* @since 2.0
*/
public InputStream getCacheEntryAttribute(IFileHandle handle,
String attribute, boolean localonly);
public OutputStream getCacheEntryAttributeOutputStream(IFileHandle handle,
String attribute);
public String getCacheEntryAttributeString(IFileHandle handle,
String attribute);
/**
* @since 2.0
*/
public String getCacheEntryAttributeString(IFileHandle handle,
String attribute, boolean localonly);
public boolean setCacheEntryAttribute(IFileHandle handle, String attribute,
String value);
public void removeCacheEntryAttributes(IFileHandle handle, String attribute);
public void clearCacheEntryAttributes(IFileHandle handle);
public File getEntryAsFile(IFileHandle handle, String attribute);
public void clear();
public boolean setCacheEntryAttribute(IFileHandle entryHandle,
String attribute, long timestamp);
public long getCacheEntryAttributeLong(IFileHandle entryHandle,
String attribute);
/**
* @since 2.0
*/
public long getCacheEntryAttributeLong(IFileHandle entryHandle,
String attribute, boolean localonly);
/**
* @since 2.0
*/
public void updateFolderTimestamps(IFileHandle parent);
}