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 condition = new ZorkConditionParseStrategy(); private static final ZorkParseStrategy trigger = new ZorkTriggerListParseStrategy(condition); public static final ZorkParseStrategy container = new ZorkContainerParseStrategy(trigger); public static final ZorkParseStrategy item = new ZorkItemParseStrategy(trigger); public static final ZorkParseStrategy room = new ZorkRoomParseStrategy(trigger); public static final ZorkParseStrategy creature = new ZorkCreatureParseStrategy(condition, trigger); private Parsers() { } }