1 package org.kuali.common.devops.archive.s3; 2 3 import static org.kuali.common.core.base.WeightScale.fileSize; 4 5 import com.google.common.base.Function; 6 7 public enum KeyFileWeigher implements Function<KeyFile, Double> { 8 INSTANCE; 9 10 @Override 11 public Double apply(KeyFile input) { 12 double weight = fileSize().apply(input.getFile()); 13 // Make sure even zero byte files have a little weight 14 // We don't have to transfer any bytes across the network but we do have to create an S3 bucket entry 15 return (weight == 0D) ? 0.1D : weight; 16 } 17 18 }