Я пишу программу Java, которая выполняет некоторые вычисления в файлах. Программа поддерживает 3 типа файлов (документы, изображения, видео) с каждым типом, допускающим только несколько форматов:
enum DocType {
pdf, doc, docx, xls, xlsx, ppt, pptx
}
enum ImageType {
bmp, jpg, png, gif, ico
}
enum VideoType {
avi, mpg, mp4, wmv, mov, flv, swf, mkv
}
В какой-то момент в моей программе я хотел бы сохранить расширение файла независимо от типа файла, это означает, что я хотел бы выполнить любое из следующих назначений:
FileType fileExt = DocType.doc
FileType fileExt = ImageType.jpg
FileType fileExt = VideoType.mp4
Как я могу выполнить это поведение в Java? Я знаю, что перечисления не могут распространять другие перечисления, поэтому в основном элегантное решение невозможно.
Спасибо