View Javadoc
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  }