package com.github.dtschust.zork.parser.builders;
import com.github.dtschust.zork.ZorkCondition;
import com.github.dtschust.zork.ZorkTrigger;
import com.github.dtschust.zork.types.ZorkContainer;
import com.github.dtschust.zork.types.ZorkCreature;
import com.github.dtschust.zork.types.ZorkItem;
import com.github.dtschust.zork.types.ZorkRoom;
/**
* Inversion of control for Zork parse strategies
*/
public final class Parsers {
private static final ZorkParseStrategy<ZorkCondition> condition = new ZorkConditionParseStrategy();
private static final ZorkParseStrategy<ZorkTrigger> trigger = new ZorkTriggerListParseStrategy(condition);
public static final ZorkParseStrategy<ZorkContainer> container = new ZorkContainerParseStrategy(trigger);
public static final ZorkParseStrategy<ZorkItem> item = new ZorkItemParseStrategy(trigger);
public static final ZorkParseStrategy<ZorkRoom> room = new ZorkRoomParseStrategy(trigger);
public static final ZorkParseStrategy<ZorkCreature> creature = new ZorkCreatureParseStrategy(condition, trigger);
private Parsers() {
}