package uk.ac.cam.echo.client.data;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty;
import uk.ac.cam.echo.client.ClientApi;
import uk.ac.cam.echo.client.ProxyResource;
import uk.ac.cam.echo.data.Interest;
import uk.ac.cam.echo.data.User;
import uk.ac.cam.echo.data.resources.UserResource;
public class InterestData extends BaseData implements Interest {
private String name;
private ProxyResource<User, UserResource> userProxy = new ProxyResource<User, UserResource>();
@Override
public void setApi(ClientApi api) {
super.setApi(api);
userProxy.setResource(api.userResource);
}
@Override
protected void configureResource() {
try
{
setResource(getApi().userResource.getInterestResource(getUserId()));
}
catch (Exception e) { }
}
public void configureResource(long userId) {
setResource(getApi().userResource.getInterestResource(userId));
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@JsonIgnore
public User getUser() {
return userProxy.getData();
}
@JsonProperty
public void setUser(User user) {
userProxy.setData(user);
}
public Long getUserId() {
return userProxy.getId();
}
public void setUserId(Long id) {
userProxy.setId(id);
}
}