package engine.utility;
import engine.implementation.SimpleClock;
import engine.implementation.SimpleFont;
import engine.implementation.SimpleImage;
import engine.implementation.SimpleKeyboard;
import engine.implementation.SimpleMouse;
import engine.implementation.SimpleMusic;
import engine.implementation.SimpleSound;
import engine.interfaces.Clock;
import engine.interfaces.Font;
import engine.interfaces.Image;
import engine.interfaces.Keyboard;
import engine.interfaces.Mouse;
import engine.interfaces.Music;
import engine.interfaces.Sound;
import engine.interfaces.Font.Style;
public final class Factory {
public static Clock makeClock() {
return new SimpleClock();
}
public static Keyboard makeKeyboard() {
return new SimpleKeyboard();
}
public static Mouse makeMouse() {
return new SimpleMouse();
}
public static Image makeImage(final int width, final int height) {
return new SimpleImage(width, height);
}
public static Image makeImage(final String filename) {
return new SimpleImage(filename);
}
public static Sound makeSound(final String filename) {
return new SimpleSound(filename);
}
public static Music makeMusic(final String filename) {
return new SimpleMusic(filename);
}
public static Font makeFont(final String name, final Style style, final int size) {
return new SimpleFont(name, style, size);
}
private Factory() {
throw new UnsupportedOperationException();
}
}