/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.clothocad.algorithm.stringappend; import org.clothocore.api.actor.Actor; import org.clothocore.api.actor.RunStatus; import org.clothocore.api.actor.data.StringToken; import org.clothocore.api.actor.io.InputPort; import org.clothocore.api.actor.io.OutputPort; /** * * @author Bing Xia <bxia@bxia.net> */ public class StringAppendAlgorithm extends Actor { public StringAppendAlgorithm() { _inp1 = new InputPort<StringToken>( this, StringToken.class ); _inp2 = new InputPort<StringToken>( this, StringToken.class ); _out = new OutputPort<StringToken>( this, StringToken.class ); } @Override public RunStatus run() { if ( !isReady() ) { return RunStatus.NOT_READY_ERROR; } StringToken tok1 = _inp1.get(); StringToken tok2 = _inp2.get(); _inp1.clear(); _inp2.clear(); String result = tok1.getData() + tok2.getData(); StringToken out = new StringToken( result ); _out.put( out ); return RunStatus.COMPLETE; } @Override public String getName() { return "String Appender"; } /***** Variables *****/ private InputPort<StringToken> _inp1, _inp2; private OutputPort<StringToken> _out; }