001package org.nuxeo.ecm.webengine.gwt;
002
003import org.nuxeo.common.xmap.annotation.XNode;
004import org.nuxeo.common.xmap.annotation.XObject;
005import org.nuxeo.ecm.core.api.NuxeoException;
006import org.nuxeo.ecm.webengine.gwt.GwtResolver.Strategy;
007
008@XObject("strategy")
009public class GwtWarStrategy extends GwtWarLocation {
010
011    public Strategy strategy;
012
013    @XNode()
014    void setResolver(Class<? extends Strategy> type) {
015        try {
016            strategy = type.newInstance();
017        } catch (ReflectiveOperationException cause) {
018            throw new NuxeoException("Cannot load " + type, cause);
019        }
020    }
021
022    @Override
023    public String toString() {
024        return "GWT War Strategy Resolver [" + name + "," + strategy.source() + "]";
025    }
026
027}