com.basho.riak.client.http
Class RiakObject

java.lang.Object
  extended by com.basho.riak.client.http.RiakObject

public class RiakObject
extends Object

A Riak object.


Nested Class Summary
 class RiakObject.LinkBuilder
          Created by links() as a convenient way to build up link walking queries
 
Constructor Summary
RiakObject(RiakClient riak, String bucket, String key)
           
RiakObject(RiakClient riak, String bucket, String key, byte[] value)
           
RiakObject(RiakClient riak, String bucket, String key, byte[] value, String contentType)
           
RiakObject(RiakClient riak, String bucket, String key, byte[] value, String contentType, List<RiakLink> links)
           
RiakObject(RiakClient riak, String bucket, String key, byte[] value, String contentType, List<RiakLink> links, Map<String,String> userMetaData)
           
RiakObject(RiakClient riak, String bucket, String key, byte[] value, String contentType, List<RiakLink> links, Map<String,String> userMetaData, String vclock, String lastmod, String vtag)
          Create an empty object.
RiakObject(RiakClient riak, String bucket, String key, byte[] value, String contentType, List<RiakLink> links, Map<String,String> userMetaData, String vclock, String lastmod, String vtag, List<RiakIndex> indexes)
          Create an object.
RiakObject(String bucket, String key)
           
RiakObject(String bucket, String key, byte[] value)
           
RiakObject(String bucket, String key, byte[] value, String contentType)
           
RiakObject(String bucket, String key, byte[] value, String contentType, List<RiakLink> links)
           
RiakObject(String bucket, String key, byte[] value, String contentType, List<RiakLink> links, Map<String,String> userMetaData)
           
RiakObject(String bucket, String key, byte[] value, String contentType, List<RiakLink> links, Map<String,String> userMetaData, String vclock, String lastmod, String vtag)
           
 
Method Summary
 RiakObject addIndex(String name, int value)
          Add an int index to this object
 RiakObject addIndex(String name, String value)
          Add a binary index to the object
 RiakObject addLink(RiakLink link)
           
 RiakObject addUsermetaItem(String key, String value)
           
 void copyData(RiakObject object)
           
 HttpResponse delete()
           
 HttpResponse delete(RequestMeta meta)
           
 FetchResponse fetch()
           
 FetchResponse fetch(RequestMeta meta)
           
 FetchResponse fetchMeta()
           
 FetchResponse fetchMeta(RequestMeta meta)
           
 String getBucket()
           
 String getContentType()
           
 List<RiakIndex> getIndexes()
           
 String getKey()
           
 String getLastmod()
           
 Date getLastmodAsDate()
           
 List<RiakLink> getLinks()
          Deprecated. 
 RiakClient getRiakClient()
           
 Map<String,String> getUsermeta()
          Deprecated. 
 String getUsermetaItem(String key)
           
 String getValue()
           
 byte[] getValueAsBytes()
           
 InputStream getValueStream()
           
 Long getValueStreamLength()
           
 String getVclock()
           
 String getVtag()
           
 boolean hasLink(RiakLink riakLink)
           
 boolean hasLinks()
           
 boolean hasUsermeta()
           
 boolean hasUsermetaItem(String key)
           
 Iterable<RiakLink> iterableLinks()
           
 int numLinks()
           
 int numUsermetaItems()
           
 RiakObject removeLink(RiakLink link)
           
 void removeUsermetaItem(String key)
           
 void setContentType(String contentType)
           
 void setLinks(List<RiakLink> links)
           
 RiakObject setRiakClient(RiakClient client)
           
 void setUsermeta(Map<String,String> userMetaData)
           
 void setValue(byte[] value)
           
 void setValue(String value)
           
 void setValueStream(InputStream in)
           
 void setValueStream(InputStream in, Long len)
           
 void setValueStreamLength(Long len)
           
 StoreResponse store()
           
 StoreResponse store(RequestMeta meta)
           
 StoreResponse store(RiakClient riak, RequestMeta meta)
           
 void updateMeta(FetchResponse response)
           
 void updateMeta(StoreResponse response)
           
 Iterable<String> usermetaKeys()
           
 RiakObject.LinkBuilder walk()
           
 RiakObject.LinkBuilder walk(boolean keep)
           
 RiakObject.LinkBuilder walk(String bucket)
           
 RiakObject.LinkBuilder walk(String bucket, boolean keep)
           
 RiakObject.LinkBuilder walk(String bucket, String tag)
           
 RiakObject.LinkBuilder walk(String bucket, String tag, boolean keep)
           
 void writeToHttpMethod(org.apache.http.client.methods.HttpRequestBase httpMethod)
          Serializes this object to an existing HttpRequestBase which can be sent as an HTTP request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RiakObject

