Efetua a busca de uma Annotation em funções a partir do namespace.
Sintaxe
Reflection.getFunctionsByAnnotation( cAnnotationName,[cNamespaceNameFilter]) )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cAnnotationName | caractere | Nome da Annotation que será procurada em todas as funções que estão no repositório | X | |
cNamespaceNameFilter | caractere | Indica uma expressão regular para os nomes da namespace. Obs.: É possivel a utilização do caracter coringa * para setar o nome da namespace para busca. | X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
aRet | array | Array multidimensional com o nome dos fontes e das funções que contém a Annotation procurada.
|
Exemplos
/* Programa test_doc_resourceGetFunctionsByAnnotation.tlpp */ #include "tlpp-core.th" namespace namespaceGetFunctionsByAnnotation @annotation AnnotationExemplo resourceExemplo as char @end @AnnotationExemplo(resourceExemplo='Valor de Exemplo1') function u_resourceGetFunctionsByAnnotation1() return @AnnotationExemplo(resourceExemplo='Valor de Exemplo2') function u_resourceGetFunctionsByAnnotation2() return @AnnotationExemplo(resourceExemplo='Valor de Exemplo3') function u_resourceGetFunctionsByAnnotation3() return
#include "tlpp-core.th" function u_testGetFunctionsByAnnotation() local aRet := {} as array aRet := Reflection.getFunctionsByAnnotation("AnnotationExemplo", "namespaceGetFunctionsByAnnotation.*" ) if(valType(aRet) == 'A' .and. len(aRet) > 0) aEval(aRet,{|x| aEval(x,{|y| conout(y)})}) else conout('Nao foi possivel encontrar a Annotation com os parametros solicitados') endif return
Resultado do Exemplo
aRet[1][2] - TEST_DOC_RESOURCEGETFUNCTIONSBYANNOTATION.TLPP
aRet[1][2] - NAMESPACEGETFUNCTIONSBYANNOTATION.U_RESOURCEGETFUNCTIONSBYANNOTATION1
aRet[2][1] - TEST_DOC_RESOURCEGETFUNCTIONSBYANNOTATION.TLPP
aRet[2][2] - NAMESPACEGETFUNCTIONSBYANNOTATION.U_RESOURCEGETFUNCTIONSBYANNOTATION2
aRet[3][1] - TEST_DOC_RESOURCEGETFUNCTIONSBYANNOTATION.TLPP
aRet[3][2] - NAMESPACEGETFUNCTIONSBYANNOTATION.U_RESOURCEGETFUNCTIONSBYANNOTATION3
Abrangência
17.3.0.3