package org.handwerkszeug.riak.model; import static org.handwerkszeug.riak.util.Validation.notNull; import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; /** * @author taichi */ public abstract class AbstractRiakObject<T> implements RiakObject<T> { private Location location; private String vectorClock; private String contentType = DEFAULT_CONTENT_TYPE; private String charset; private String contentEncoding; private String vtag; private List<Link> links = Collections.emptyList(); private Date lastModified; private Map<String, String> userMetadata = Collections.emptyMap(); protected AbstractRiakObject() { } public AbstractRiakObject(Location location) { notNull(location, "location"); this.location = location; } @Override public Location getLocation() { return this.location; } @Override public void setLocation(Location location) { this.location = location; } @Override public String getVectorClock() { return this.vectorClock; } @Override public void setVectorClock(String clock) { this.vectorClock = clock; } @Override public String getContentType() { return this.contentType; } @Override public void setContentType(String contentType) { this.contentType = contentType; } @Override public String getCharset() { return this.charset; } @Override public void setCharset(String charset) { this.charset = charset; } @Override public String getContentEncoding() { return this.contentEncoding; } @Override public void setContentEncoding(String encoding) { this.contentEncoding = encoding; } @Override public String getVtag() { return this.vtag; } @Override public void setVtag(String vtag) { this.vtag = vtag; } @Override public List<Link> getLinks() { return this.links; } @Override public void setLinks(List<Link> links) { this.links = links; } @Override public Date getLastModified() { return this.lastModified; } @Override public void setLastModified(Date date) { this.lastModified = date; } @Override public Map<String, String> getUserMetadata() { return this.userMetadata; } @Override public void setUserMetadata(Map<String, String> metadata) { this.userMetadata = metadata; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("AbstractRiakObject [location="); builder.append(this.location); builder.append(", vectorClock="); builder.append(this.vectorClock); builder.append(", contentType="); builder.append(this.contentType); builder.append(", charset="); builder.append(this.charset); builder.append(", contentEncoding="); builder.append(this.contentEncoding); builder.append(", vtag="); builder.append(this.vtag); builder.append(", links="); builder.append(this.links); builder.append(", lastModified="); builder.append(this.lastModified); builder.append(", userMetadata="); builder.append(this.userMetadata); builder.append("]"); return builder.toString(); } }