当前位置: 首页>>代码示例>>Java>>正文


Java DeserializationContext.reportInputMismatch方法代码示例

本文整理汇总了Java中com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch方法的典型用法代码示例。如果您正苦于以下问题:Java DeserializationContext.reportInputMismatch方法的具体用法?Java DeserializationContext.reportInputMismatch怎么用?Java DeserializationContext.reportInputMismatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.fasterxml.jackson.databind.DeserializationContext的用法示例。


在下文中一共展示了DeserializationContext.reportInputMismatch方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: validateRevisionNumber

import com.fasterxml.jackson.databind.DeserializationContext; //导入方法依赖的package包/类
private static void validateRevisionNumber(DeserializationContext ctx, JsonNode node,
                                           String type, boolean zeroAllowed) throws JsonMappingException {
    if (node == null) {
        ctx.reportInputMismatch(Revision.class, "missing %s revision number", type);
        // Should never reach here.
        throw new Error();
    }

    if (!node.canConvertToInt() || !zeroAllowed && node.intValue() == 0) {
        ctx.reportInputMismatch(Revision.class,
                                "A %s revision number must be %s integer.",
                                type, zeroAllowed ? "an" : "a non-zero");
        // Should never reach here.
        throw new Error();
    }
}
 
开发者ID:line,项目名称:centraldogma,代码行数:17,代码来源:RevisionJsonDeserializer.java

示例2: deserialize

import com.fasterxml.jackson.databind.DeserializationContext; //导入方法依赖的package包/类
@Override
public SimpleSession deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
    try (ByteArrayInputStream bais =
                 new ByteArrayInputStream(Base64.getDecoder().decode(p.readValueAs(String.class)));
         ObjectInputStream ois = new ObjectInputStream(bais)) {
        return (SimpleSession) ois.readObject();
    } catch (ClassNotFoundException e) {
        ctxt.reportInputMismatch(SimpleSession.class, "failed to deserialize a session: " + e);
        throw new Error(); // Should never reach here
    }
}
 
开发者ID:line,项目名称:centraldogma,代码行数:12,代码来源:SimpleSessionJsonDeserializer.java

示例3: deserialize

import com.fasterxml.jackson.databind.DeserializationContext; //导入方法依赖的package包/类
@Override
public CommitMessageDto deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
    final JsonNode jsonNode = p.readValueAsTree();
    final JsonNode summary = jsonNode.get("summary");
    if (summary == null || summary.textValue() == null) {
        ctxt.reportInputMismatch(CommitMessageDto.class, "commit message should have a summary.");
        // should never reach here
        throw new Error();
    }

    final String detail = jsonNode.get("detail") == null ? "" : jsonNode.get("detail").textValue();
    final JsonNode markupNode = jsonNode.get("markup");
    final Markup markup = Markup.parse(markupNode == null ? "unknown" : markupNode.textValue());
    return new CommitMessageDto(summary.textValue(), detail, markup);
}
 
开发者ID:line,项目名称:centraldogma,代码行数:16,代码来源:CommitMessageDtoDeserializer.java

示例4: fail

import com.fasterxml.jackson.databind.DeserializationContext; //导入方法依赖的package包/类
private static ServerPort fail(DeserializationContext ctx, JsonNode root) throws JsonMappingException {
    ctx.reportInputMismatch(ServerPort.class, "invalid server port information: %s", root);
    throw new Error(); // Should never reach here.
}
 
开发者ID:line,项目名称:centraldogma,代码行数:5,代码来源:CentralDogmaConfig.java

示例5: deserialize

import com.fasterxml.jackson.databind.DeserializationContext; //导入方法依赖的package包/类
@Override
public Revision deserialize(JsonParser p, DeserializationContext ctx) throws IOException {
    final JsonNode node = p.readValueAsTree();
    if (node.isNumber()) {
        validateRevisionNumber(ctx, node, "major", false);
        return new Revision(node.intValue());
    }

    if (node.isTextual()) {
        try {
            return new Revision(node.textValue());
        } catch (IllegalArgumentException e) {
            ctx.reportInputMismatch(Revision.class, e.getMessage());
            // Should never reach here.
            throw new Error();
        }
    }

    if (!node.isObject()) {
        ctx.reportInputMismatch(Revision.class,
                                "A revision must be a non-zero integer or " +
                                "an object that contains \"major\" and \"minor\" properties.");
        // Should never reach here.
        throw new Error();
    }

    final JsonNode majorNode = node.get("major");
    final JsonNode minorNode = node.get("minor");
    final int major;

    validateRevisionNumber(ctx, majorNode, "major", false);
    major = majorNode.intValue();
    if (minorNode != null) {
        validateRevisionNumber(ctx, minorNode, "minor", true);
        if (minorNode.intValue() != 0) {
            ctx.reportInputMismatch(Revision.class,
                                    "A revision must not have a non-zero \"minor\" property.");
        }
    }

    return new Revision(major);
}
 
开发者ID:line,项目名称:centraldogma,代码行数:43,代码来源:RevisionJsonDeserializer.java


注:本文中的com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。