[ https://issues.apache.org/jira/browse/TIKA-1573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14356864#comment-14356864 ]
Pavel Micka commented on TIKA-1573: ----------------------------------- Hi, because my restriction is all "binary mimetypes" (remove all text/*). This would make maintanance of my program harder, as I would need to check the definitions the list each time I increase the tika version. Also the file is embedded in tika.jar and the filename is hardcoded to MimeTypes.java... > Not possible to restrict default mime types > ------------------------------------------- > > Key: TIKA-1573 > URL: https://issues.apache.org/jira/browse/TIKA-1573 > Project: Tika > Issue Type: Improvement > Reporter: Pavel Micka > Priority: Minor > Labels: performance > > I am facing the following problem. I am using MagicNumber detector, but the > detection is slow for my purposes, so I have decided to limit the number of > detected types. However this is not easily possible as: > * Mimetypes does not have any remove method. > * getDefaultMimeTypes method by default load the full set > * MimeTypes constructor does not accept parameters (mimes with magics) > * method add is package friendly (so one must construct the wrapper in the > same package, which is awkward) > * MimeTypes class is final, so it does not allow to subclass it a improve > the implementation in object oriented way > My workaround was to force the expected implementation (public add) with > reflection: > Method addMethod = > decrMimeTypes.getClass().getDeclaredMethod("add", MimeType.class); > addMethod.setAccessible(true); > addMethod.invoke(myMimeTypes, > defaultMimeTypes.getRegisteredMimeType(m.toString())); > I can imagine that the current implementation is done this way to be > immutable, but this can also achieved with parametrized constructor (point 3) > with no effect on immutability of the class. Or with explicit flag (set by > method call) that would disallow any further object modifications. -- This message was sent by Atlassian JIRA (v6.3.4#6332)