public RiakObject(RiakClient riak,
                  String bucket,
                  String key,
                  byte[] value,
                  String contentType,
                  List<RiakLink> links,
                  Map<String,String> userMetaData,
                  String vclock,
                  String lastmod,
                  String vtag,
                  List<RiakIndex> indexes)
Create an object. The content type defaults to application/octet-stream.

Parameters:
riak - Riak instance this object is associated with, which is used by the convenience methods in this class (e.g. store()).
bucket - The object's bucket
key - The object's key
value - The object's value
contentType - The object's content type which defaults to application/octet-stream if null.
links - Links to other objects
userMetaData - Custom metadata key-value pairs for this object
vclock - An opaque vclock assigned by Riak
lastmod - The last time this object was modified according to Riak
vtag - This object's entity tag assigned by Riak

RiakObject

public RiakObject(RiakClient riak,
                  String bucket,
                  String key,
                  byte[] value,
                  String contentType,
                  List<RiakLink> links,
                  Map<String,String> userMetaData,
                  String vclock,
                  String lastmod,
                  String vtag)
Create an empty object. The content type defaults to application/octet-stream.

Parameters:
riak - Riak instance this object is associated with, which is used by the convenience methods in this class (e.g. store()).
bucket - The object's bucket
key - The object's key
value - The object's value
contentType - The object's content type which defaults to application/octet-stream if null.
links - Links to other objects
userMetaData - Custom metadata key-value pairs for this object
vclock - An opaque vclock assigned by Riak
lastmod - The last time this object was modified according to Riak
vtag - This object's entity tag assigned by Riak

RiakObject

public RiakObject(RiakClient riak,
                  String bucket,
                  String key)

RiakObject

public RiakObject(RiakClient riak,
                  String bucket,
                  String key,
                  byte[] value)

RiakObject

public RiakObject(RiakClient riak,
                  String bucket,
                  String key,
                  byte[] value,
                  String contentType)

RiakObject

public RiakObject(RiakClient riak,
                  String bucket,
                  String key,
                  byte[] value,
                  String contentType,
                  List<RiakLink> links)

RiakObject

public RiakObject(RiakClient riak,
                  String bucket,
                  String key,
                  byte[] value,
                  String contentType,
                  List<RiakLink> links,
                  Map<String,String> userMetaData)

RiakObject

public RiakObject(String bucket,
                  String key)

RiakObject

public RiakObject(String bucket,
                  String key,
                  byte[] value)

RiakObject

public RiakObject(String bucket,
                  String key,
                  byte[] value,
                  String contentType)

RiakObject

public RiakObject(String bucket,
                  String key,
                  byte[] value,
                  String contentType,
                  List<RiakLink> links)

RiakObject

public RiakObject(String bucket,
                  String key,
                  byte[] value,
                  String contentType,
                  List<RiakLink> links,
                  Map<String,String> userMetaData)

RiakObject

public RiakObject(String bucket,
                  String key,
                  byte[] value,
                  String contentType,
                  List<RiakLink> links,
                  Map<String,String> userMetaData,
                  String vclock,
                  String lastmod,
                  String vtag)
Method Detail

getRiakClient

public RiakClient getRiakClient()

setRiakClient

