Browse Source

Added new types;

tags/1.0.0
huanghaiquan 5 years ago
parent
commit
de168d053b
4 changed files with 83 additions and 44 deletions
  1. +43
    -0
      source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BaseType.java
  2. +0
    -24
      source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataType.java
  3. +35
    -15
      source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java
  4. +5
    -5
      source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonSerializer.java

+ 43
- 0
source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/BaseType.java View File

@@ -0,0 +1,43 @@
package com.jd.blockchain.binaryproto;

/**
* 基础类型;
*
* @author huanghaiquan
*
*/
public interface BaseType {

/**
* 空值;
*/
public static final byte NIL = (byte) 0x00;

/**
* 布尔;
*/
public static final byte BOOLEAN = (byte) 0x01;

/**
* 数值;
*/
public static final byte NUMERIC = (byte) 0x10;

/**
* 文本
*/
public static final byte TEXT = (byte) 0x20;

/**
* 字节序列;
*/
public static final byte BYTES = (byte) 0x40;

/**
* 扩展类型;<br>
*
* 最高位为1,用作保留字段;
*/
public static final byte EXT = (byte) 0x80;

}

+ 0
- 24
source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/DataType.java View File

@@ -1,24 +0,0 @@
package com.jd.blockchain.binaryproto;

public interface DataType {

/**
* 空值;
*/
public static final byte NIL = (byte) 0x00;

/**
* 布尔;
*/
public static final byte BOOLEAN = (byte) 0x01;

/**
* 数值;
*/
public static final byte NUMERIC = (byte) 0x10;

public static final byte TEXT = (byte) 0x20;

public static final byte BINARY = (byte) 0x40;

}

+ 35
- 15
source/binary-proto/src/main/java/com/jd/blockchain/binaryproto/PrimitiveType.java View File

@@ -11,68 +11,88 @@ public enum PrimitiveType {
/** /**
* 空; * 空;
*/ */
NIL(DataType.NIL),
NIL(BaseType.NIL),
/** /**
* 布尔型; * 布尔型;
*/ */
BOOLEAN(DataType.BOOLEAN),
BOOLEAN(BaseType.BOOLEAN),
/** /**
* 数值型: * 数值型:
*/ */
INT8((byte) (DataType.NUMERIC | 0x01)),
INT8((byte) (BaseType.NUMERIC | 0x01)),
INT16((byte) (DataType.NUMERIC | 0x02)),
INT16((byte) (BaseType.NUMERIC | 0x02)),
INT32((byte) (DataType.NUMERIC | 0x03)),
INT32((byte) (BaseType.NUMERIC | 0x03)),
INT64((byte) (DataType.NUMERIC | 0x04)),
INT64((byte) (BaseType.NUMERIC | 0x04)),
/** /**
* 时间戳; * 时间戳;
*/ */
TIMESTAMP((byte) (DataType.NUMERIC | 0x08)),
TIMESTAMP((byte) (BaseType.NUMERIC | 0x08)),
/** /**
* 文本数据; * 文本数据;
*/ */
TEXT(DataType.TEXT),
TEXT(BaseType.TEXT),
/** /**
* 文本数据; * 文本数据;
*/ */
JSON((byte) (DataType.TEXT | 0x01)),
JSON((byte) (BaseType.TEXT | 0x01)),
/** /**
* 文本数据; * 文本数据;
*/ */
XML((byte) (DataType.TEXT | 0x02)),
XML((byte) (BaseType.TEXT | 0x02)),
/** /**
* 二进制数据; * 二进制数据;
*/ */
BYTES(DataType.BINARY),
BYTES(BaseType.BYTES),
/** /**
* 大整数; * 大整数;
*/ */
BIG_INT((byte) (DataType.BINARY | 0x01)),
BIG_INT((byte) (BaseType.BYTES | 0x01)),
/** /**
* 图片; * 图片;
*/ */
IMG((byte) (DataType.BINARY | 0x02)),
IMG((byte) (BaseType.BYTES | 0x02)),
/** /**
* 视频; * 视频;
*/ */
VIDEO((byte) (DataType.BINARY | 0x03)),
VIDEO((byte) (BaseType.BYTES | 0x03)),
/** /**
* 位置坐标; * 位置坐标;
*/ */
LOCATION((byte) (DataType.BINARY | 0x04));
LOCATION((byte) (BaseType.BYTES | 0x04)),
/**
* 公钥;
*/
PUB_KEY((byte) (BaseType.BYTES | 0x05)),
/**
* 签名摘要;
*/
SIGNATURE_DIGEST((byte) (BaseType.BYTES | 0x06)),
/**
* 哈希摘要;
*/
HASH_DIGEST((byte) (BaseType.BYTES | 0x07)),
/**
* 加密数据;
*/
ENCRYPTED_DATA((byte) (BaseType.BYTES | 0x08));
public final byte CODE; public final byte CODE;


+ 5
- 5
source/ledger/ledger-rpc/src/main/java/com/jd/blockchain/web/serializes/ByteArrayObjectJsonSerializer.java View File

@@ -2,7 +2,7 @@ package com.jd.blockchain.web.serializes;


import com.alibaba.fastjson.serializer.JSONSerializer; import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer; import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.jd.blockchain.binaryproto.DataType;
import com.jd.blockchain.binaryproto.BaseType;
import com.jd.blockchain.crypto.HashDigest; import com.jd.blockchain.crypto.HashDigest;
import com.jd.blockchain.crypto.PubKey; import com.jd.blockchain.crypto.PubKey;
import com.jd.blockchain.crypto.SignatureDigest; import com.jd.blockchain.crypto.SignatureDigest;
@@ -92,20 +92,20 @@ public class ByteArrayObjectJsonSerializer implements ObjectSerializer {


public static class BytesValueJson { public static class BytesValueJson {


public BytesValueJson(DataType type, Object value) {
public BytesValueJson(BaseType type, Object value) {
this.type = type; this.type = type;
this.value = value; this.value = value;
} }


DataType type;
BaseType type;


Object value; Object value;


public DataType getType() {
public BaseType getType() {
return type; return type;
} }


public void setType(DataType type) {
public void setType(BaseType type) {
this.type = type; this.type = type;
} }




Loading…
Cancel
Save