Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Pagetitle
Reflection.getMethodParmsByAnnotation
Reflection.getMethodParmsByAnnotation

Retorna se encontrou Efetua a busca de Annotation em qualquer parâmetro de um métodoum método de um objeto e retorna uma lista com a posição de cada parâmetro onde a Annotation foi encontrada.

Sintaxe

Bloco de código
collapsefalse
Reflection.getMethodParmsByAnnotation( oObject, cFunctionNamecMethodName, aListParms, cAnnotationName)

...

Nome

Tipo

Descrição

Obrigatório

Referência

oObject

objetoIndica

o objeto onde está o método que será procurado Objeto proprietário do método onde será procurada a Annotation.

X


cPropertyNamecMethodName

caractere

Indica o nome Nome do método onde será procurada a Annotation.

X


aListParms
arrayRetorna a lista Lista de parâmetros que contém a AnnotationXcom a posição onde a Annotation foi encontrada.           X        X
cAnnotationName
caractereIndica o nome Nome da Annotation que será a  ser procurada.X           X

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna .T. caso encontre algum parâmetro que tenha contenha a Annotation e .F. caso não tenha.

...

, caso não encontre .F. 

aListParams

array

Array passada por referência na busca contendo em cada indicie a posição do parâmetro onde a Annotation  foi encontrada. Caso não encontre, a array retorna vazia.

Exemplo

Bloco de código
languagecpp
themeEclipse
titleexemplo1test_doc_getMethodParmsByAnnotation.tlpp
linenumberstrue
@interface AnnotationExemplo
    NICKNAME #include "tlpp-core.th"


@annotation AnnotationGetMethodParmsByAnnotation
nickname as char
@end
 
classClass MeuObjeto
    public data data1
    public method newGetMethodParmsByAnnotation

	Public Method New()
	Public    public method teste(@AnnotationExemplo("valorMethod ParmByAnnotation(@AnnotationGetMethodParmsByAnnotation("annotation parm1") parm1, @AnnotationExemplo@AnnotationGetMethodParmsByAnnotation("valorannotation parm2") parm2)
EndClass

Method New() class GetMethodParmsByAnnotation
Return Self
main function usoDeAnnotation
Function u_testGetMethodParmsByAnnotation()

	Local    local oObj := MeuObjetoGetMethodParmsByAnnotation():New()
	Local lRet := .F. localas jRetlogical
	Local aRet := {} as jRetarray

	lRet := Reflection.getMethodParmsByAnnotationGetMethodParmsByAnnotation(oObj, "testeParmByAnnotation", aRet@aRet, "AnnotationExemploAnnotationGetMethodParmsByAnnotation")
	conout(jRet) 
	conout(aRet[1])
	conout(aRet[2])
returnif lRet
		Conout(lRet)
		aEval(aRet,{|x| Conout(x)})
	else
		Conout('Nao foi possivel encontrar nenhuma Annotation com parametros informados')
	endIf
Return

Resultado do Exemplo

.T.

1

2

...