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

com.reprezen.genflow.common.jsonschema.builder.ReferenceTreatmentNode Maven / Gradle / Ivy

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

import com.fasterxml.jackson.databind.node.ObjectNode;
import com.reprezen.genflow.common.jsonschema.JsonSchemaHelper;
import com.reprezen.genflow.common.jsonschema.builder.JsonSchemaNodeFactory;
import com.reprezen.genflow.common.jsonschema.builder.PropertyNode;
import com.reprezen.rapidml.Feature;
import com.reprezen.rapidml.ReferenceElement;
import com.reprezen.rapidml.ReferenceProperty;
import com.reprezen.rapidml.ReferenceTreatment;
import org.eclipse.xtext.xbase.lib.Extension;

@SuppressWarnings("all")
public abstract class ReferenceTreatmentNode extends PropertyNode {
  @Extension
  private JsonSchemaHelper _jsonSchemaHelper = new JsonSchemaHelper();
  
  public ReferenceTreatmentNode(final JsonSchemaNodeFactory director, final T element) {
    super(director, element);
  }
  
  public ObjectNode inlineOrAddTopLevelNode(final ObjectNode parentNode) {
    return this.write(parentNode);
  }
  
  @Override
  public String getName() {
    return this._jsonSchemaHelper.getReferencedProperty(this.element).getName();
  }
  
  @Override
  public String getPropertyDocumentation() {
    ReferenceElement _referenceElement = this.element.getReferenceElement();
    if ((_referenceElement instanceof ReferenceProperty)) {
      ReferenceElement _referenceElement_1 = this.element.getReferenceElement();
      return this._zenModelHelper.getDocumentation(((ReferenceProperty) _referenceElement_1));
    }
    return "";
  }
  
  @Override
  public int getMinOccurs() {
    return this.getReferencedProperty().getMinOccurs();
  }
  
  @Override
  public int getMaxOccurs() {
    return this.getReferencedProperty().getMaxOccurs();
  }
  
  public ReferenceElement getReferencedProperty() {
    return this.element.getReferenceElement();
  }
  
  @Override
  public Feature getBaseFeature() {
    Object _xblockexpression = null;
    {
      ReferenceElement _referenceElement = this.element.getReferenceElement();
      if ((_referenceElement instanceof ReferenceProperty)) {
        ReferenceElement _referenceElement_1 = this.element.getReferenceElement();
        return ((ReferenceProperty) _referenceElement_1);
      }
      _xblockexpression = null;
    }
    return ((Feature)_xblockexpression);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy