Árvore de páginas

Versões comparadas

Chave

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

...

Pagetitle
Reflection.getDataAnnotation
Reflection.getDataAnnotation

Procura e retorna Efetua a busca de uma Annotation em atribuída a uma propriedade de um objeto.

...

Bloco de código
collapsefalse
Reflection.getDataAnnotation( oObjxParam, cPropertyName, cAnnotationName )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oObj
xParam**

objeto

Indica o objeto onde será procurado a

/caractere**

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

X


cPropertyName 
caractere
Indica o nome
Nome da propriedade onde será procurada a Annotation           X
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

objeto

Retorna um objeto do tipo Json  contendo o valor da Annotation na propriedade indicada e NIL caso não encontre.

...

Bloco de código
languagecpp
themeEclipse
titleexemplo1.tlpp
linenumberstrue
#include "tlpp-objectcore.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
  
  IfjRet (:= Reflection.isAnnotationDataPresentgetDataAnnotation(oObj, "data1", "DataAnnotation")

  if(valType(jRet) <> 'U')  
    Conout(jRet["nickname"])
  EndIf     

Return
Bloco de código
languagecpp
themeEclipse
titleexemplo2.tlpp
linenumberstrue
#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(oObj"GetDataAnnotation", "data1", "DataAnnotation")
  if(valType(jRet) <> 'U')  
    Conout(jRet["nickname"])
  EndIf
  
Return

Resultado

...

dos Exemplos

Company

Abrangência

17.3.0.3

...