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

com.reprezen.genflow.common.jsonschema.JacksonUtils Maven / Gradle / Ivy

package com.reprezen.genflow.common.jsonschema;

import com.fasterxml.jackson.databind.node.ObjectNode;
import java.util.Arrays;

@SuppressWarnings("all")
public class JacksonUtils {
  protected ObjectNode _putNumber(final ObjectNode node, final String propName, final Integer num) {
    return node.put(propName, num);
  }
  
  protected ObjectNode _putNumber(final ObjectNode node, final String propName, final Float num) {
    return node.put(propName, num);
  }
  
  protected ObjectNode _putNumber(final ObjectNode node, final String propName, final Long num) {
    return node.put(propName, num);
  }
  
  protected ObjectNode _putNumber(final ObjectNode node, final String propName, final Double num) {
    return node.put(propName, num);
  }
  
  protected ObjectNode _putNumber(final ObjectNode node, final String propName, final Short num) {
    return node.put(propName, num);
  }
  
  protected ObjectNode _putNumber(final ObjectNode node, final String propName, final Number num) {
    return node.put(propName, num.toString());
  }
  
  public ObjectNode putNumber(final ObjectNode node, final String propName, final Number num) {
    if (num instanceof Double) {
      return _putNumber(node, propName, (Double)num);
    } else if (num instanceof Float) {
      return _putNumber(node, propName, (Float)num);
    } else if (num instanceof Integer) {
      return _putNumber(node, propName, (Integer)num);
    } else if (num instanceof Long) {
      return _putNumber(node, propName, (Long)num);
    } else if (num instanceof Short) {
      return _putNumber(node, propName, (Short)num);
    } else if (num != null) {
      return _putNumber(node, propName, num);
    } else {
      throw new IllegalArgumentException("Unhandled parameter types: " +
        Arrays.asList(node, propName, num).toString());
    }
  }
}