package com.asayama.gwt.angular.client; /** * Provides an interface for {@link Service} factory. * * @author kyoken74 * @param <S> Service type of the object to be created by this factory. */ public interface Factory<S extends Service> { /** * Creates an instance of the Service. */ S create(); /** * Returns the class object representing the Service type of the object to * be created by this factory. */ Class<S> getServiceClass(); /** * Invoked by the framework just prior to calling {@link #create()}. */ void onFactoryLoad(); }