Árvore de páginas

Versões comparadas

Chave

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

...

Pagetitle
Reflection.getMethodAnnotationList
Reflection.getMethodAnnotationList

Procura Annotation  Efetua a busca de Annotations associadas a um determinado método.

...

Bloco de código
collapsefalse
Reflection.getMethodAnnotationList( oObjxParam, cMethodName)

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oObjxParam**

objeto/caractere**

Objeto instância da classe/nome da classe** onde está definido o método cujas Annotation Annotations serão retornadas

X


cMethodName
caractereMétodo onde serão procuradas as Annotations           X
Informações
titleImplementação de comportamento

A partir do build 24.3.0.0, também haverá a opção de passar simplesmente o nome da classe em xParam, conforme exemplo 2. Mas continua valendo a passagem da instância do objeto (exemplo 1). 


Retorno

Nome

Tipo

Descrição

aRet

array 

Array contendo em cada posição um objeto do tipo Json onde cada propriedade é o nome da  Annotation encontrada. Caso nada seja encontrado, seu valor é NIL.

...

Bloco de código
languagecpp
themeEclipse
titletest_doc_getMethodAnnotationListexemplo1.tlpp
linenumberstrue
#include "tlpp-core.th"

@annotation AnnotationGetMethodAnnotationList01
teste1 as char
@end

@annotation AnnotationGetMethodAnnotationList02
teste2 as char
@end

Class GetMethodAnnotationList

	Public Method New()

	@AnnotationGetMethodAnnotationList01(teste1 = "Primeira Annotation")
	@AnnotationGetMethodAnnotationList02(teste2 = "Segunda Annotation")
	Public Method MethodWithAnnotation()
EndClass

Method New() class GetMethodAnnotationList
Return Self

Method MethodWithAnnotation() class GetMethodAnnotationList
Return

Function u_testGetMethodAnnotationList(aResult)
	Local oObj := GetMethodAnnotationList():New()
	Local aRet

	aRet := Reflection.getMethodAnnotationList(oObj, "MethodWithAnnotation")
	Conout(Len(aRet))
	Conout(aRet[1]["teste1"])
	Conout(aRet[2]["teste2"])

Return
Bloco de código
language

...

cpp
themeEclipse
titleexemplo2.tlpp
linenumberstrue
#include "tlpp-core.th"

@annotation AnnotationGetMethodAnnotationList01
teste1 as char
@end

@annotation AnnotationGetMethodAnnotationList02
teste2 as char
@end

Class GetMethodAnnotationList

	Public Method New()

	@AnnotationGetMethodAnnotationList01(teste1 = "Primeira Annotation")
	@AnnotationGetMethodAnnotationList02(teste2 = "Segunda Annotation")
	Public Method MethodWithAnnotation()
EndClass

Method New() class GetMethodAnnotationList
Return Self

Method MethodWithAnnotation() class GetMethodAnnotationList
Return

Function u_testGetMethodAnnotationList(aResult)
	Local aRet

	aRet := Reflection.getMethodAnnotationList("GetMethodAnnotationList", "MethodWithAnnotation")
	Conout(Len(aRet))
	Conout(aRet[1]["teste1"])
	Conout(aRet[2]["teste2"])

Return

Resultado dos Exemplos

2

Primeira Annotation

Segunda Annotation

...