added blank string check and made Java client default constructor private