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

de.tsl2.nano.vnet.workflow.Act Maven / Gradle / Ivy

Go to download

TSL2 Framework VirtualNetwork (Generic parallelized Network-Mechanism providing implementations for: NeuronalNetwork, Routing, Workflow)

The newest version!
package de.tsl2.nano.vnet.workflow;

import java.util.Map;

import org.simpleframework.xml.core.Commit;

import de.tsl2.nano.util.operation.ConditionOperator;

/**
 * implementation of {@link Activity} using {@link ConditionOperator}.
 * 
 * @author Tom, Thomas Schneider
 * @version $Revision$
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Act extends VActivity {
    /** serialVersionUID */
    private static final long serialVersionUID = -1031984359714782652L;

    protected transient Condition op;

    /**
     * constructor for xml-deserialization
     */
    public Act() {
    }

    public Act(String name, String condition, String expression) {
        this(name, condition, expression, new ComparableMap());
    }
    
    public Act(String name, String condition, String expression, ComparableMap stateValues) {
        super(name, condition, expression);
        op = new Condition(stateValues);
    }

    @Override
    public T action() throws Exception {
        return (T) op.eval(expression);
    }

    @Override
    public boolean canActivate(Map parameter) {
        return op.isTrue(parameter);
    }

    @Commit
    private void initDeserializing() {
        op = new Condition(new ComparableMap());
        op.setExpression(condition);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy