ai.api.model.AIResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of libai Show documentation
Show all versions of libai Show documentation
API.AI Java SDK allows using voice commands and integration with dialog scenarios defined for a particular agent in API.AI.
package ai.api.model;
/***********************************************************************************************************************
*
* API.AI Java SDK - client-side libraries for API.AI
* =================================================
*
* Copyright (C) 2014 by Speaktoit, Inc. (https://www.speaktoit.com)
* https://www.api.ai
*
***********************************************************************************************************************
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*
***********************************************************************************************************************/
import com.google.gson.annotations.SerializedName;
import java.io.Serializable;
import java.util.Date;
public class AIResponse implements Serializable {
private static final long serialVersionUID = 1L;
/**
* Unique identifier of the result.
*/
@SerializedName("id")
private String id;
@SerializedName("timestamp")
private Date timestamp;
/**
* Result object
*/
@SerializedName("result")
private Result result;
@SerializedName("status")
private Status status;
@SerializedName("sessionId")
private String sessionId;
/**
* Unique identifier of the result.
*/
public String getId() {
return id;
}
public void setId(final String id) {
this.id = id;
}
/**
* Date and time of the request in UTC timezone using ISO-8601 format.
*/
public Date getTimestamp() {
return timestamp;
}
public void setTimestamp(final Date timestamp) {
this.timestamp = timestamp;
}
/**
* Contains the results of the natual language processing.
*/
public Result getResult() {
return result;
}
public void setResult(final Result result) {
this.result = result;
}
/**
* Contains data on how the request succeeded or failed.
*/
public Status getStatus() {
return status;
}
public void setStatus(final Status status) {
this.status = status;
}
/**
* Session ID
*/
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public boolean isError() {
if (status != null && status.getCode() != null && status.getCode() >= 400) {
return true;
}
return false;
}
@Override
public String toString() {
return String.format("AIResponse{id='%s', timestamp=%s, result=%s, status=%s, sessionId=%s}",
id,
timestamp,
result,
status,
sessionId);
}
public void cleanup() {
if (result != null) {
result.trimParameters();
}
}
}