@Override
    public Object parse(SourceData sourceData, int rowIndex, Context context) {
        Object leftStringObj = leftStringParser.parse(sourceData, rowIndex, context);
        Object lengthObj = lengthParser.parse(sourceData, rowIndex, context);
        Object rightStringObj = rightStringParser.parse(sourceData, rowIndex, context);
        if (leftStringObj == null || lengthObj == null || rightStringObj == null) {
            return null;
        }
        int len = Integer.parseInt(OperatorTools.parseString(lengthObj));
        if (len < 0) {
            return null;
        }
        String leftStr = OperatorTools.parseString(leftStringObj);
        if (len <= leftStr.length()) {
            return leftStr.substring(0, len);
        }
        String rightStr = OperatorTools.parseString(rightStringObj);
        if (rightStr.isEmpty()) {
            return "";
        }
        int padLen = len - leftStr.length();
        StringBuilder builder = new StringBuilder(padLen);
        while (builder.length() < padLen) {
            builder.append(rightStr);
        }
        return builder.substring(0, padLen).concat(leftStr);
    }
LpadFunction  ->  Lpad(str1,len,str2)
description:  Fill string s2 at the beginning of string s1 to make the string length len
- Return null if any of the three parameters is null or len is less than 0
- Return the substring of s1 with subscripts in the range of [0, len) if len is less than or equal to the length of s1
- if s2 is ""
     - Return "" if len is longer than the length of s1
- if s2 is not ""
     - Return the filled string
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/string/LpadFunction.java