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?