View Javadoc

1   package org.apache.commons.javaflow.utils;
2   
3   import org.apache.commons.javaflow.bytecode.transformation.ResourceTransformer;
4   
5   /**
6    * {@link ResourceTransformer} whose transformation
7    * is defined in terms of multiple {@link ResourceTransformer}s.
8    *
9    * @author Kohsuke Kawaguchi
10   */
11  public class CompositeTransformer implements ResourceTransformer {
12      private final ResourceTransformer[] transformers;
13  
14      public CompositeTransformer(ResourceTransformer[] transformers) {
15          this.transformers = transformers;
16      }
17  
18      public byte[] transform(byte[] image) {
19          for (int i = 0; i < transformers.length; i++) {
20              image = transformers[i].transform(image);
21          }
22          return image;
23      }
24  }