Histórico da Página
...
Pagetitle | ||||
---|---|---|---|---|
|
Procura e retorna Efetua a busca de uma Annotation em uma propriedade um método de um objeto.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
Reflection.getMethodAnnotation( oObjxParam, cMethodName, cAnnotationName ) |
...
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
oObjxParam** | objeto/caractere** | Objeto instância da classe/nome da classe** Indica o objeto onde será procurado/a a Annotation. | X | |
cMethodName | caractere | Indica o nome da propriedade Nome do método onde será procurada a Annotation. | XX | |
cAnnotationName | caractere | Indica o nome Nome da Annotation que será procurada. | X |
Informações | ||
---|---|---|
| ||
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 | JsonObjectobjetoRetorna | o object Json caso encontre a Annotation na propriedade do objeto passado e NIL caso não encontreObjeto Json com a propriedade da Annotation contendo o seu valor. Caso não encontre retorna NIL . |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@interface AnnotationExemplo #include "tlpp-core.th" @annotation AnnotationGetMethodAnnotation nickname as char @end classClass MeuObjeto public data data1 public method new() @AnnotationExemploGetMethodAnnotation Public Method New() @AnnotationGetMethodAnnotation(nickname = "CompanyTotvs") Public Method MethodWithAnnotation() EndClass Method public method exemplo() EndClass main function usoDeAnnotationNew() class GetMethodAnnotation Return Self Method MethodWithAnnotation() class GetMethodAnnotation Return Function u_testGetMethodAnnotation() localLocal oObj := MeuObjetoGetMethodAnnotation():New() localLocal jRet if ( jRet := Reflection.isAnnotationcMethodPresentgetMethodAnnotation(oObj, "exemplo", "AnnotationExemplo")) MethodWithAnnotation", "AnnotationGetMethodAnnotation") If (valType(jRet) <> 'U') Conout(jRet["nickname"]) EndIf Return |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include "tlpp-core.th" @annotation AnnotationGetMethodAnnotation nickname as char @end Class GetMethodAnnotation Public Method New() @AnnotationGetMethodAnnotation(nickname = "Totvs") Public Method MethodWithAnnotation() EndClass Method New() class GetMethodAnnotation Return Self Method MethodWithAnnotation() class GetMethodAnnotation Return Function u_testGetMethodAnnotation() Local jRet jRet := Reflection.getMethodAnnotation(oObj"GetMethodAnnotation", "exemploMethodWithAnnotation", "AnnotationExemplo"AnnotationGetMethodAnnotation") If (valType(jRet) <> 'U') conoutConout(jRet["NICKNAMEnickname"]) endifEndIf returnReturn |
Resultado do Exemplo
CompanyTotvs
Abrangência
17.3.0.3
Veja também
...