/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package egc.res;
import java.io.File;
/**
*
* @author easy
*/
public class FileResourceManager extends SampleResourceManager {
/***/
public interface Convert<T extends ByteBufferConvertResource> {
/***/
T convert(File file);
/**key,key type -> key,FileFileSystem
*
*/
Object createKey(File file);
}
FileSystem sys;
public FileResourceManager(FileSystem sys) {
this.sys = sys;
}
/**type resource class.<br/>
* wil-> wil<br/>
* wilclass -> WilResource.class<br/>
* mapping(wil,wilResClz,wilFileCvt)wil
* WilResource.class,ResourceManager.getResource(WilResource,key)
*/
public <T extends ByteBufferConvertResource> void mapping(Object type, Class<T> clz, Convert<T> cnvt) {
if (!getFileSystem().isLoaded()) {
getFileSystem().load();
}
if (cnvt != null) {
File[] files = getFileSystem().getFiles(type);
for (File file : files) {
T t = cnvt.convert(file);
setResource(clz, cnvt.createKey(file), t);
}
}
}
/***/
public FileSystem getFileSystem() {
return sys;
}
}
|