use of com.ibm.watson.developer_cloud.language_translator.v2.model.TranslateOptions in project java-sdk by watson-developer-cloud.
the class LanguageTranslator method translate.
/**
* Translate.
*
* Translates the input text from the source language to the target language.
*
* @param translateOptions the {@link TranslateOptions} containing the options for the call
* @return a {@link ServiceCall} with a response type of {@link TranslationResult}
*/
public ServiceCall<TranslationResult> translate(TranslateOptions translateOptions) {
Validator.notNull(translateOptions, "translateOptions cannot be null");
String[] pathSegments = { "v2/translate" };
RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
final JsonObject contentJson = new JsonObject();
contentJson.add("text", GsonSingleton.getGson().toJsonTree(translateOptions.text()));
if (translateOptions.modelId() != null) {
contentJson.addProperty("model_id", translateOptions.modelId());
}
if (translateOptions.source() != null) {
contentJson.addProperty("source", translateOptions.source());
}
if (translateOptions.target() != null) {
contentJson.addProperty("target", translateOptions.target());
}
builder.bodyJson(contentJson);
return createServiceCall(builder.build(), ResponseConverterUtils.getObject(TranslationResult.class));
}
Aggregations