// Path: resourcesmanager-core/src/main/java/com/gemserk/resources/Resource.java
// public class Resource<T> {
// 
// 	T data = null;
// 
// 	DataLoader<T> dataLoader;
// 
// 	protected Resource(DataLoader<T> dataLoader) {
// 		this(dataLoader, true);
// 	}
// 
// 	protected Resource(DataLoader<T> dataLoader, boolean deferred) {
// 		this.dataLoader = dataLoader;
// 		if (!deferred)
// 			reload();
// 	}
// 
// 	/**
// 	 * Returns the data stored by the Resource.
// 	 */
// 	public T get() {
// 		if (!isLoaded())
// 			load();
// 		return data;
// 	}
// 	
// 	public void set(T data) {
// 		this.data = data;
// 	}
// 
// 	public DataLoader<T> getDataLoader() {
// 		return dataLoader;
// 	}
// 	
// 	public void setDataLoader(DataLoader<T> dataLoader) {
// 		unload();
// 		this.dataLoader = dataLoader;
// 	}
// 
// 	/**
// 	 * Reloads the internal data by calling unload and load().
// 	 */
// 	public void reload() {
// 		unload();
// 		load();
// 	}
// 
// 	/**
// 	 * Loads the data if it wasn't loaded yet, it does nothing otherwise.
// 	 */
// 	public void load() {
// 		if (!isLoaded())
// 			data = dataLoader.load();
// 	}
// 
// 	/**
// 	 * Unloads the data by calling the DataLoader.unload(t) method.
// 	 */
// 	public void unload() {
// 		if (isLoaded()) {
// 			dataLoader.unload(data);
// 			data = null;
// 		}
// 	}
// 
// 	/**
// 	 * Returns true if the data is loaded, false otherwise.
// 	 */
// 	public boolean isLoaded() {
// 		return data != null;
// 	}
// 
// 	public Resource<T> clone() {
// 		return new Resource<T>(dataLoader);
// 	}
// 
// }
// 
// Path: resourcesmanager-core/src/main/java/com/gemserk/resources/dataloaders/DataLoader.java
// public abstract class DataLoader<T> {
// 
// 	/**
// 	 * Implements how to load the data.
// 	 */
// 	public abstract T load();
// 
// 	/**
// 	 * Implements how to unload the data, if it is nod automatic and you need to unload stuff by hand.
// 	 */
// 	public void unload(T t) {
// 
// 	}
// 
// 	/**
// 	 * Provides a way to return custom information about the data loader.
// 	 * 
// 	 * @return An object with the custom information.
// 	 */
// 	public Object getMetaData() {
// 		return null;
// 	}
// 
// }


import java.awt.Font;
import com.gemserk.resources.Resource;
import com.gemserk.resources.dataloaders.DataLoader;
package com.gemserk.resources.java2d.dataloaders;



public class DerivedFontLoader extends DataLoader<Font> {

	private final float size;

	private final int sytle;

	private final Resource<Font> fontResource;

	public DerivedFontLoader(Resource<Font> fontResource, float size, int style) {
		this.fontResource = fontResource;
		this.size = size;
		this.sytle = style;
	}

// Path: resourcesmanager-core/src/main/java/com/gemserk/resources/Resource.java
// public class Resource<T> {
// 
// 	T data = null;
// 
// 	DataLoader<T> dataLoader;
// 
// 	protected Resource(DataLoader<T> dataLoader) {
// 		this(dataLoader, true);
// 	}
// 
// 	protected Resource(DataLoader<T> dataLoader, boolean deferred) {
// 		this.dataLoader = dataLoader;
// 		if (!deferred)
// 			reload();
// 	}
// 
// 	/**
// 	 * Returns the data stored by the Resource.
// 	 */
// 	public T get() {
// 		if (!isLoaded())
// 			load();
// 		return data;
// 	}
// 	
// 	public void set(T data) {
// 		this.data = data;
// 	}
// 
// 	public DataLoader<T> getDataLoader() {
// 		return dataLoader;
// 	}
// 	
// 	public void setDataLoader(DataLoader<T> dataLoader) {
// 		unload();
// 		this.dataLoader = dataLoader;
// 	}
// 
// 	/**
// 	 * Reloads the internal data by calling unload and load().
// 	 */
// 	public void reload() {
// 		unload();
// 		load();
// 	}
// 
// 	/**
// 	 * Loads the data if it wasn't loaded yet, it does nothing otherwise.
// 	 */
// 	public void load() {
// 		if (!isLoaded())
// 			data = dataLoader.load();
// 	}
// 
// 	/**
// 	 * Unloads the data by calling the DataLoader.unload(t) method.
// 	 */
// 	public void unload() {
// 		if (isLoaded()) {
// 			dataLoader.unload(data);
// 			data = null;
// 		}
// 	}
// 
// 	/**
// 	 * Returns true if the data is loaded, false otherwise.
// 	 */
// 	public boolean isLoaded() {
// 		return data != null;
// 	}
// 
// 	public Resource<T> clone() {
// 		return new Resource<T>(dataLoader);
// 	}
// 
// }
// 
// Path: resourcesmanager-core/src/main/java/com/gemserk/resources/dataloaders/DataLoader.java
// public abstract class DataLoader<T> {
// 
// 	/**
// 	 * Implements how to load the data.
// 	 */
// 	public abstract T load();
// 
// 	/**
// 	 * Implements how to unload the data, if it is nod automatic and you need to unload stuff by hand.
// 	 */
// 	public void unload(T t) {
// 
// 	}
// 
// 	/**
// 	 * Provides a way to return custom information about the data loader.
// 	 * 
// 	 * @return An object with the custom information.
// 	 */
// 	public Object getMetaData() {
// 		return null;
// 	}
// 
// }


// Path: resourcesmanager-java2dmodule/src/main/java/com/gemserk/resources/java2d/dataloaders/DerivedFontLoader.java
import java.awt.Font;
import com.gemserk.resources.Resource;
import com.gemserk.resources.dataloaders.DataLoader;

package com.gemserk.resources.java2d.dataloaders;



public class DerivedFontLoader extends DataLoader<Font> {

	private final float size;

	private final int sytle;

	private final Resource<Font> fontResource;

	public DerivedFontLoader(Resource<Font> fontResource, float size, int style) {
		this.fontResource = fontResource;
		this.size = size;
		this.sytle = style;
	}

	@Override