As per the Javadoc for the CashFlow class “a negative value indicates a payment while a positive value indicates receipt” however with negative rates if you want to replicate a table similar to the Bloomberg Cashflow tab in SWPM it’s necessary to work with each leg’s cashflows directly. If the CashFlow object itself could tell you whether it was a payment or receipt irrespective of the sign of the payment I think that would be useful.