Árvore de páginas

Versões comparadas

Chave

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

...

Pagetitle
Reflection.getMethodAnnotation
Reflection.getMethodAnnotation

Procura e retorna Efetua a busca de uma Annotation em uma propriedade um método de um objeto.

Sintaxe

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

...

Nome

Tipo

Descrição

Obrigatório

Referência

oObjxParam**

objeto/caractere** 

Objeto instância da classe/nome da classe** Indica o objeto onde será procurado/a a Annotation.

X


cMethodName
caractereIndica o nome da propriedade Nome do método onde será procurada a Annotation.           XX
cAnnotationName 

caractere

Indica o nome Nome da Annotation que será procurada.

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

jRet

JsonObjectobjetoRetorna

o object Json caso encontre a Annotation na propriedade do objeto passado e NIL caso não encontreObjeto Json com a propriedade da Annotation contendo o seu valor. Caso não encontre retorna  NIL .

Exemplos

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

@annotation AnnotationExemploAnnotationGetMethodAnnotation
    nickname as char
@end

classClass MeuObjeto
    public data data1
    public method new()
    @AnnotationExemploGetMethodAnnotation

	Public Method New()

	@AnnotationGetMethodAnnotation(nickname = "CompanyTotvs")
	Public Method MethodWithAnnotation()
EndClass

Method  public method exemplo()
EndClass

main function usoDeAnnotationNew() class GetMethodAnnotation
Return Self

Method MethodWithAnnotation() class GetMethodAnnotation
Return

Function u_testGetMethodAnnotation()
	localLocal oObj := MeuObjetoGetMethodAnnotation():New()
	localLocal jRet
	if (
    jRet := Reflection.isAnnotationcMethodPresentgetMethodAnnotation(oObj, "exemplo", "AnnotationExemplo"))
		MethodWithAnnotation", "AnnotationGetMethodAnnotation")  
	If (valType(jRet) <> 'U')
		Conout(jRet["nickname"])
	EndIf

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

@annotation AnnotationGetMethodAnnotation
nickname as char
@end

Class GetMethodAnnotation

	Public Method New()

	@AnnotationGetMethodAnnotation(nickname = "Totvs")
	Public Method MethodWithAnnotation()
EndClass

Method New() class GetMethodAnnotation
Return Self

Method MethodWithAnnotation() class GetMethodAnnotation
Return

Function u_testGetMethodAnnotation()
	Local jRet
	
    jRet := Reflection.getMethodAnnotation(oObj"GetMethodAnnotation", "exemploMethodWithAnnotation", "AnnotationExemplo"AnnotationGetMethodAnnotation")  
	If (valType(jRet) <> 'U')
		conoutConout(jRet["NICKNAMEnickname"])
	endifEndIf

returnReturn

Resultado do Exemplo

CompanyTotvs

Abrangência

17.3.0.3

Veja também

...