package org.oddjob.tools.includes; import java.util.HashMap; import java.util.Map; import org.oddjob.doclet.CustomTagNames; /** * As yet unused. * * @author rob * */ public class CompositeLoader implements IncludeLoader { private Map<String, IncludeLoader> loaders = new HashMap<String, IncludeLoader>(); private IncludeLoader selected; public CompositeLoader() { loaders.put(JavaCodeResourceLoader.TAG, new JavaCodeResourceLoader()); loaders.put(CustomTagNames.XML_RESOURCE_TAG, new XMLResourceLoader()); loaders.put(CustomTagNames.TEXT_RESOURCE_TAG, new PlainTextResourceLoader()); } @Override public boolean canLoad(String tag) { selected = loaders.get(tag); return selected != null; } @Override public String load(String path) { if (selected == null) { throw new IllegalStateException("Check canLoad first."); } return selected.load(path); } }