package com.dragome.render.serverside.swing;
import com.dragome.guia.components.interfaces.VisualButton;
import com.dragome.guia.components.interfaces.VisualLabel;
import com.dragome.guia.components.interfaces.VisualPanel;
import com.dragome.guia.components.interfaces.VisualTextField;
import com.dragome.render.canvas.CanvasImpl;
import com.dragome.render.canvas.interfaces.Canvas;
import com.dragome.render.canvas.interfaces.CanvasFactory;
import com.dragome.render.interfaces.ComponentRenderer;
import com.dragome.render.interfaces.TemplateHandler;
import com.dragome.templates.interfaces.Template;
import com.dragome.templates.interfaces.TemplateLoadingStrategy;
import com.dragome.templates.interfaces.TemplateManager;
public class SwingTemplateManager implements TemplateManager
{
public TemplateHandler getTemplateHandler()
{
return new SwingTemplateHandler();
}
public TemplateLoadingStrategy getTemplateHandlingStrategy()
{
return new SwingTemplateLoadingStrategy();
}
public CanvasFactory getCanvasFactory()
{
return null;
}
public Template createTemplate(String aTemplateName)
{
return null;
}
public ComponentRenderer getComponentRenderer()
{
return new ComponentRenderer<Object, Object>()
{
public Canvas<Object> render(final Object aVisualComponent)
{
if (aVisualComponent instanceof VisualButton)
return new SwingVisualButtonRenderer().render((VisualButton) aVisualComponent);
else if (aVisualComponent instanceof VisualTextField)
return new SwingVisualTextFieldRenderer().render((VisualTextField) aVisualComponent);
else if (aVisualComponent instanceof VisualLabel)
return new SwingVisualLabelRenderer().render((VisualLabel) aVisualComponent);
else if (aVisualComponent instanceof VisualPanel)
return new SwingVisualPanelRenderer().render((VisualPanel) aVisualComponent);
else
return new CanvasImpl<>();
}
};
}
}