ifblank추가.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package com.eactive.eai.transformer.function.validate;
|
||||
|
||||
import java.util.Stack;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nfunk.jep.ParseException;
|
||||
import org.nfunk.jep.function.PostfixMathCommand;
|
||||
|
||||
public class ifblank extends PostfixMathCommand {
|
||||
|
||||
public ifblank() {
|
||||
numberOfParameters = 2;
|
||||
}
|
||||
|
||||
public void run(Stack inStack) throws ParseException {
|
||||
|
||||
checkStack(inStack);
|
||||
|
||||
Object p1 = inStack.pop();
|
||||
Object p2 = inStack.pop();
|
||||
|
||||
if ( p2 instanceof String ) {
|
||||
String str1 = (String) p1;
|
||||
|
||||
if ( StringUtils.isBlank(str1) ){
|
||||
inStack.push(p2);
|
||||
}else {
|
||||
inStack.push(p1);
|
||||
}
|
||||
|
||||
} else {
|
||||
throw new ParseException("Invalid parameter type, p2 is not string");
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws ParseException {
|
||||
Stack sk = new Stack<Object>();
|
||||
|
||||
sk.push("default");
|
||||
sk.push("asdf");
|
||||
|
||||
new ifblank().run(sk);
|
||||
|
||||
System.out.println(sk.pop());
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user