package com.l7tech.gateway.common.service;

import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.objectmodel.imp.ZoneableNamedEntityImp;
import com.l7tech.security.rbac.RbacAttribute;
import com.l7tech.util.DeserializeSafe;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;

@Entity
@Proxy(lazy = false)
@Table(name = "sample_messages")
@DeserializeSafe
public class SampleMessage extends ZoneableNamedEntityImp {
   public static final String ATTR_SERVICE_GOID;
   private Goid serviceGoid;
   private String xml;
   private String operationName;
   static final long serialVersionUID = 7033272908409800454L;

   public SampleMessage(Goid var1, String var2, String var3, String var4) {
      if (!PersistentEntity.DEFAULT_GOID.equals(var1)) {
         this.serviceGoid = var1;
      }

      this._name = var2;
      this.operationName = var3;
      this.xml = var4;
   }

   @Column(name = "`xml`")
   public String getXml() {
      return this.xml;
   }

   @Column(name = "published_service_goid")
   @Type(type = "com.l7tech.server.util.GoidType")
   public Goid getServiceGoid() {
      return this.serviceGoid;
   }

   @RbacAttribute
   @Column(name = "operation_name")
   public String getOperationName() {
      return this.operationName;
   }

   public SampleMessage() {
   }

   public void setServiceGoid(Goid var1) {
      this.serviceGoid = var1;
   }

   public void setXml(String var1) {
      this.xml = var1;
   }

   public void setOperationName(String var1) {
      this.operationName = var1;
   }

   public void copyFrom(SampleMessage var1) {
      this.setGoid(var1.getGoid());
      this._name = var1._name;
      this.serviceGoid = var1.serviceGoid;
      this.operationName = var1.operationName;
      this.xml = var1.xml;
      this.securityZone = var1.getSecurityZone();
   }

   static {
      String var10002 = b(48, b("F:zMq\u0005=r0a_"));
      byte var10001 = -1;
      ATTR_SERVICE_GOID = var10002;
   }

   private static char[] b(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 104);
      }

      return var10000;
   }

   private static String b(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 5;
            case 1 -> 111;
            case 2 -> 56;
            case 3 -> 11;
            case 4 -> 40;
            case 5 -> 86;
            default -> 104;
         });
      }

      return new String(var10001).intern();
   }
}
