1 package org.kuali.common.devops.jenkins.scan.function; 2 3 import static org.apache.commons.io.FileUtils.readFileToString; 4 import static org.kuali.common.util.Encodings.UTF8; 5 import static org.kuali.common.util.base.Exceptions.illegalState; 6 import static org.kuali.common.util.base.Precondition.checkNotBlank; 7 import static org.kuali.common.util.base.Precondition.checkNotNull; 8 9 import java.io.File; 10 import java.io.IOException; 11 12 import com.google.common.base.Function; 13 14 public final class ReadFileFunction implements Function<File, String> { 15 16 public static final ReadFileFunction READ_UTF8_FILE_FUNCTION = new ReadFileFunction(); 17 18 public ReadFileFunction() { 19 this(UTF8); 20 } 21 22 public ReadFileFunction(String encoding) { 23 this.encoding = checkNotBlank(encoding, "encoding"); 24 } 25 26 private final String encoding; 27 28 @Override 29 public String apply(File file) { 30 try { 31 return readFileToString(checkNotNull(file, "file"), encoding); 32 } catch (IOException e) { 33 throw illegalState(e); 34 } 35 } 36 37 public String getEncoding() { 38 return encoding; 39 } 40 }