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

com.reprezen.genflow.common.jsonschema.builder.xchange.XChangeJsonSchemaNodeFactory Maven / Gradle / Ivy

package com.reprezen.genflow.common.jsonschema.builder.xchange;

import com.fasterxml.jackson.databind.node.ObjectNode;
import com.reprezen.genflow.common.jsonschema.JsonSchemaFormat;
import com.reprezen.genflow.common.jsonschema.Options;
import com.reprezen.genflow.common.jsonschema.builder.JsonSchemaNode;
import com.reprezen.genflow.common.jsonschema.builder.JsonSchemaNodeFactory;
import com.reprezen.genflow.common.jsonschema.builder.SwaggerPrimitiveTypeNode;
import com.reprezen.rapidml.PrimitiveType;

@SuppressWarnings("all")
public class XChangeJsonSchemaNodeFactory extends JsonSchemaNodeFactory {
  public XChangeJsonSchemaNodeFactory() {
    super(JsonSchemaFormat.SWAGGER);
  }
  
  @Override
  public JsonSchemaNode createPrimitiveTypeNode(final PrimitiveType element) {
    final Options options = this.getOptions();
    return new SwaggerPrimitiveTypeNode(this, element) {
      @Override
      public ObjectNode write(final ObjectNode node) {
        ObjectNode _xblockexpression = null;
        {
          super.write(node);
          ObjectNode _xifexpression = null;
          boolean _isAllowEmptyString = options.isAllowEmptyString();
          boolean _not = (!_isAllowEmptyString);
          if (_not) {
            ObjectNode _xifexpression_1 = null;
            boolean _equals = "string".equals(this.getType());
            if (_equals) {
              _xifexpression_1 = node.put("minLength", 1);
            }
            _xifexpression = _xifexpression_1;
          }
          _xblockexpression = _xifexpression;
        }
        return _xblockexpression;
      }
    };
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy