cc.catalysts.structurizr.ViewProvider Maven / Gradle / Ivy
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 {
/**
* 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.
* Implementations of this method might create one or more {@link com.structurizr.view.View} inside this method
*
* @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);
}