package cz.cuni.mff.d3s.been.persistence;
import org.codehaus.jackson.annotate.JsonTypeInfo;
import java.util.Collection;
/**
* A {@link QueryAnswer} that carries data
*
* @author darklight
*/
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
public class DataQueryAnswer extends SkeletalQueryAnswer {
private Collection<String> data;
/**
* Only Jackson should use this constructor
*/
DataQueryAnswer() {
this.data = null;
}
DataQueryAnswer(QueryStatus status, Collection<String> data) {
super(status);
this.data = data;
}
/**
* Binding for Jackson serialization
*
* @return Data
*/
public Collection<String> getObjects() {
return data;
}
/**
* Private binding for Jackson deserialization
*
* @param objects Data to set
*/
void setObjects(Collection<String> objects) {
this.data = objects;
}
@Override
public boolean isCarryingData() {
return true;
}
@Override
public Collection<String> getData() {
// public implementation for users
return data;
}
}