All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.intelie.liverig.plugin.normalizer.NormalizerConfigFowardingExpression Maven / Gradle / Ivy

The newest version!
package net.intelie.liverig.plugin.normalizer;

import net.intelie.pipes.*;
import net.intelie.pipes.types.Type;

@Export("normalizer_config")
public class NormalizerConfigFowardingExpression extends ForwardingExpression {
    private static final long serialVersionUID = 1;

    private final Expression impl;

    public NormalizerConfigFowardingExpression(ArgQueue queue) throws PipeException {
        Object expression = queue.expression(Type.OBJECT).get();
        if (expression instanceof Hintable)
            expression = ((Hintable) expression).hint(Type.OBJECT);
        this.impl = queue.compiler().expression().withModule(new MacroModule(expression))
                .compileToQueue("normalizer_config_impl(@@0)")
                .expression(Type.OBJECT).get();
    }

    @Override
    public Expression delegate() {
        return impl;
    }
}