package com.dongxuexidu.douban4j.model.collection;
import com.dongxuexidu.douban4j.model.IDoubanObject;
import com.dongxuexidu.douban4j.model.common.DoubanAttributeObj;
import com.dongxuexidu.douban4j.model.common.DoubanLinkObj;
import com.dongxuexidu.douban4j.model.common.DoubanRatingObj;
import com.dongxuexidu.douban4j.model.common.DoubanTagObj;
import com.dongxuexidu.douban4j.model.subject.DoubanSubjectObj;
import com.dongxuexidu.douban4j.model.user.DoubanUserObj;
import com.google.api.client.util.Key;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
* @author Zhibo Wei <uglytroll@dongxuexidu.com>
*/
public class DoubanCollectionObj implements IDoubanObject{
@Override
public String getObjName() {
return "doubancollection";
}
@Key("updated")
private String updateTime = null;
@Key("db:tag")
private List<DoubanTagObj> tags = new ArrayList<DoubanTagObj>();
@Key("author")
private DoubanUserObj author = null;
@Key
private String title = "";
@Key("link")
private List<DoubanLinkObj> links = new ArrayList<DoubanLinkObj>();
@Key
private String id;
@Key("db:subject")
private DoubanSubjectObj subject = null;
@Key("db:status")
private String status;
@Key("gd:rating")
private DoubanRatingObj rating = null;
@Key("content")
private String content;
@Key("db:attribute")
private List<DoubanAttributeObj> att;
/**
* @return the updateTime
*/
public String getUpdateTime() {
return updateTime;
}
/**
* @param updateTime the updateTime to set
*/
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
/**
* @return the tags
*/
public List<DoubanTagObj> getTags() {
return tags;
}
/**
* @param tags the tags to set
*/
public void setTags(List<DoubanTagObj> tags) {
this.tags = tags;
}
public void addTag (DoubanTagObj tag) {
this.tags.add(tag);
}
/**
* @return the author
*/
public DoubanUserObj getAuthor() {
return author;
}
/**
* @param author the author to set
*/
public void setAuthor(DoubanUserObj author) {
this.author = author;
}
/**
* @return the title
*/
public String getTitle() {
return title;
}
/**
* @param title the title to set
*/
public void setTitle(String title) {
this.title = title;
}
public void setLinks (List<DoubanLinkObj> links) {
this.links = links;
}
public void addLink(DoubanLinkObj link) {
this.links.add(link);
}
public String getLinkByRel (String rel) {
for (DoubanLinkObj obj : this.links) {
if (obj.getRel().equalsIgnoreCase(rel)) {
return obj.getHref();
}
}
return null;
}
public List<DoubanLinkObj> getLinks() {
return this.links;
}
/**
* @return the id
*/
public String getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
* @return the subject
*/
public DoubanSubjectObj getSubject() {
return subject;
}
/**
* @param subject the subject to set
*/
public void setSubject(DoubanSubjectObj subject) {
this.subject = subject;
}
/**
* @return the status
*/
public String getStatus() {
return status;
}
/**
* @param status the status to set
*/
public void setStatus(String status) {
this.status = status;
}
/**
* @return the rating
*/
public DoubanRatingObj getRating() {
return rating;
}
/**
* @param rating the rating to set
*/
public void setRating(DoubanRatingObj rating) {
this.rating = rating;
}
/**
* @return the content
*/
public String getContent() {
return content;
}
/**
* @param content the content to set
*/
public void setContent(String content) {
this.content = content;
}
/**
* @return the att
*/
public List<DoubanAttributeObj> getAtt() {
return att;
}
/**
* @param att the att to set
*/
public void setAtt(List<DoubanAttributeObj> att) {
this.att = att;
}
}