Árvore de páginas

Versões comparadas

Chave

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

...

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

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

oObj
xParam**

objeto

Indica o objeto

/caractere**

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

X


cPropertyName 
caractereIndica o nome da propriedade onde será procurada a Annotation          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

aRet

Array 

Array contendo em cada posição um objeto Json contendo o valor de cada Annotation atribuída a propriedade do objeto. Caso nenhuma Annotation seja encontrada, retorna NIL.

...

Bloco de código
languagecpp
themeEclipse
titleexemplo1.tlpp
linenumberstrue
#include "tlpp-core.th"
 
@annotation AnnotationGetDataAnnotationList01
  teste1 as char
@end
 
@annotation AnnotationGetDataAnnotationList02
  teste2 as char
@end
 
Class GetDataAnnotationList
  
  @AnnotationGetDataAnnotationList01(teste1 = "Primeira Annotation")
  @AnnotationGetDataAnnotationList02(teste2 = "Segunda Annotation")
  Public data data1

  Public Method New()
  
EndClass

Method New() class GetDataAnnotationList
Return Self

Function u_testGetDataAnnotationList()
  Local oObj := GetDataAnnotationList():New()
  Local aRet as array
 
  aRet := Reflection.getDataAnnotationList(oObj,"data1")
  Conout(aRet[1]["teste1"])
  Conout(aRet[2]["teste2"])
Return

Bloco de código
languagecpp
themeEclipse
titleexemplo2.tlpp
linenumberstrue
#include "tlpp-core.th"
 
@annotation AnnotationGetDataAnnotationList01
  teste1 as char
@end
 
@annotation AnnotationGetDataAnnotationList02
  teste2 as char
@end
 
Class GetDataAnnotationList
  
  @AnnotationGetDataAnnotationList01(teste1 = "Primeira Annotation")
  @AnnotationGetDataAnnotationList02(teste2 = "Segunda Annotation")
  Public data data1

  Public Method New()
  
EndClass

Method New() class GetDataAnnotationList
Return Self

Function u_testGetDataAnnotationList()
   Local aRet as array
 
  aRet := Reflection.getDataAnnotationList(GetDataAnnotationList,"data1")
  Conout(aRet[1]["teste1"])
  Conout(aRet[2]["teste2"])
Return

Resultado do Exemplo

Primeira Annotation

...