Árvore de páginas

Efetua a busca de Annotation em um objeto e retorna o seu valor.

Sintaxe

Reflection.getObjectAnnotation( xParam, cAnnotationName )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

xParam**

objeto/caractere**

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

X


cAnnotationName 

caractere

Nome da Annotation a ser procurada.

X


Implementaçã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

object

Objeto Json  cuja propriedade é a Annotation contendo seu valor. Caso não encontre o retorno é NIL

Exemplos

exemplo1.tlpp
#include "tlpp-core.th"

@annotation AnnotationGetObjectAnnotation
nickname as char
@end

@AnnotationGetObjectAnnotation(nickname = "Totvs")
Class GetObjectAnnotation
	Public Method New()
EndClass

Method New() class GetObjectAnnotation
Return Self

Function u_testGetObjectAnnotation(aResult)
	Local oObj := GetObjectAnnotation():New()
	Local jRet

	jRet := Reflection.getObjectAnnotation(oObj, "AnnotationGetObjectAnnotation")
	if (valType(jRet) <> 'U')
		conout(jRet["nickname"])
	else
		conout('Nao foi encontrada Annotation com os parametros informados')
	endIf
Return
exemplo2.tlpp
#include "tlpp-core.th"

@annotation AnnotationGetObjectAnnotation
nickname as char
@end

@AnnotationGetObjectAnnotation(nickname = "Totvs")
Class GetObjectAnnotation
	Public Method New()
EndClass

Method New() class GetObjectAnnotation
Return Self

Function u_testGetObjectAnnotation(aResult)
	Local jRet

	jRet := Reflection.getObjectAnnotation("GetObjectAnnotation", "AnnotationGetObjectAnnotation")
	if (valType(jRet) <> 'U')
		conout(jRet["nickname"])
	else
		conout('Nao foi encontrada Annotation com os parametros informados')
	endIf
Return

Resultado do Exemplo

Totvs

Abrangência

17.3.0.3

Veja também

  • Sem rótulos