Apache Tapestry - Annotazione
L'annotazione è una caratteristica molto importante sfruttata da Tapestry per semplificare lo sviluppo di applicazioni web. Tapestry fornisce molte annotazioni personalizzate. Ha annotazioni per classi, metodi e campi membro. Come discusso nella sezione precedente, Annotation può essere utilizzata anche per sostituire la convenzione predefinita di una funzionalità. Le annotazioni Tapestry sono raggruppate in quattro categorie principali e sono le seguenti.
Annotazione del componente
Utilizzato nelle classi Pages, Components e Mixins. Alcune delle annotazioni utili sono:
@Property- È applicabile ai campi. Utilizzato per convertire un campo in una proprietà Tapestry.
@Parameter- È applicabile ai campi. Utilizzato per specificare un campo come parametro di un componente.
@Environmental- È applicabile ai campi. Utilizzato per condividere un campo privato tra diversi componenti.
@import- È applicabile a classi e campi. Utilizzato per includere risorse, CSS e JavaScript.
@Path - Utilizzato insieme all'annotazione @Inject per iniettare un asset basato su un percorso.
@Log- È applicabile a classi e campi. Utilizzato per scopi di debug. Può essere utilizzato per emettere le informazioni sull'evento del componente come l'inizio dell'evento, la fine dell'evento, ecc.
Annotazione IoC
Utilizzato per iniettare oggetti nel contenitore IoC. Alcune delle annotazioni utili sono:
@Inject- È applicabile ai campi. Utilizzato per contrassegnare i parametri che devono essere inseriti nel contenitore IoC. Contrassegna i campi che dovrebbero essere iniettati nei componenti.
@Value- È applicabile ai campi. Utilizzato insieme all'annotazione @inject per iniettare un valore letterale invece di un servizio (che è il comportamento predefinito dell'annotazione @Inject).
Annotazione per classi di conservazione dei dati
Viene utilizzato per specificare le informazioni specifiche del componente in una classe (solitamente modelli o classi di conservazione dei dati) per componenti di alto livello come
Grid (utilizzato per creare dati tabulari avanzati come report, galleria, ecc.)
BeanEditForm (Utilizzato per creare moduli avanzati)
Hibernate (Utilizzato nell'accesso avanzato al database), ecc.
Queste annotazioni vengono aggregate e impacchettate in un barattolo separato senza alcuna dipendenza da arazzo. Alcune delle annotazioni sono:
@DataType- Viene utilizzato per specificare il tipo di dati del campo. Il componente Tapestry può utilizzare queste informazioni per creare design o markup nel livello di presentazione.
@Validate - Viene utilizzato per specificare la regola di convalida per un campo.
Queste separazioni consentono all'applicazione Tapestry di utilizzare un file Multi-Tier Design.