¿Cómo traducir "Lorem 3 ipsum dolor sit amet" al SEO amigable "Lorem-3-ipsum-dolor-sit-amet" en Java?

En mi aplicación de blog, un usuario puede ingresar cualquier texto como título para su entrada y luego genero una URL basada en el texto.

Valido su título para asegurarmesolo contiene letras y números.

Si entran algo como

Lorem 3 ipsum dolor sit amet

¿Cómo podría generar la versión más amigable de SEO de este texto:

Lorem-3-ipsum-dolor-sit-amet