extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/plugins/release/FileLocationFilter.java

Code
Comments
Other
Rev Date Author Line
4412 21 Mar 17 nicklas 1 package net.sf.basedb.reggie.plugins.release;
4412 21 Mar 17 nicklas 2
4412 21 Mar 17 nicklas 3 import net.sf.basedb.core.File;
4412 21 Mar 17 nicklas 4 import net.sf.basedb.core.Location;
4412 21 Mar 17 nicklas 5 import net.sf.basedb.util.filter.Filter;
4412 21 Mar 17 nicklas 6
4412 21 Mar 17 nicklas 7 /**
4412 21 Mar 17 nicklas 8   Filter implementation for filtering files
4412 21 Mar 17 nicklas 9   based on their location.
4432 29 Mar 17 nicklas 10   
4412 21 Mar 17 nicklas 11   @author nicklas
4412 21 Mar 17 nicklas 12   @since 4.10
4412 21 Mar 17 nicklas 13 */
4412 21 Mar 17 nicklas 14 public class FileLocationFilter 
4412 21 Mar 17 nicklas 15   implements Filter<File> 
4412 21 Mar 17 nicklas 16 {
4412 21 Mar 17 nicklas 17
4412 21 Mar 17 nicklas 18   private final Location location;
4432 29 Mar 17 nicklas 19   private final boolean skipRemoved;
4412 21 Mar 17 nicklas 20   
4432 29 Mar 17 nicklas 21   /**
4432 29 Mar 17 nicklas 22     Create a new filter.
4432 29 Mar 17 nicklas 23     @param location Location to filter on
4432 29 Mar 17 nicklas 24     @param skipRemoved TRUE to skip files marked for removal
4432 29 Mar 17 nicklas 25   */
4432 29 Mar 17 nicklas 26   public FileLocationFilter(Location location, boolean skipRemoved)
4412 21 Mar 17 nicklas 27   {
4412 21 Mar 17 nicklas 28     this.location = location;
4432 29 Mar 17 nicklas 29     this.skipRemoved = skipRemoved;
4412 21 Mar 17 nicklas 30   }
4412 21 Mar 17 nicklas 31   
4412 21 Mar 17 nicklas 32   @Override
4412 21 Mar 17 nicklas 33   public boolean evaluate(File f) 
4412 21 Mar 17 nicklas 34   {
4432 29 Mar 17 nicklas 35     return f.getLocation() == location && !(skipRemoved && f.isRemoved());
4412 21 Mar 17 nicklas 36   }
4412 21 Mar 17 nicklas 37
4412 21 Mar 17 nicklas 38 }