/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.audit.Audit
 */
package com.l7tech.server.communityschemas;

import com.l7tech.gateway.common.audit.Audit;
import java.io.IOException;

public interface SchemaSourceResolver {
    public String getId();

    public boolean isTransient();

    public boolean isRemote();

    public SchemaSource getSchemaByTargetNamespace(Audit var1, String var2) throws IOException;

    public SchemaSource getSchemaByUri(Audit var1, String var2) throws IOException;

    public void refreshSchemaByUri(Audit var1, String var2) throws IOException;

    public void registerInvalidationListener(SchemaInvalidationListener var1);

    public static interface SchemaInvalidationListener {
        public boolean invalidateSchemaByUri(String var1, boolean var2);
    }

    public static final class DefaultSchemaSource
    implements SchemaSource {
        private final String a;
        private final String b;
        private final String c;
        private final boolean d;

        public DefaultSchemaSource(String string, String string2, SchemaSourceResolver schemaSourceResolver) {
            this(string, string2, schemaSourceResolver.getId(), schemaSourceResolver.isTransient());
        }

        public DefaultSchemaSource(String string, String string2, String string3, boolean bl2) {
            this.a = string;
            this.b = string2;
            this.c = string3;
            this.d = bl2;
        }

        @Override
        public String getUri() {
            return this.a;
        }

        @Override
        public String getContent() {
            return this.b;
        }

        @Override
        public String getResolverId() {
            return this.c;
        }

        @Override
        public boolean isTransient() {
            return this.d;
        }
    }

    public static interface SchemaSource {
        public String getUri();

        public String getContent();

        public boolean isTransient();

        public String getResolverId();
    }
}

