package cc.catalysts.structurizr; import com.structurizr.view.ViewSet; import javax.annotation.Nonnull; /** * Implement this interface if you want to create {@link com.structurizr.view.View}s for your {@link com.structurizr.model.Model}. * The reason why this is done in a separate method is to ensure that all {@link org.springframework.stereotype.Component}s which * might manipulate the model during startup phase have been initialized and that the {@link com.structurizr.model.Model} is complete. * * @author Klaus Lehner, Catalysts GmbH */ public interface ViewProvider { /** * <p>This method is called automatically after the whole {@link org.springframework.context.ApplicationContext} is refreshed, * thus the {@link com.structurizr.model.Model} definition should be complete.</p> * <p>Implementations of this method might create one or more {@link com.structurizr.view.View} inside this method</p> * * @param viewSet the {@link ViewSet} of the {@link com.structurizr.Workspace} after the whole {@link com.structurizr.model.Model} * has been initialized */ void createViews(@Nonnull ViewSet viewSet); }