
eu.cedarsoft.utils.RendererManager Maven / Gradle / Ivy
The newest version!
package eu.cedarsoft.utils;
import org.jetbrains.annotations.NotNull;
import java.util.Map;
/**
* Manages {@link Renderer}
*/
public class RendererManager {
@NotNull
private final TypeRegistry> registry;
public RendererManager() {
this( false );
}
public RendererManager( boolean registerSuperTypes ) {
registry = new TypeRegistry>( registerSuperTypes );
}
public void setRenderer( @NotNull Map, Renderer, Object>> renderer ) {
registry.setElements( renderer );
}
public void addRenderer( @NotNull Class type, @NotNull Renderer super T, Object> renderer ) {
registry.addElement( type, renderer );
}
@NotNull
public Renderer super T, Object> getRenderer( @NotNull Class type ) throws IllegalArgumentException {
return ( Renderer ) registry.getElement( type );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy