UPrint abstraction layer in Java