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

import com.l7tech.policy.variable.DataType;
import com.l7tech.policy.variable.VariableMetadata;

public class VariableMetadataDTO extends NonEntityDTO {
   private final VariableMetadata a;

   public VariableMetadataDTO(VariableMetadata var1) {
      this.a = var1;
   }

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

   public String getDataType() {
      return this.a.getType() == null ? DataType.UNKNOWN.getShortName() : this.a.getType().getShortName();
   }

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

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

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

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

   @Override
   protected Object createWrapperObject() {
      return new VariableMetadataDTO.VariableMetadataWrapper(this.a);
   }

   public static class VariableMetadataWrapper extends VariableMetadataDTO {
      public VariableMetadataWrapper(VariableMetadata var1) {
         super(var1);
      }

      @Override
      protected Object createWrapperObject() {
         return null;
      }
   }
}
