From c50a58fcaf3dfa3e83f71059ed0b6f61f1753969 Mon Sep 17 00:00:00 2001 From: cho Date: Mon, 19 Jan 2026 09:04:03 +0900 Subject: [PATCH] =?UTF-8?q?ifblank=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/validate/ifblank.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/main/java/com/eactive/eai/transformer/function/validate/ifblank.java diff --git a/src/main/java/com/eactive/eai/transformer/function/validate/ifblank.java b/src/main/java/com/eactive/eai/transformer/function/validate/ifblank.java new file mode 100644 index 0000000..47b227a --- /dev/null +++ b/src/main/java/com/eactive/eai/transformer/function/validate/ifblank.java @@ -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(); + + sk.push("default"); + sk.push("asdf"); + + new ifblank().run(sk); + + System.out.println(sk.pop()); + + + } + +}