how can i check fileName from java enum EnumUtils.isValidEnum?

Viewed 23

it works with enum but i cant create an enum with spaces, then i created filename. Is it possible to check file name?

public enum ModulacaoFilesEnum {
    FILE001("FILE 001.xlsx"),
    FILE002("FILE 002.xlsx"),
    FILE003("FILE 003.xlsx");
    @Getter
    private final String fileName;

    ModulacaoFilesEnum(String fileName) {
        this.fileName = fileName;
    }
}

from

    if (EnumUtils.isValidEnum(ModulacaoFilesEnum.class, file.getOriginalFilename())) {
        throw new NotModulacaoFileException(file);
    }
1 Answers

If you asking how to verify that a particular file name is represented within your enum, add a static method to the enum.

Here is some untested code.

public enum ModulacaoFilesEnum {
    FILE001("FILE 001.xlsx"),
    FILE002("FILE 002.xlsx"),
    FILE003("FILE 003.xlsx");
    
    @Getter
    private final String fileName;

    ModulacaoFilesEnum(String fileName) {
        this.fileName = fileName;
    }

    public static Optional< ModulacaoFilesEnum > forFileName( final String fileName ) 
    {
        Objects.requireNonNull( fileName ) ;
        return
            Arrays
            .stream( ModulacaoFilesEnum.values() )
            .filter( mfEnum -> mfEnum.fileName.equals( fileName ) ) 
            .findAny()
        ;
    }

}
Related