package com.l7tech.security.xml.processor;

import com.l7tech.security.token.SignedElement;
import com.l7tech.security.token.SignedPart;
import com.l7tech.security.token.SigningSecurityToken;
import com.l7tech.util.Disposable;
import java.util.ArrayList;
import java.util.List;
import org.w3c.dom.Element;

abstract class f extends d implements Disposable, SigningSecurityToken {
   private List<SignedElement> a = new ArrayList<>();
   private List<SignedPart> b = new ArrayList<>();
   protected boolean possessionProved = false;

   public f(Element var1) {
      super(var1);
   }

   protected f() {
   }

   @Override
   public SignedElement[] getSignedElements() {
      return this.a.toArray(new SignedElement[this.a.size()]);
   }

   @Override
   public void addSignedElement(SignedElement var1) {
      try {
         if (var1 == null) {
            throw new NullPointerException();
         }
      } catch (NullPointerException var2) {
         throw a(var2);
      }

      this.a.add(var1);
   }

   @Override
   public SignedPart[] getSignedParts() {
      return this.b.toArray(new SignedPart[this.b.size()]);
   }

   @Override
   public void addSignedPart(SignedPart var1) {
      try {
         if (var1 == null) {
            throw new NullPointerException();
         }
      } catch (NullPointerException var2) {
         throw a(var2);
      }

      this.b.add(var1);
   }

   @Override
   public void onPossessionProved() {
      this.possessionProved = true;
   }

   @Override
   public boolean isPossessionProved() {
      return this.possessionProved;
   }

   public void dispose() {
      this.element = null;
      this.a.clear();
      this.b.clear();
   }

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