88import org .approvaltests .namer .ApprovalNamer ;
99import org .approvaltests .namer .NamerWrapper ;
1010import org .approvaltests .scrubbers .NoOpScrubber ;
11- import org .lambda .functions .Function0 ;
11+
12+ import com .spun .util .ArrayUtils ;
1213
1314public class Options
1415{
@@ -35,22 +36,7 @@ public Options(Options parent, FileOptions fileOptions)
3536 }
3637 public ApprovalFailureReporter getReporter ()
3738 {
38- return getOrElse ("reporter" , ReporterFactory ::get );
39- }
40- private <T > T getOrElse (String key , Function0 <T > defaultIfNotFound )
41- {
42- return getOrElse (fields , key , defaultIfNotFound );
43- }
44- public static <T > T getOrElse (Map <String , Object > fields , String key , Function0 <T > defaultIfNotFound )
45- {
46- if (fields .containsKey (key ))
47- {
48- return (T ) fields .get (key );
49- }
50- else
51- {
52- return defaultIfNotFound .call ();
53- }
39+ return ArrayUtils .getOrElse (fields , "reporter" , ReporterFactory ::get );
5440 }
5541 public Options withReporter (ApprovalFailureReporter reporter )
5642 {
@@ -66,7 +52,7 @@ public String scrub(String input)
6652 }
6753 private Scrubber getScrubber ()
6854 {
69- return getOrElse ("scrubber" , () -> NoOpScrubber .INSTANCE );
55+ return ArrayUtils . getOrElse (fields , "scrubber" , () -> NoOpScrubber .INSTANCE );
7056 }
7157 public FileOptions forFile ()
7258 {
@@ -89,11 +75,11 @@ public Options withExtension(String fileExtensionWithDot)
8975 }
9076 public ApprovalNamer getNamer ()
9177 {
92- return getOrElse (fields , "fileOptions.namer" , Approvals ::createApprovalNamer );
78+ return ArrayUtils . getOrElse (fields , "fileOptions.namer" , Approvals ::createApprovalNamer );
9379 }
9480 public String getFileExtension ()
9581 {
96- return getOrElse (fields , "fileOptions.fileExtension" , () -> ".txt" );
82+ return ArrayUtils . getOrElse (fields , "fileOptions.fileExtension" , () -> ".txt" );
9783 }
9884 public Options withBaseName (String fileBaseName )
9985 {
0 commit comments