1 19 20 package edu.umd.cs.findbugs.classfile.impl; 21 22 import edu.umd.cs.findbugs.classfile.ICodeBase; 23 import edu.umd.cs.findbugs.classfile.ICodeBaseEntry; 24 import edu.umd.cs.findbugs.classfile.ICodeBaseIterator; 25 import edu.umd.cs.findbugs.classfile.IScannableCodeBase; 26 27 34 public class DelegatingCodeBaseIterator implements ICodeBaseIterator { 35 private ICodeBase frontEndCodeBase; 36 private IScannableCodeBase delegateCodeBase; 37 private ICodeBaseIterator delegateCodeBaseIterator; 38 39 public DelegatingCodeBaseIterator(ICodeBase frontEndCodeBase, IScannableCodeBase delegateCodeBase) throws InterruptedException { 40 this.frontEndCodeBase = frontEndCodeBase; 41 this.delegateCodeBase = delegateCodeBase; 42 this.delegateCodeBaseIterator = delegateCodeBase.iterator(); 43 } 44 45 48 public boolean hasNext() throws InterruptedException { 49 return delegateCodeBaseIterator.hasNext(); 50 } 51 52 55 public ICodeBaseEntry next() throws InterruptedException { 56 ICodeBaseEntry delegateCodeBaseEntry = delegateCodeBaseIterator.next(); 57 return new DelegatingCodeBaseEntry(frontEndCodeBase, delegateCodeBaseEntry); 58 } 59 60 } 61 | Popular Tags |