Annotate the "Data" interface with the @FunctionalInterface annotation
[aaf/authz.git] / auth / auth-batch / src / main / java / org / onap / aaf / auth / batch / helpers / Visitor.java
index a59064e..3e7b30b 100644 (file)
@@ -3,6 +3,7 @@
  * org.onap.aaf
  * ===========================================================================
  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 IBM.
  * ===========================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 package org.onap.aaf.auth.batch.helpers;
 
+@FunctionalInterface
 public interface Visitor<T> {
-       void visit(T t);
+    void visit(T t);
+    
+    public static class Multi<T> implements Visitor<T> {
+        private final Visitor<T>[] visitors;
+        @SafeVarargs
+        public Multi(Visitor<T> ... vs) {
+            visitors  = vs;
+        }
+        
+        @Override
+        public void visit(T t) {
+            for(Visitor<T> v : visitors) {
+                v.visit(t);
+            }
+        }
+    };
 }