/*
 * $Id: Cleaner.java,v 1.2 2004/11/10 15:02:49 koppy Exp $
 *
 * Copyright (c) Siemens AG 2008 
 *           (c) Universität Paderborn 2008 
 * Licensed under EUPL 1.1. 
 *
 * $Log: Cleaner.java,v $
 * Revision 1.2  2004/11/10 15:02:49  koppy
 * Projektweite Überarbeitung von Error-Logs, Stacktraces,..
 *
 * Revision 1.1  2003/11/21 14:46:36  koppy
 * Initiale Version
 *
 *
 */
package vkc.server.archive;

/**
 * Schnittstelle für die Implementierung eines Cleaners
 * für das Datenlager
 * 
 * @author koppy
 */
public interface Cleaner {

	/**
	 * Gibt das Minedestalter für zu löschende Dateien zurück.
	 * d.h. Dateien die jünger sind als die 
	 * werden nicht gelöscht, (obwohl sie es könnten)
	 *  
	 * @return #Millisekunden für zu löschende Dateien
	 */
	public long getMinimumAge();
	
	/**
	 * Gibt die Anzahl der Millisekunden zurück, die
	 * zwischen je 2 Aufräumzyklen liegt.
	 * @return #Millisekunden
	 */
	public long getCleaningPeriod();
	
	/**
	 * Räumt das gegebene Datenlager auf
	 * 
	 * @param dataStore Datenlager, dass aufgeräumt werden soll
	 */
	public void cleanDataStore( DataStore dataStore );
}
