Impressao de cupom no java

Como faço impressao no java?
Abrangendo tanto impressoras matriciais(Bematech, Daruma, etc) e impressoras termicas nao fiscal…

Preciso desenvolver funções para cada fabricante ou não?

Obs.: Uso Java para Desktop.