package com.airlock.iam.common.domain.model.event;

import com.airlock.iam.base.api.domain.model.event.DomainEvent;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Arrays;

public final class ClassNameEventHandler {
   private final String canonicalName;

   public boolean canHandle(DomainEvent event) {
      return Arrays.stream(event.getClass().getInterfaces()).anyMatch(interfaceClass -> this.canonicalName.equals(interfaceClass.getCanonicalName()));
   }

   @SuppressFBWarnings(justification = "generated code")
   public ClassNameEventHandler(String canonicalName) {
      this.canonicalName = canonicalName;
   }
}
