TotalCountLruDiskUsage.java 675 B

12345678910111213141516171819202122232425
  1. package com.yc.videocache.file;
  2. import java.io.File;
  3. /**
  4. * {@link DiskUsage} that uses LRU (Least Recently Used) strategy and trims cache size to max files count if needed.
  5. *
  6. * @author Alexey Danilov (danikula@gmail.com).
  7. */
  8. public class TotalCountLruDiskUsage extends LruDiskUsage {
  9. private final int maxCount;
  10. public TotalCountLruDiskUsage(int maxCount) {
  11. if (maxCount <= 0) {
  12. throw new IllegalArgumentException("Max count must be positive number!");
  13. }
  14. this.maxCount = maxCount;
  15. }
  16. @Override
  17. protected boolean accept(File file, long totalSize, int totalCount) {
  18. return totalCount <= maxCount;
  19. }
  20. }