All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jd.blockchain.transaction.DataAccountKVSetOperationBuilder Maven / Gradle / Ivy

There is a newer version: 1.6.5.RELEASE
Show newest version
package com.jd.blockchain.transaction;

import com.jd.blockchain.ledger.BytesValue;
import com.jd.blockchain.ledger.DataAccountKVSetOperation;

import utils.Bytes;

/**
 * @author huanghaiquan
 *
 */
public interface DataAccountKVSetOperationBuilder {

	/**
	 * 数据账户的KV写入操作;
	 * 
	 * @return
	 */
	DataAccountKVSetOperation getOperation();

	/**
	 * 写入键值;
	 * 
	 * @return
	 */
	/**
	 * @param key        键;
	 * @param value      值;
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder set(String key, BytesValue value, long expVersion);

	/**
	 * 写入字节数组;
	 * 
	 * @param key        键;
	 * @param value      值;byte[]格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setBytes(String key, byte[] value, long expVersion);

	/**
	 * 写入字节数组;
	 *
	 * @param key        键;
	 * @param value      值;Bytes格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setBytes(String key, Bytes value, long expVersion);

	/**
	 * 写入键值;
	 *
	 * @param key        键;
	 * @param value      值;String格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setImage(String key, byte[] value, long expVersion);

//	/**
//	 * 写入文本键值;
//	 *
//	 * @param key
//	 *            键;
//	 * @param value
//	 *            值;String格式
//	 * @param expVersion
//	 *            预期的当前版本;如果版本不匹配,则写入失败;
//	 * @return
//	 */
//	@Deprecated
//	DataAccountKVSetOperationBuilder set(String key, String value, long expVersion);

	/**
	 * 写入文本键值;
	 *
	 * @param key        键;
	 * @param value      值;String格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setText(String key, String value, long expVersion);

	/**
	 * 写入JSON键值;
	 *
	 * @param key        键;
	 * @param value      值;String格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setJSON(String key, String value, long expVersion);

	/**
	 * 写入XML键值;
	 *
	 * @param key        键;
	 * @param value      值;String格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setXML(String key, String value, long expVersion);

	/**
	 * 写入64位整数;
	 *
	 * @param key        键;
	 * @param value      值;long格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setInt64(String key, long value, long expVersion);

	/**
	 * 写入时间戳;
	 *
	 * @param key        键;
	 * @param value      值;long格式
	 * @param expVersion 预期的当前版本;如果版本不匹配,则写入失败;
	 * @return
	 */
	DataAccountKVSetOperationBuilder setTimestamp(String key, long value, long expVersion);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy