package com.l7tech.common.io;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

abstract class f implements DocumentReferenceProcessor.ReferenceTypeProcessor {
   private final String a;
   private final Set<String> b;
   private final String c;

   private f(String var1, String var2, String... var3) {
      this.a = var1;
      this.c = var2;
      this.b = new HashSet<>(Arrays.asList(var3));
   }

   @Override
   public DocumentReferenceProcessor.ReferenceInfo extractReference(Node var1) {
      DocumentReferenceProcessor.ReferenceInfo var2 = null;
      if (var1.getNodeType() == 1) {
         Element var3 = (Element)var1;
         if (this.a.equals(var3.getNamespaceURI()) && this.b.contains(var3.getLocalName()) && (this.c == null || var3.hasAttribute(this.c))) {
            var2 = this.processReference(var3);
         }
      }

      return var2;
   }

   @Override
   public void replaceReference(Node var1, String var2, String var3) {
      this.replaceReference(var1, this.c, var2, var3);
   }

   protected void replaceReference(Node var1, String var2, String var3, String var4) {
      if (var1.getNodeType() == 1) {
         Element var5 = (Element)var1;
         if (this.a.equals(var5.getNamespaceURI()) && this.b.contains(var5.getLocalName())) {
            var5.setAttributeNS(null, var2, var4);
         }
      }
   }

   protected DocumentReferenceProcessor.ReferenceInfo processReference(Node var1) {
      DocumentReferenceProcessor.ReferenceInfo var2 = null;
      if (var1 instanceof Element && this.c != null) {
         var2 = new DocumentReferenceProcessor.ReferenceInfo(((Element)var1).getAttribute(this.c));
      }

      return var2;
   }
}
