Package org.uengine.processdesigner.mapper.transformers

Source Code of org.uengine.processdesigner.mapper.transformers.ReplaceTransformer

package org.uengine.processdesigner.mapper.transformers;

import java.util.Map;

import org.metaworks.FieldDescriptor;
import org.metaworks.Type;
import org.uengine.kernel.ProcessInstance;
import org.uengine.processdesigner.mapper.Transformer;

public class ReplaceTransformer extends Transformer{
 
  private String oldString;
 
  private String newString;
 
  private boolean isRegularExp;
 
  public String getOldString() {
    return oldString;
  }

  public void setOldString(String oldString) {
    this.oldString = oldString;
  }

  public String getNewString() {
    return newString;
  }

  public void setNewString(String newString) {
    this.newString = newString;
  }
 
  public boolean isRegularExp() {
    return isRegularExp;
  }

  public void setRegularExp(boolean isRegularExp) {
    this.isRegularExp = isRegularExp;
  }

  public ReplaceTransformer() {
    setName("Replace");
  }

  public static void metaworksCallback_changeMetadata(Type type){
    FieldDescriptor fd = type.getFieldDescriptor("OldString");
    fd.setDisplayName("Old String");
   
    fd = type.getFieldDescriptor("NewString");
    fd.setDisplayName("New String");
 

  public String[] getInputArguments() {
    return new String[]{"input"};
  }

  @Override
  public Object transform(ProcessInstance instance, Map parameterMap, Map options) {
    Object val = parameterMap.get("input");
    if (isRegularExp()) {
      return String.valueOf(val).replaceAll(getOldString(), getNewString() == null ? "" : getNewString());
    }
    return String.valueOf(val).replace(getOldString(), getNewString() == null ? "" : getNewString());
  }
}
TOP

Related Classes of org.uengine.processdesigner.mapper.transformers.ReplaceTransformer

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.