Правильное использование Apache Tika MediaType

Я хочу использовать класс MediaType APache Tika для сравнения mediaTypes.

Сначала я использую Tika для обнаружения MediaType. Затем я хочу начать действие в соответствии с MediaType.

Поэтому, если MediaType относится к типу XML, я хочу выполнить какое-либо действие, если это сжатый файл, я хочу запустить другое действие.

Моя проблема в том, что существует много типов XML, так как я могу проверить, является ли это XML с использованием MediaType?

Вот моя предыдущая (до Тика) реализация:

if (contentType.contains("text/xml") || 
    contentType.contains("application/xml") || 
    contentType.contains("application/x-xml") || 
    contentType.contains("application/atom+xml") || 
    contentType.contains("application/rss+xml")) {
        processXML();
}

else if (contentType.contains("application/gzip") || 
    contentType.contains("application/x-gzip") || 
    contentType.contains("application/x-gunzip") || 
    contentType.contains("application/gzipped") || 
    contentType.contains("application/gzip-compressed") || 
    contentType.contains("application/x-compress") || 
    contentType.contains("gzip/document") || 
    contentType.contains("application/octet-stream")) {
        processGzip();
}

Я хочу переключить его, чтобы использовать Тика что-то вроде следующего:

MediaType mediaType = MediaType.parse(contentType);
if (mediaType == APPLICATION_XML) {
    return processXml();
} else if (mediaType == APPLICATION_ZIP || mediaType == OCTET_STREAM) {
    return processGzip();
}

Но проблема в том, что Tika.detect (...) возвращает много разных типов, которые не имеют константы MediaType.

Как я могу просто определить MediaType, если это тип XML? Или если это тип Compress? Мне нужен тип "Father", который включает в себя все его дочерние элементы, возможно, метод, который является: "boolean isXML ()", который включает в себя application / xml и text / xml и application / x-xml или "boolean isCompress ()", который включает в себя все типы zip + gzip и т. д.

Ответы на вопрос(1)

Ваш ответ на вопрос