/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.objectmodel.imp.PersistentEntityImp
 *  jakarta.persistence.Column
 *  jakarta.persistence.Entity
 *  jakarta.persistence.EnumType
 *  jakarta.persistence.Enumerated
 *  jakarta.persistence.Table
 *  jakarta.persistence.Version
 *  org.hibernate.annotations.Proxy
 *  org.hibernate.annotations.Type
 */
package com.l7tech.server.uddi;

import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.imp.PersistentEntityImp;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Table;
import jakarta.persistence.Version;
import org.hibernate.annotations.Proxy;
import org.hibernate.annotations.Type;

@Entity
@Proxy(lazy=false)
@Table(name="uddi_business_service_status")
public class UDDIBusinessServiceStatus
extends PersistentEntityImp {
    private Goid publishedServiceGoid;
    private Goid uddiRegistryGoid;
    private String uddiServiceKey;
    private String uddiServiceName;
    private String uddiPolicyPublishUrl;
    private String uddiPolicyUrl;
    private String uddiPolicyTModelKey;
    private Status uddiPolicyStatus;
    private String uddiMetricsTModelKey;
    private Status uddiMetricsReferenceStatus;
    static final long serialVersionUID = -1622659373249697517L;

    @Column(name="published_service_goid", updatable=false)
    @Type(type="com.l7tech.server.util.GoidType")
    public Goid getPublishedServiceGoid() {
        return this.publishedServiceGoid;
    }

    public void setPublishedServiceGoid(Goid goid) {
        this.publishedServiceGoid = goid;
    }

    @Column(name="uddi_registry_goid", updatable=false)
    @Type(type="com.l7tech.server.util.GoidType")
    public Goid getUddiRegistryGoid() {
        return this.uddiRegistryGoid;
    }

    public void setUddiRegistryGoid(Goid goid) {
        this.uddiRegistryGoid = goid;
    }

    @Column(name="uddi_service_key")
    public String getUddiServiceKey() {
        return this.uddiServiceKey;
    }

    public void setUddiServiceKey(String string) {
        this.uddiServiceKey = string;
    }

    @Column(name="uddi_service_name")
    public String getUddiServiceName() {
        return this.uddiServiceName;
    }

    public void setUddiServiceName(String string) {
        this.uddiServiceName = string;
    }

    @Column(name="uddi_policy_publish_url")
    public String getUddiPolicyPublishUrl() {
        return this.uddiPolicyPublishUrl;
    }

    public void setUddiPolicyPublishUrl(String string) {
        this.uddiPolicyPublishUrl = string;
    }

    @Column(name="uddi_policy_url")
    public String getUddiPolicyUrl() {
        return this.uddiPolicyUrl;
    }

    public void setUddiPolicyUrl(String string) {
        this.uddiPolicyUrl = string;
    }

    @Column(name="uddi_policy_tmodel_key")
    public String getUddiPolicyTModelKey() {
        return this.uddiPolicyTModelKey;
    }

    public void setUddiPolicyTModelKey(String string) {
        this.uddiPolicyTModelKey = string;
    }

    @Column(name="policy_status")
    @Enumerated(value=EnumType.STRING)
    public Status getUddiPolicyStatus() {
        return this.uddiPolicyStatus;
    }

    public void setUddiPolicyStatus(Status status) {
        this.uddiPolicyStatus = status;
    }

    @Column(name="uddi_metrics_tmodel_key")
    public String getUddiMetricsTModelKey() {
        return this.uddiMetricsTModelKey;
    }

    public void setUddiMetricsTModelKey(String string) {
        this.uddiMetricsTModelKey = string;
    }

    @Column(name="metrics_reference_status")
    @Enumerated(value=EnumType.STRING)
    public Status getUddiMetricsReferenceStatus() {
        return this.uddiMetricsReferenceStatus;
    }

    public void setUddiMetricsReferenceStatus(Status status) {
        this.uddiMetricsReferenceStatus = status;
    }

    @Version
    @Column(name="version")
    public int getVersion() {
        return super.getVersion();
    }

    public static final class Status
    extends Enum<Status> {
        public static final /* enum */ Status NONE;
        public static final /* enum */ Status PUBLISH;
        public static final /* enum */ Status PUBLISHED;
        public static final /* enum */ Status DELETE;
        private static final /* synthetic */ Status[] $VALUES;

        public static Status[] values() {
            return (Status[])$VALUES.clone();
        }

        public static Status valueOf(String string) {
            return Enum.valueOf(Status.class, string);
        }

        private static /* synthetic */ Status[] $values() {
            return new Status[]{NONE, PUBLISH, PUBLISHED, DELETE};
        }

        /*
         * Unable to fully structure code
         */
        static {
            block10: {
                block9: {
                    var0 = new String[4];
                    var4_1 = 0;
                    var3_2 = "#[DT\u0007=AH]I\b\u001f";
                    var5_3 = "#[DT\u0007=AH]I\b\u001f".length();
                    var2_4 = 4;
                    var1_5 = -1;
lbl7:
                    // 2 sources

                    while (true) {
                        v0 = 30;
                        v1 = ++var1_5;
                        v2 = var3_2.substring(v1, v1 + var2_4);
                        v3 = -1;
                        break block9;
                        break;
                    }
lbl13:
                    // 1 sources

                    while (true) {
                        var0[var4_1++] = Status.a(v0, Status.a(v2));
                        if ((var1_5 += var2_4) < var5_3) {
                            var2_4 = var3_2.charAt(var1_5);
                            ** continue;
                        }
                        var3_2 = "\u001ebk~j+<\u000bs\u0006\nreww=";
                        var5_3 = "\u001ebk~j+<\u000bs\u0006\nreww=".length();
                        var2_4 = 9;
                        var1_5 = -1;
lbl22:
                        // 2 sources

                        while (true) {
                            v0 = 61;
                            v4 = ++var1_5;
                            v2 = var3_2.substring(v4, v4 + var2_4);
                            v3 = 0;
                            break block9;
                            break;
                        }
                        break;
                    }
lbl28:
                    // 1 sources

                    while (true) {
                        var0[var4_1++] = Status.a(v0, Status.a(v2));
                        if ((var1_5 += var2_4) < var5_3) {
                            var2_4 = var3_2.charAt(var1_5);
                            ** continue;
                        }
                        break block10;
                        break;
                    }
                }
                switch (v3) {
                    default: {
                        ** continue;
                    }
                    ** case 0:
lbl39:
                    // 1 sources

                    ** continue;
                }
            }
            Status.NONE = new Status();
            Status.PUBLISH = new Status();
            Status.PUBLISHED = new Status();
            Status.DELETE = new Status();
            Status.$VALUES = Status.$values();
        }

        private static char[] a(String string) {
            char[] cArray = string.toCharArray();
            if (cArray.length < 2) {
                cArray = cArray;
                cArray[0] = (char)(cArray[0] ^ 0x49);
            }
            return cArray;
        }

        /*
         * Handled impossible loop by duplicating code
         * Enabled aggressive block sorting
         */
        private static String a(int n2, char[] cArray) {
            char[] cArray2;
            block11: {
                int n3;
                int n4;
                int n5;
                block10: {
                    n5 = n2;
                    cArray2 = cArray;
                    n4 = cArray.length;
                    n3 = 0;
                    if (!true) break block10;
                    n4 = n4;
                    if (n4 <= n3) break block11;
                }
                do {
                    n5 = n5;
                    cArray2 = cArray2;
                    int n6 = n3;
                    cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                        case 0 -> 115;
                        case 1 -> 10;
                        case 2 -> 20;
                        case 3 -> 15;
                        case 4 -> 30;
                        case 5 -> 69;
                        default -> 73;
                    })));
                    ++n3;
                    n4 = n4;
                } while (n4 > n3);
            }
            return new String(cArray2).intern();
        }
    }
}

