ProjectAres/PGM/src/main/java/tc/oc/pgm/map/MapRootParser.java

21 lines
735 B
Java

package tc.oc.pgm.map;
import tc.oc.pgm.map.inject.MapBinders;
import tc.oc.pgm.map.inject.MapScoped;
import tc.oc.pgm.xml.InvalidXMLException;
/**
* Something that needs to be invoked once for each map parsed.
*
* Bind this into {@link MapBinders#rootParsers()} and it will be provisioned
* and have it's {@link #parse()} method called once at parse time for each map.
*
* Keep in mind that if this is {@link MapScoped} then it will be stored permanently
* with the map. If the object is not needed after parsing then leave it unscoped,
* and it will be discarded. If it has no map-specific state or dependencies, it
* can be a Singleton.
*/
public interface MapRootParser {
void parse() throws InvalidXMLException;
}