/**
* A custom renderers provider.
*/
class RendererProvider implements PresentationElementRendererProvider
{
private SlotRenderer slotRenderer;
private DependencyRenderer dependencyRenderer;
private PackageRenderer packageRenderer;
RendererProvider()
{
slotRenderer = new SlotRenderer();
dependencyRenderer= new DependencyRenderer();
packageRenderer = new PackageRenderer();
}
public PresentationElementRenderer getRenderer(PresentationElement presentationElement)
{
if (presentationElement instanceof SlotView || presentationElement instanceof SlotListElementView)
{
// A slot renderer
return slotRenderer;
}
if (presentationElement instanceof DependencyView)
{
// dependency renderer
return dependencyRenderer;
}
if (presentationElement instanceof PackageView)
{
// package renderer
return packageRenderer;
}
return null;
}
};