Initial Java commit prior to refactor

Note -- java source files are going to be refactored. Don't carry any of
this code over to notebook until process has been completed. Some files
are still missing as I am currently revising them.