Árvore de páginas

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
caractereIndica 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.
Em cada posição da array temos as seguintes informações:

  • aRet[1][1] = Programa fonte onde foi encontrada a Annotation
  • aRet[1][2] = Namespace . Função onde foi encontrada a Annotation

Exemplos

test_doc_resourceGetFunctionsByAnnotation.tlpp
/*
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
test_doc_getFunctionsByAnnotation.tlpp
#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

Veja também

  • Sem rótulos