/*
You may freely copy, distribute, modify and use this class as long
as the original author attribution remains intact. See message
below.
Copyright (C) 2003 Christian Pesch. All Rights Reserved.
*/
package slash.metamusic.freedb;
import slash.metamusic.discid.DiscId;
import slash.metamusic.util.FileCache;
import java.io.IOException;
import java.util.Set;
import java.util.logging.Logger;
/**
* Base class to register CDs and validate queries to FreeDB.
*
* @author Christian Pesch
* @version $Id: RegisterBase.java 743 2006-03-17 13:49:36Z cpesch $
*/
abstract class RegisterBase {
/**
* Logging output
*/
protected static Logger log;
static final String REGISTER_FILE_NAME = "register.ser";
private FileCache fileCache = new FileCache();
public RegisterBase() {
log = Logger.getLogger(getClass().getName());
}
public void setCacheDirectoryName(String cacheDirectoryName) {
fileCache.setCacheDirectoryName(cacheDirectoryName);
}
protected Set<DiscId> readDiscIds() throws IOException {
return (Set<DiscId>) fileCache.getFileAsObject(REGISTER_FILE_NAME);
}
protected void writeDiscIds(Set discIds) throws IOException {
fileCache.putAsObject(REGISTER_FILE_NAME, discIds);
}
}