Efetua a pesquisa de uma Annotation a partir de um namespace e retorna um array contendo as informações de onde a Annotation foi encontrada.
Sintaxe
Reflection.getClassesByAnnotation( cAnnotationName,cNamespaceFilter) )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cAnnotationName | caractere | Indica o nome da Annotation que será pesquisada nas classes que estão compiladas no repositório | X | |
cNamespaceFilter | caractere | Nome do namespace onde deve ser procurada a Annotation. Obs.: Aqui pode ser feito o uso do caractere * para fazer a busca no namespace | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
aRet | Array | Array com o resultado da busca pela Annotation.
|
Exemplo:
test_doc_resourceGetClassesByAnnotation.tlpp
/* Programa test_doc_resourceGetClassesByAnnotation1.tlpp */ #include "tlpp-core.th" namespace resourceClassesbyAnnotation @annotation AnnotationResource nickname as char @end @AnnotationResource(nickname='Resource1') Class resourceClassesbyAnnotation1 Public data data1 Public Method New() EndClass Method New() class resourceClassesbyAnnotation1 Return Self
test_doc_resourceGetClassesByAnnotation2.tlpp
/* Programa test_doc_resourceGetClassesByAnnotation2.tlpp */ #include "tlpp-core.th" namespace resourceClassesbyAnnotation @annotation AnnotationResource nickname as char @end @AnnotationResource(nickname='Resource2') Class resourceClassesbyAnnotation2 Public data data1 Public Method New() EndClass Method New() class resourceClassesbyAnnotation2 Return Self
testGetClassesByAnnotation.tlpp
#include "tlpp-core.th" Function u_testGetClassesByAnnotation() Local aRet as array aRet := Reflection.getClassesByAnnotation('AnnotationResource',"resourceClassesbyAnnotation*") if(valType(aRet) <> "U") .and. (valType(aRet) == "A" .and. len(aRet) > 0) conout(aRet[1]:cClassName) conout(aRet[1]:cProgramName) conout(aRet[2]:cClassName) conout(aRet[2]:cProgramName) else conout('Não foi encontrada nenhuma informação de Annotation com os padrões declarados') endif Return
Resultado do Exemplo
RESOURCECLASSESBYANNOTATION.RESOURCECLASSESBYANNOTATION1
TEST_DOC_RESOURCEGETCLASSESBYANNOTATION1.TLPP
RESOURCECLASSESBYANNOTATION.RESOURCECLASSESBYANNOTATION2
TEST_DOC_RESOURCEGETCLASSESBYANNOTATION2.TLPP
Abrangência
17.3.0.3
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas