/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.audit.AuditDetailMessage
 *  com.l7tech.objectmodel.Goid
 */
package com.l7tech.server.uddi;

import com.l7tech.gateway.common.audit.AuditDetailMessage;
import com.l7tech.objectmodel.Goid;
import com.l7tech.server.uddi.o;

public abstract class UDDITaskFactory {
    public abstract UDDITask buildUDDITask(o var1);

    public static abstract class UDDIHandledTaskException
    extends UDDITaskException {
        static final long serialVersionUID = -2195696692866828529L;

        protected UDDIHandledTaskException() {
        }

        public UDDIHandledTaskException(String string) {
            super(string);
        }

        public UDDIHandledTaskException(String string, Throwable throwable) {
            super(string, throwable);
        }

        public abstract void handleTaskError();
    }

    public static class UDDITaskException
    extends Exception {
        static final long serialVersionUID = -8991794480863106949L;

        public UDDITaskException() {
        }

        public UDDITaskException(String string) {
            super(string);
        }

        public UDDITaskException(String string, Throwable throwable) {
            super(string, throwable);
        }
    }

    public static abstract class UDDITask {
        public abstract void apply(UDDITaskContext var1) throws UDDITaskException;
    }

    public static interface UDDITaskContext {
        public String getSubscriptionNotificationURL(Goid var1);

        public String getSubscriptionBindingKey(Goid var1);

        public void notifyEvent(o var1);

        public void logAndAudit(AuditDetailMessage var1, Throwable var2, String ... var3);

        public void logAndAudit(AuditDetailMessage var1, String ... var2);

        public void logAndAudit(AuditDetailMessage var1);

        public int getMaxRetryAttempts();

        public void flushSession();
    }
}

