Sto costruendo il mio JET Parser e una delle cose che sto cercando di fare secondo le specifiche JET è quella di consentire la modifica dei tag di inizio e fine dal <% predefinito e %> . In questo momento ho un gestore parser modellato dopo javax.xml.parsers.SAXParser e org.xml.sax.ext.DefaultHandler2 .
Il gestore può prendere in mano una direttiva che modificherà la configurazione del parser.
Quindi sto pensando alle seguenti opzioni:
- ha un metodo
setParser(Parser)che viene chiamato dal gestore e lo ha come parte dell'interfaccia. Il metodo viene chiamato dal parser all'avvio del processo di analisi. - ha un metodo
directive(..., Parser )che viene chiamato dal gestore e lo ha come parte dell'interfaccia. Questo limita gli aggiornamenti del parser solo alle direttive. - memorizza startTag e endTag nel gestore e utilizza i metodi get.
- ha una nuova classe di configurazione che viene passata in giro usando il metodo set o direttiva.
La mia attuale opinione è di avere un metodo directive(..., ParserConfiguration ) che viene chiamato dal gestore e che lo ha come parte dell'interfaccia. Questo limita gli aggiornamenti del parser alle sole direttive e lascia che si occupi solo della configurazione.
L'approccio che ho scelto è una buona opzione per un'API o esiste un'alternativa migliore a cui non avevo ancora pensato?