Package org.skyscreamer.yoga.builder

Source Code of org.skyscreamer.yoga.builder.YogaBuilderViewFactory

package org.skyscreamer.yoga.builder;

import org.skyscreamer.yoga.view.AbstractYogaView;
import org.skyscreamer.yoga.view.JsonSelectorView;
import org.skyscreamer.yoga.view.SelectorBuilderView;
import org.skyscreamer.yoga.view.StreamingJsonSelectorView;
import org.skyscreamer.yoga.view.XhtmlSelectorView;
import org.skyscreamer.yoga.view.XmlSelectorView;

public class YogaBuilderViewFactory
{
    YogaBuilder builder;

    public YogaBuilderViewFactory()
    {
    }

    public YogaBuilderViewFactory( YogaBuilder builder )
    {
        this.builder = builder;
    }

    public void setBuilder( YogaBuilder builder )
    {
        this.builder = builder;
    }

    public XmlSelectorView createXmlSelectorView()
    {
        return injectViewDependencies( new XmlSelectorView() );
    }

    public JsonSelectorView createJsonSelectorView()
    {
        return injectViewDependencies( new JsonSelectorView() );
    }

    public StreamingJsonSelectorView createStreamingJsonSelectorView()
    {
        return injectViewDependencies( new StreamingJsonSelectorView() );
    }

    public XhtmlSelectorView createXhtmlSelectorView()
    {
        return injectViewDependencies( new XhtmlSelectorView() );
    }

    public SelectorBuilderView createSelectorBuilderView()
    {
        return injectViewDependencies( new SelectorBuilderView() );
    }

    public <T extends AbstractYogaView> T injectViewDependencies( T yogaView )
    {
        builder.finalize();
        yogaView.setRegistry( builder.getRegistry() );
        yogaView.setClassFinderStrategy( builder.getClassFinderStrategy() );
        yogaView.setSelectorResolver( builder.getSelectorResolver() );
        return yogaView;
    }
}
TOP

Related Classes of org.skyscreamer.yoga.builder.YogaBuilderViewFactory

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.