FileResourceManager.java :  » Game » easy-game-client » egc » res » Java Open Source

Java Open Source » Game » easy game client 
easy game client » egc » res » FileResourceManager.java
/*
 * 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;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.