@Override
    public Object parse(SourceData sourceData, int rowIndex, Context context) {
        Object amountObj = amountParser.parse(sourceData, rowIndex, context);
        Object intervalObj = intervalParser.parse(sourceData, rowIndex, context);
        Object dateTimeObj = datetimeParser.parse(sourceData, rowIndex, context);
        if (amountObj == null || intervalObj == null || dateTimeObj == null) {
            return null;
        }
        String interval = intervalObj.toString();
        Long amount = Long.parseLong(amountObj.toString());
        String dateString = dateTimeObj.toString();
        return evalDate(dateString, interval, amount);
    }
TimestampAddFunction  ->  timestamp_add(unit,cnt,baseDateStr)
description:
- Return NULL if any parameter is null;
- Return the result of adding the integer expression interval to the date or datetime expression 'baseDateStr'.
Note: 'unit' is one of (MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR).
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/temporal/TimestampAddFunction.java