ciao!

ho una classe che usa Apache Tika per fare il parsing dei file in base al mime type.
codice:
public class ParseFile {

    private File file;
    private BodyContentHandler handler;
    private Metadata metadata;
    private ParseContext context;
    private FileInputStream inputstream;
    private StringBuilder sb;
    private String[] metadataNames;
    private String content;

    public ParseFile(File file) throws FileNotFoundException {
        this.file = file;
        handler = new BodyContentHandler();
        metadata = new Metadata();
        context = new ParseContext();
        inputstream = new FileInputStream(file);
        sb = new StringBuilder();
    }

    public void genericParser() throws IOException, SAXException, TikaException {
        Parser parser = new AutoDetectParser();
        parser.parse(inputstream, handler, metadata, context);
        setContent(handler.toString());
        setMetadataNames(metadata.names());
    }

    public void jpegParser() throws IOException, SAXException, TikaException {
        JpegParser parser = new JpegParser();
        parser.parse(inputstream, handler, metadata, context);
        setMetadataNames(metadata.names());
    }

    public void ooXmlParser() throws IOException, SAXException, TikaException {
        OOXMLParser parser = new OOXMLParser();
        parser.parse(inputstream, handler, metadata, context);
        setContent(handler.toString());
        setMetadataNames(metadata.names());
    }
..................................................................
}
come vedete ho creato un metodo per ogni tipo di parsing che mi interessa.
da una JTable prendo il file e lo passo al costruttore.
però, in sostanza, sono tutti metodi praticamente uguali, e mi sembra un pò una ripetizione.
cambia solo il parser da utilizzare.
come potrei migliorare questa classe secondo voi?