Efetua a busca de uma Annotation atribuída a uma propriedade de um objeto.
Sintaxe
Reflection.getDataAnnotation( xParam, cPropertyName, cAnnotationName )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
| xParam** | objeto/caractere** | Objeto instância da classe/nome da classe** onde será feita a busca da Annotation. | X | |
cPropertyName | caractere | Nome da propriedade onde será procurada a Annotation | X | |
cAnnotationName | caractere | Nome da Annotation que 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 | objeto | Retorna um objeto do tipo Json contendo o valor da Annotation na propriedade indicada e NIL caso não encontre. |
Exemplos
exemplo1.tlpp
#include "tlpp-core.th"
@annotation DataAnnotation
nickname as char
@end
Class GetDataAnnotation
@DataAnnotation(nickname = "Company")
Public data data1
Public Method New()
EndClass
Method New() class GetDataAnnotation
Return Self
Function u_testGetDataAnnotation()
Local oObj := GetDataAnnotation():New()
Local jRet
jRet := Reflection.getDataAnnotation(oObj, "data1", "DataAnnotation")
if(valType(jRet) <> 'U')
Conout(jRet["nickname"])
EndIf
Return
exemplo2.tlpp
#include "tlpp-core.th"
@annotation DataAnnotation
nickname as char
@end
Class GetDataAnnotation
@DataAnnotation(nickname = "Company")
Public data data1
Public Method New()
EndClass
Method New() class GetDataAnnotation
Return Self
Function u_testGetDataAnnotation()
Local jRet
jRet := Reflection.getDataAnnotation("GetDataAnnotation", "data1", "DataAnnotation")
if(valType(jRet) <> 'U')
Conout(jRet["nickname"])
EndIf
Return
Resultado dos Exemplos
Company
Abrangência
17.3.0.3
Veja também
Import HTML Content
Visão Geral
Conteúdo das Ferramentas