package com.l7tech.common.io;

import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collection;

public class ResourceDocumentResolverSupport implements ResourceDocumentResolver {
   @Override
   public ResourceDocument resolveByUri(String var1) throws IOException {
      return null;
   }

   @Override
   public ResourceDocument resolveByTargetNamespace(String var1, String var2) throws IOException {
      try {
         if (var1 == null) {
            return null;
         }
      } catch (IOException var3) {
         throw a(var3);
      }

      return this.resolveByUri(var1);
   }

   @Override
   public ResourceDocument resolveByPublicId(String var1, String var2) throws IOException {
      try {
         if (var1 == null) {
            return null;
         }
      } catch (IOException var3) {
         throw a(var3);
      }

      return this.resolveByUri(var1);
   }

   protected URI asUri(String var1) throws IOException {
      try {
         return new URI(var1);
      } catch (URISyntaxException var3) {
         throw new IOException(var3);
      }
   }

   protected boolean isScheme(URI var1, Collection<String> var2) {
      return var1.getScheme() != null && var2.contains(var1.getScheme().toLowerCase());
   }

   protected ResourceDocument newResourceDocument(URI var1) {
      return new URIResourceDocument(var1, this.getResolver());
   }

   protected ResourceDocument newResourceDocument(String var1, String var2) throws IOException {
      try {
         return this.newResourceDocument(new URI(var1), var2);
      } catch (URISyntaxException var4) {
         throw new IOException(var4);
      }
   }

   protected ResourceDocument newResourceDocument(URI var1, String var2) {
      return new URIResourceDocument(var1, var2, this.getResolver());
   }

   protected ResourceDocument newResourceDocument(File var1) {
      return new FileResourceDocument(var1);
   }

   protected ResourceDocumentResolver getResolver() {
      return this;
   }

   private static IOException a(IOException var0) {
      return var0;
   }
}
