Ok, io avevo previsto quella fase semplicemente perché avevo visto che il tuo jpegParser() era l'unico che non faceva il setContent(handler.toString()); Quindi ho pensato: c'è per tutti (quindi è un "default") mentre per il jpeg no, quindi il content lo si potrebbe mettere fisso a null.
Puoi scegliere di mettere e tenere quello che vuoi nell'oggetto di "risultato". Insomma, metti pure quello che ritieni utile per chi userà il risultato!
Ok, occhio solo che il secondo add ha Parser mentre invece dovrebbe essere FileParser. Io avevo pensato all'uso del varargs, ovvero un ultimo parametro String... types
Puoi metterne sia uno così, sia tenere anche le versioni in overload con 1 o 2 type (per comodità/efficienza). Assolutamente a tua scelta.
Quella composizione di stringa non l'avevo messa nel FileParser perché in effetti il fatto di voler avere una forma aaa: bbb\nccc: ..... è una questione di "presentazione", riguarda la user interface ... non il parsing.
Se le possibilità sono poche es. testo o immagine o audio, questa informazione la potresti mettere nell'oggetto di result (e impostata da ciascuna classe di FileParser che ovviamente "sa" che tipo tratta) magari come enum. Poi fai uno switch. Non mi pare che sia una "brutta" cosa. Anche perché un conto è il parsing, un altro conto è la "presentazione" dei dati.
Ci sono sicuramente "design" migliori ma si dovrebbe andare un po' oltre e forse è troppo per il tuo caso o forse non serve.


Rispondi quotando