public RiakObject setRiakClient(RiakClient client)

copyData

public void copyData(RiakObject object)

updateMeta

public void updateMeta(StoreResponse response)

updateMeta

public void updateMeta(FetchResponse response)

getBucket

public String getBucket()

getKey

public String getKey()

getValue

public String getValue()

getValueAsBytes

public byte[] getValueAsBytes()

setValue

public void setValue(String value)

setValue

public void setValue(byte[] value)

setValueStream

public void setValueStream(InputStream in,
                           Long len)

setValueStream

public void setValueStream(InputStream in)

getValueStream

public InputStream getValueStream()

setValueStreamLength

public void setValueStreamLength(Long len)

getValueStreamLength

public Long getValueStreamLength()

getLinks

@Deprecated
public List<RiakLink> getLinks()
Deprecated. 


setLinks

public void setLinks(List<RiakLink> links)

addLink

public RiakObject addLink(RiakLink link)

removeLink

public RiakObject removeLink(RiakLink link)

hasLinks

public boolean hasLinks()

numLinks

public int numLinks()

hasLink

public boolean hasLink(RiakLink riakLink)

getUsermeta

@Deprecated
public Map<String,String> getUsermeta()
Deprecated. 


setUsermeta

public void setUsermeta(Map<String,String> userMetaData)

addUsermetaItem

public RiakObject addUsermetaItem(String key,
                                  String value)

hasUsermeta

public boolean hasUsermeta()

numUsermetaItems

public int numUsermetaItems()

hasUsermetaItem

public boolean hasUsermetaItem(String key)

getUsermetaItem

public String getUsermetaItem(String key)

removeUsermetaItem

public void removeUsermetaItem(String key)

usermetaKeys

public Iterable<String> usermetaKeys()

getIndexes

public List<RiakIndex> getIndexes()
Returns:
a *copy* of the list of RiakIndexes for this object

addIndex

public RiakObject addIndex(String name,
                           String value)
Add a binary index to the object

Parameters:
name - of the index
value - the value to add to the index
Returns:
this

addIndex

public RiakObject addIndex(String name,
                           int value)
Add an int index to this object

Parameters:
name - of the index
value - the value to add to the index
Returns:
this

getContentType

public String getContentType()

setContentType

public void setContentType(String contentType)

getVclock

public String getVclock()

getLastmod

public String getLastmod()

getLastmodAsDate

public Date getLastmodAsDate()

getVtag

public String getVtag()

store

public StoreResponse store(RequestMeta meta)

store

public StoreResponse store()

store

public StoreResponse store(RiakClient riak,
                           RequestMeta meta)

fetch

public FetchResponse fetch(RequestMeta meta)

fetch

public FetchResponse fetch()

fetchMeta

public FetchResponse fetchMeta(RequestMeta meta)

fetchMeta

public FetchResponse fetchMeta()

delete

public HttpResponse delete(RequestMeta meta)

delete

public HttpResponse delete()

walk

public RiakObject.LinkBuilder walk(String bucket,
                                   String tag,
                                   boolean keep)

walk

public RiakObject.LinkBuilder walk(String bucket,
                                   String tag)

walk

public RiakObject.LinkBuilder walk(String bucket,
                                   boolean keep)

walk

public RiakObject.LinkBuilder walk(String bucket)

walk

public RiakObject.LinkBuilder walk()

walk

public RiakObject.LinkBuilder walk(boolean keep)

writeToHttpMethod

public void writeToHttpMethod(org.apache.http.client.methods.HttpRequestBase httpMethod)
Serializes this object to an existing HttpRequestBase which can be sent as an HTTP request. Specifically, sends the object's link, user-defined metadata and vclock as HTTP headers and the value as the body. Used by RiakClient to create PUT requests. if the this RiakObject's value is a stream, and no length is set, the stream is first buffered into a byte array before being written


iterableLinks

public Iterable<RiakLink> iterableLinks()


Copyright © 2012. All Rights Reserved.