1 package ch.qos.logback.core.rolling.helper;
2
3 import java.io.File;
4 import java.util.Date;
5
6 public class TimeBasedCleaner {
7
8 FileNamePattern fileNamePattern;
9 RollingCalendar rc;
10 int numberOfPeriods;
11
12 public TimeBasedCleaner(FileNamePattern fileNamePattern, RollingCalendar rc,
13 int numberOfPeriods) {
14 this.fileNamePattern = fileNamePattern;
15 this.rc = rc;
16
17 this.numberOfPeriods = -numberOfPeriods -1;
18 }
19
20 public void clean(Date now) {
21 Date date2delete = rc.getRelativeDate(now, numberOfPeriods);
22
23 String filename = fileNamePattern.convertDate(date2delete);
24
25 File file2Delete = new File(filename);
26
27 if (file2Delete.exists() && file2Delete.isFile()) {
28 file2Delete.delete();
29 }
30 }
31
32 }