package com.l7tech.policy.assertion;

import com.l7tech.policy.PolicyUtil;
import com.l7tech.util.Functions.UnaryVoid;
import com.l7tech.xml.NamespaceMigratable;
import java.util.HashMap;
import java.util.Map;

public class NamespaceMigrator implements UnaryVoid<Assertion> {
   private Map<String, String> a;

   public NamespaceMigrator(Map<String, String> var1) {
      this.a = new HashMap<>(var1);
   }

   public void migrateDescendantsAndSelf(Assertion var1, AssertionTranslator var2) {
      PolicyUtil.visitDescendantsAndSelf(var1, this, var2);
   }

   public void migrate(Assertion var1) {
      if (var1 instanceof NamespaceMigratable var2) {
         var2.migrateNamespaces(this.a);
      }
   }

   public void call(Assertion var1) {
      this.migrate(var1);
   }
}
