Package tv.ustream.yolo.module.processor

Source Code of tv.ustream.yolo.module.processor.CompositeProcessor

package tv.ustream.yolo.module.processor;

import tv.ustream.yolo.config.ConfigMap;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
* @author bandesz
*/
public class CompositeProcessor implements ICompositeProcessor
{

    private final List<IProcessor> processors = new ArrayList<IProcessor>();

    @Override
    public void process(final Map<String, Object> parserOutput, final Map<String, Object> processParams)
    {
        for (IProcessor processor : processors)
        {
            processor.process(parserOutput, processParams);
        }
    }

    @Override
    public ConfigMap getProcessParamsConfig()
    {
        ConfigMap config = new ConfigMap();
        for (IProcessor processor : processors)
        {
            config.merge(processor.getProcessParamsConfig());
        }
        return config;
    }

    @Override
    public void setUpModule(final Map<String, Object> parameters)
    {
    }

    @Override
    public ConfigMap getModuleConfig()
    {
        ConfigMap config = new ConfigMap();
        config.addConfigValue("processors", List.class);
        return config;
    }

    @Override
    public String getModuleDescription()
    {
        return "runs multiple processors";
    }

    @Override
    public void addProcessor(final IProcessor processor)
    {
        processors.add(processor);
    }

    @Override
    public void stop()
    {
    }

}
TOP

Related Classes of tv.ustream.yolo.module.processor.CompositeProcessor

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.