How to extract from matrix its components: translation, rotation (quaternion), scale (tuple3f).
Better do not
You can decompensate a matrix. But AFAIK this doesn't always lead to the exact results. It is better to keep the components separately and compose the transformation matrix from the components. But in theory you can read the translation right from the right most column and just have to decompensate scale and rotation. There is the getScale() method on Matrix4f, which returns one float. I always found this method a bit useless, since it doesn't give you three values. And there are the classes in org.openmali.decomposition. But don't ask me, how they work. I just ported that code.
I can't believe - you wrote the great OpenMaLi library!
Well, what resulted in the current OpenMaLi vecmath has taken a long way. First there was Sun's vecmath library. Then there was Kenji Hiranabe's vecmath implementation, which replaced it. I took his code and derived the current vecmath2 in OpenMaLi from it. So I didn't have to actually understand the more complicated parts like matrix decompensation. Of course all the vector math is not that complicated and I understand all of it. And I did have some math courses at the university. Well, btt. I added code from the JAMA library (decomposition), which I really don't understand, but which should theoretically work, though unprooved. And I added a lot of convenience to the classes and some other stuff, ported code from xith to OpenMaLi and so forth. A lot of code was added by other authors. So I cannot take credits for all of it.