java configure_Java JsonGenerator.configure方法代码示例

import com.fasterxml.jackson.core.JsonGenerator; //导入方法依赖的package包/类

public static void serializeFlowMod(JsonGenerator jGen, OFFlowMod flowMod) throws IOException, JsonProcessingException {

jGen.configure(Feature.WRITE_NUMBERS_AS_STRINGS, true); // IMHO this just looks nicer and is easier to read if everything is quoted

jGen.writeStartObject();

jGen.writeStringField("version", flowMod.getVersion().toString()); // return the enum names

jGen.writeStringField("command", flowMod.getCommand().toString());

jGen.writeNumberField("cookie", flowMod.getCookie().getValue());

jGen.writeNumberField("priority", flowMod.getPriority());

jGen.writeNumberField("idleTimeoutSec", flowMod.getIdleTimeout());

jGen.writeNumberField("hardTimeoutSec", flowMod.getHardTimeout());

jGen.writeStringField("outPort", flowMod.getOutPort().toString());

switch (flowMod.getVersion()) {

case OF_10:

break;

case OF_11:

jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer11.toWireValue(flowMod.getFlags()));

jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());

jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());

jGen.writeStringField("tableId", flowMod.getTableId().toString());

break;

case OF_12:

jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer12.toWireValue(flowMod.getFlags()));

jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());

jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());

jGen.writeStringField("tableId", flowMod.getTableId().toString());

break;

case OF_13:

jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer13.toWireValue(flowMod.getFlags()));

jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());

jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());

break;

case OF_14:

jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer14.toWireValue(flowMod.getFlags()));

jGen.writeNumberField("cookieMask", flowMod.getCookieMask().getValue());

jGen.writeStringField("outGroup", flowMod.getOutGroup().toString());

jGen.writeStringField("tableId", flowMod.getTableId().toString());

break;

default:

logger.error("Could not decode OFVersion {}", flowMod.getVersion());

break;

}

MatchSerializer.serializeMatch(jGen, flowMod.getMatch());

// handle OF1.1+ instructions with actions within

if (flowMod.getVersion() == OFVersion.OF_10) {

jGen.writeObjectFieldStart("actions");

OFActionListSerializer.serializeActions(jGen, flowMod.getActions());

jGen.writeEndObject();

} else {

OFInstructionListSerializer.serializeInstructionList(jGen, flowMod.getInstructions());

} // end not-empty instructions (else)

jGen.writeEndObject();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值