package kakuro.server.tablefactory;
import kakuro.server.ISkeletonTable;
import kakuro.server.ITableFactory;
import kakuro.table.ITable;
import kakuro.table.SimpleTable;
import kakuro.table.FixedTable;
/**
* Primitív singleton stub, nem csinál semmit, akármit kérünk tőle mindig egy
* fix táblát (SimpleTable) ad vissza. Csak tesztelésre szolgál!
*/
public class SimpleTableFactory implements ITableFactory {
/** singleton példány */
private static final SimpleTableFactory _instance = new SimpleTableFactory();
/** Szándékosan privát egyetlen konstruktor */
private SimpleTableFactory() {
}
/** Singleton példány lekérő függvény. */
public static SimpleTableFactory getInstance() {
return _instance;
}
/** Nincs implementálva */
public ISkeletonTable generateSkeleton(int skillLevel) {
return null;
}
/** Bedrótozott implementáció, könnyű szinten {@link SimpleTable}-t gyárt, amúgy {@link FixedTable}-t. */
public ITable generateTable(int skillLevel) {
if (skillLevel == ITable.DIFFICULTY_EASY)
return new SimpleTable();
return new FixedTable();
}
/** Bedrótozott implementáció, könnyű szinten {@link SimpleTable}-t gyárt, amúgy {@link FixedTable}-t. */
public ITable populateSkeleton(ISkeletonTable skeleton) {
if (skeleton.getDifficulty() == ITable.DIFFICULTY_EASY)
return new SimpleTable();
return new FixedTable();
}
}