Árvore de páginas

Versões comparadas

Chave

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

...

Pagetitle
Reflection.getMethodParmAnnotation
Reflection.getMethodParmAnnotation

Retornar Efetua a busca de Annotation a partir de um determinado parâmetro de uma função, em determinada posição em um método.

Sintaxe

Bloco de código
collapsefalse
Reflection.getMethodParmAnnotation( oObjectxParam, cFunctionNamecMethodName, nParmPos, cAnnotationName)

...

Nome

Tipo

Descrição

Obrigatório

Referência

oObjectxParam**

objeto/caractere**

Objeto instância da classe/nome da classe** proprietário/a** do método onde será procurada Indica o objeto onde está o método que será procurado a Annotation.

X


cPropertyNamecMethodName

caractere

Indica o nome Nome do método onde será procurada a Annotation.

X


nParmPos
numéricoIndica a posição Posição do parâmetro onde será procurada a AnnotationX           X
cAnnotationName
caractereIndica o nome Nome da Annotation que será a ser procurada.X           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

JsonObject

objeto

Objeto do tipo Json sendo a propriedade a Annotation e contendo o valor da mesma. Retorna Retorna o object Json caso encontre a Annotation no parâmetro do método e NIL caso não encontre resultado para a busca.

...

Exemplo

Bloco de código
languagecpp
themeEclipse
titleexemplo1.tlpp
linenumberstrue
@interface AnnotationExemplo
    #include "tlpp-core.th"


@annotation AnnotationGetMethodParmAnnotation
nickname as char
@end
 
classClass MeuObjeto
    public data data1
    public method newGetMethodParmAnnotation

	Public Method New()
	Public    public method teste(@AnnotationExemplo("valorMethod ParmAnnotation(@AnnotationGetMethodParmAnnotation("annotation parm1") parm1, @AnnotationExemplo@AnnotationGetMethodParmAnnotation("valorannotation parm2") parm2)
EndClass

Method New() class GetMethodParmAnnotation
Return Self

main function usoDeAnnotationFunction u_testGetMethodParmAnnotation()
    local

	Local oObj := MeuObjetoGetMethodParmAnnotation():New()
	Local jRet

	jRet :=  local jRet
    Reflection.getMethodParmAnnotation(oObj, "ParmAnnotation", 1, "AnnotationGetMethodParmAnnotation")
	Conout(jRet["nickname"])

	jRet := Reflection.getMethodParmAnnotation(oObj,"testeParmAnnotation", 12, "AnnotationExemplo")
    conout(jRet["NICKNAME"])
    AnnotationGetMethodParmAnnotation")
	Conout(jRet["nickname"])
Return
Bloco de código
languagecpp
themeEclipse
titleexemplo2.tlpp
linenumberstrue
#include "tlpp-core.th"


@annotation AnnotationGetMethodParmAnnotation
nickname as char
@end

Class GetMethodParmAnnotation

	Public Method New()
	Public Method ParmAnnotation(@AnnotationGetMethodParmAnnotation("annotation parm1") parm1, @AnnotationGetMethodParmAnnotation("annotation parm2") parm2)
EndClass

Method New() class GetMethodParmAnnotation
Return Self

Function u_testGetMethodParmAnnotation()

	Local jRet

	jRet := Reflection.getMethodParmAnnotation(oObj"GetMethodParmAnnotation", "testeParmAnnotation", 21, "AnnotationExemplo")
    conout"AnnotationGetMethodParmAnnotation")
	Conout(jRet["nickname"])

	jRet := Reflection.getMethodParmAnnotation("GetMethodParmAnnotation","ParmAnnotation", 2, "AnnotationGetMethodParmAnnotation")
	Conout(jRet["NICKNAMEnickname"]) 
returnReturn

Resultado do Exemplo

valorannotation parm1
valorannotation parm2


Abrangência

17.3.0.3

Veja também

...