Revision: 3529 http://archive-access.svn.sourceforge.net/archive-access/?rev=3529&view=rev Author: bradtofel Date: 2011-09-06 04:12:58 +0000 (Tue, 06 Sep 2011) Log Message: ----------- INITIAL REV: ObjectFilter which excludes filters that both match a certain prefix AND are newer than a specific period Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixDateEmbargoFilter.java Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixDateEmbargoFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixDateEmbargoFilter.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixDateEmbargoFilter.java 2011-09-06 04:12:58 UTC (rev 3529) @@ -0,0 +1,49 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.resourceindex.filters; + +import java.util.Date; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.util.ObjectFilter; + +/** + * Blocks only files matching a given prefix, iff they are newer than a given + * embargo period. + * + * @author brad + * + */ +public class FilePrefixDateEmbargoFilter implements ObjectFilter<CaptureSearchResult> { + protected String matchPrefix = null; + protected Date embargoDate = null; + public FilePrefixDateEmbargoFilter(String prefix, long minAge) { + matchPrefix = prefix; + embargoDate = new Date(System.currentTimeMillis() - minAge); + } + public int filterObject(CaptureSearchResult o) { + if(!o.getFile().startsWith(matchPrefix)) { + return FILTER_INCLUDE; + } + return o.getCaptureDate().compareTo(embargoDate) < 0 + ? FILTER_INCLUDE : FILTER_EXCLUDE; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |