A single-sided buffer is the polygon formed by connecting a LineString to an offset curve generated on one side of the line.
Naturally either side can be specified, by choosing an appropriate sign for the offset distance (positive for the right side, negative for the left).
At the moment there's a bit of a limitation, in that input linework with very narrow concave angles (relative to the buffer distance) create undesirable artifacts in the generated polygon. I'm hoping that some further thinking will come up with a way to avoid this, at least in most normal cases.
This functionality is accessed by setting an appropriate flag in the BufferParameters structure:
BufferParameters bufParams = new BufferParameters();
return BufferOp.bufferOp(geom, distance, bufParams);
Currently this code is in SVN. It will be released in JTS 1.12 (which will hopefully be shipping