package tk.amberide.ide.data.res;
import java.io.File;
/**
*
* @author Tudor
*/
public class Resource<T> {
private T resource;
private String name;
private File source;
private int type;
public static final int TILESET = 0x0001;
public static final int AUDIO = 0x0010;
public static final int MODEL = 0x0100;
public static final int ALL = TILESET | AUDIO | MODEL;
public Resource(T resource, String name, File source, int type) {
this.resource = resource;
this.type = type;
this.name = name;
this.source = source;
}
public T get() {
return resource;
}
public String getName() {
return name;
}
public File getSource() {
return source;
}
public int getType() {
return type;
}
@ResourceListener(type = Resource.ALL, event = ResourceListener.IMPORT)
public void resourceLoaded(Resource<T> resource) {
switch(resource.getType()) {
case Resource.AUDIO:
case Resource.MODEL:
case Resource.TILESET:
System.out.println("Loaded a resource! It's value is: " + resource.get());
}
}
}