package com.limegroup.gnutella.downloader; import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; /** A factory for creating VerifyingFiles. */ @Singleton public class VerifyingFileFactory { private final Provider<DiskController> diskController; /** Constructs a VerifyingFileFactory that uses the given DiskController when constructing VerifyingFiles. */ @Inject public VerifyingFileFactory(Provider<DiskController> diskController) { this.diskController = diskController; } /** Constructs a verifying file with the given completed size. */ public VerifyingFile createVerifyingFile(long completedSize) { return new VerifyingFile(completedSize, diskController); } /** Constructs a verifying file for testing. */ public VerifyingFile createVerifyingFile() { return new VerifyingFile(-1, diskController); } }