24 lines
1.1 KiB
Java
24 lines
1.1 KiB
Java
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() {
|
|
}
|
|
}
|