1313import org .lambda .functions .Function2 ;
1414
1515import java .io .File ;
16+ import java .util .EnumMap ;
1617import java .util .HashMap ;
1718import java .util .Map ;
1819
@@ -21,7 +22,7 @@ public class Options
2122 private enum Fields {
2223 SCRUBBER , REPORTER , FILE_OPTIONS_FILE_EXTENSION , FILE_OPTIONS_NAMER , WRITER , COMPARATOR ;
2324 }
24- private final Map <Fields , Object > fields = new HashMap <>();
25+ private final EnumMap <Fields , Object > fields = new EnumMap <>(Fields . class );
2526 public Options ()
2627 {
2728 }
@@ -37,7 +38,7 @@ public Options(ApprovalFailureReporter reporter)
3738 {
3839 fields .put (Fields .REPORTER , reporter );
3940 }
40- private Options (Map <Fields , Object > fields , Fields key , Object value )
41+ private Options (EnumMap <Fields , Object > fields , Fields key , Object value )
4142 {
4243 this .fields .putAll (fields );
4344 this .fields .put (key , value );
@@ -86,8 +87,8 @@ public FileOptions forFile()
8687 }
8788 public static class FileOptions
8889 {
89- private final Map <Fields , Object > fields ;
90- public FileOptions (Map <Fields , Object > fields )
90+ private final EnumMap <Fields , Object > fields ;
91+ public FileOptions (EnumMap <Fields , Object > fields )
9192 {
9293 this .fields = fields ;
9394 }
@@ -119,7 +120,7 @@ public Options withBaseName(String fileBaseName)
119120 public Options withName (String fileBaseName , String extension )
120121 {
121122 NamerWrapper approvalNamer = new NamerWrapper (() -> fileBaseName , getNamer ());
122- HashMap <Fields , Object > newFields = new HashMap <>(fields );
123+ EnumMap <Fields , Object > newFields = new EnumMap <>(fields );
123124 newFields .put (Fields .FILE_OPTIONS_FILE_EXTENSION , extension );
124125 return new Options (newFields , Fields .FILE_OPTIONS_NAMER , approvalNamer );
125126 }
0 commit comments