package be.iminds.ilabt.jfed.groovy_dsl.impl;

import be.iminds.ilabt.jfed.groovy_dsl.DSLEventFactory;
import be.iminds.ilabt.jfed.groovy_dsl.events.*;
import be.iminds.ilabt.jfed.groovy_dsl.impl.events.*;

/**
 * User: twalcari
 * Date: 5/18/2015
 * Time: 10:59
 */
public class DSLEventFactoryImpl implements DSLEventFactory{
    @Override
    public ClosureStartElement createClosureStartElement(String name) {
        return new ClosureStartElementImpl(name);
    }

    @Override
    public ClosureEndElement createClosureEndElement() {
        return new ClosureEndElementImpl();
    }

    @Override
    public PropertyElement createStringPropertyElement(String name, String value) {
        return new StringPropertyElementImpl(name, value);
    }

    @Override
    public PropertyElement createNumberPropertyElement(String name, Number value) {
        return new NumberPropertyElementImpl(name, value);
    }

    @Override
    public FunctionCallElement createFunctionCallElement(String name, FunctionArgument... arguments) {
        return new FunctionCallElementImpl(name, arguments);
    }
}
