package com.l7tech.external.assertions.gatewaygraphql.server.data;

import com.fasterxml.jackson.annotation.JsonIncludeProperties;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.l7tech.objectmodel.encass.EncapsulatedAssertionArgumentDescriptor;
import com.l7tech.policy.variable.DataType;

public class EncassArgDTO {
   private final EncapsulatedAssertionArgumentDescriptor a;

   public EncassArgDTO(EncapsulatedAssertionArgumentDescriptor var1) {
      this.a = var1;
   }

   public String getName() {
      return this.a.getArgumentName();
   }

   public EncassConfigDTO.DataType getType() {
      return EncassConfigDTO.enumDataType(DataType.forName(this.a.getArgumentType()));
   }

   public String getRawType() {
      return this.a.getArgumentType();
   }

   public int getOrdinal() {
      return this.a.getOrdinal();
   }

   public boolean isGuiPrompt() {
      return this.a.isGuiPrompt();
   }

   public String getGuiLabel() {
      return this.a.getGuiLabel();
   }

   @JsonIncludeProperties({"name", "rawType", "ordinal", "guiPrompt", "guiLabel"})
   @JsonPropertyOrder({"name", "rawType", "ordinal", "guiPrompt", "guiLabel"})
   public static final class EncassArgWrapper extends EncassArgDTO {
      public EncassArgWrapper(EncapsulatedAssertionArgumentDescriptor var1) {
         super(var1);
      }
   }
}
