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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas