Package org.skyscreamer.yoga.view

Source Code of org.skyscreamer.yoga.view.XhtmlSelectorView

package org.skyscreamer.yoga.view;

import java.io.IOException;
import java.io.OutputStream;

import org.dom4j.Element;
import org.dom4j.dom.DOMElement;
import org.skyscreamer.yoga.mapper.YogaRequestContext;
import org.skyscreamer.yoga.model.HierarchicalModel;
import org.skyscreamer.yoga.model.XhtmlHierarchyModelImpl;
import org.skyscreamer.yoga.util.XmlYogaViewUtil;

public class XhtmlSelectorView extends AbstractYogaView
{
    @Override
    public void render( Object value, YogaRequestContext context, OutputStream os )
            throws IOException
    {
        Element rootElement = new DOMElement( "html" );
        initHead( rootElement );
        HierarchicalModel<Element> model = getModel( value, rootElement );
        _resultTraverser.traverse( value, context.getSelector(), model, context );
        XmlYogaViewUtil.write( rootElement, os );
    }

    protected HierarchicalModel<Element> getModel( Object value, Element rootElement )
    {
        Element topDiv = rootElement.addElement( "body" ).addElement( "div" )
                .addAttribute( "class", getClassName( value ) );

        return new XhtmlHierarchyModelImpl( topDiv );
    }

    protected void initHead( Element rootElement )
    {
        Element cssLink = rootElement.addElement( "head" ).addElement( "link" );
        cssLink.addAttribute( "href", "/css/xhtml.css" );
        cssLink.addAttribute( "rel", "stylesheet" );
    }

    @Override
    public String getContentType()
    {
        return "text/html";
    }

    @Override
    public String getHrefSuffix()
    {
        return "xhtml";
    }
}
TOP

Related Classes of org.skyscreamer.yoga.view.XhtmlSelectorView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.