public class Datapoint extends AbstractParser
| Modifier and Type | Method and Description |
|---|---|
int |
bytesOf(DataAccess dataAccess)
计算指定类型的总字节长度
|
int |
bytesOfFlags(boolean dynamic)
[w2m] write(0x01): enabled_flags, status_writable (len of enabled_flags = math.ceil(num_of_writable_fields / 8.0) bytes)
计算写指令的 有效(enabled_flags) 长度
一个可读写数据点占用一个bit
dynamic 是否是变长
|
Attr |
findAttr(String name)
查找指定名称的 属性定义
|
List<Attr> |
findDataAccessAttr(DataAccess access)
查找指定数据类型的所有属性
|
List<Entity> |
getEntities()
获取数据点列表
|
String |
getName()
获取产品名称
|
String |
getPacketVersion()
获取协议版本
|
String |
getProductKey()
获取产品标识码
|
String |
getProtocolType()
获取协议类型
|
static Datapoint |
load(Reader reader)
example:
return mapper.fromJson(new InputStreamReader(Datapoint.class
.getResourceAsStream("/dps/pet-house.json")), Datapoint.class);
|
static Datapoint |
load(String jsonDefinition) |
int |
numOf(DataAccess access)
返回指定读写类型的属性个数
|
int |
numofAll()
返回所有属性的个数
|
Offset |
offsetOfBit(String attrName)
计算指定 bool 或 enum 属性 对应的字节位置和 bit 位置
|
protected com.alibaba.fastjson.JSONObject |
parseDynamic(byte[] bytes,
int offset) |
protected com.alibaba.fastjson.JSONObject |
parseInternal(byte[] bytes,
int offset,
boolean write)
机智云标准接入之通用数据点解析
|
String |
toString() |
parsepublic static Datapoint load(Reader reader)
return mapper.fromJson(new InputStreamReader(Datapoint.class
.getResourceAsStream("/dps/pet-house.json")), Datapoint.class);
reader - public String getName()
public String getProductKey()
public String getProtocolType()
public String getPacketVersion()
public int numOf(DataAccess access)
access - 只读、读写、告警、故障public int numofAll()
public int bytesOfFlags(boolean dynamic)
public List<Attr> findDataAccessAttr(DataAccess access)
access - public int bytesOf(DataAccess dataAccess)
dataAccess - public Offset offsetOfBit(String attrName)
attrName,只针对 - bit 属性protected com.alibaba.fastjson.JSONObject parseInternal(byte[] bytes,
int offset,
boolean write)
parseInternal in class AbstractParserbytes - offset - write - protected com.alibaba.fastjson.JSONObject parseDynamic(byte[] bytes,
int offset)
parseDynamic in class AbstractParserCopyright © 2019. All rights reserved.