Árvore de páginas

Carregando...

Versões comparadas

Chave

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

...

Nome

Tipo

Descrição

Obrigatório

Referência

oObj

objeto

Objeto na qual onde a busca pela Annotation será realizada

X


cAnnotationName 
caractereNome da annotation da Annotation a ser procuradaX

Retorno

Nome

Tipo

Descrição

aRet

Array

Retorna um array com o os objetos Method.

...

Array contendo em cada posição um objeto Json com a propriedade cMethodName onde o valor é o método onde a Annotation  foi encontrada. Caso não haja resultado a array retorna vazia.

Exemplo

Bloco de código
languagecpp
themeEclipse
titleexemplo1test_doc_getMethodsObjectByAnnotation.tlpp
linenumberstrue
//Definicoes das annotation, deve estar num fonte
#include "tlpp-objectcore.th"
  
  
@annotation metodoAnnotationGetMethodsObjectByAnnotation
@end

@annotation classeMetodo
@end
  
@classeMetodo()
Class NovaClasseMetodoGetMethodsObjectByAnnotation
  
    
	Public Data TesteAttr
      
    @metodo()
    Public Method MetodoTeste()
  
    Method New()

	@AnnotationGetMethodsObjectByAnnotation()
	Public Method NewMethodWithAnnotation(str)
endclass
  
  EndClass

Method New(str) class NovaClasseMetodoGetMethodsObjectByAnnotation
    ::TesteAttr := str
return self
  
Method MetodoTesteReturn Self

Method MethodWithAnnotation() class NovaClasseMetodo
    Conout("Instancia executada: " + ::TesteAttr)
return "Banana"
  
  
User Function testeMetodo()
    local ObjMethod
    local classes
    local obj1
      
    classes := Reflection.getClassesByAnnotation("classeMetodo", "") // vazio para pegar todas as classes do repositorio
      
    obj1 := classes[1]:CreateInstance("Instancia 1")
      
    GetMethodsObjectByAnnotation
Return

Function u_testGetMethodsObjectByAnnotation()
	Local ObjMethod
	Local oObj

	oObj := GetMethodsObjectByAnnotation():New()

	ObjMethod := Reflection.getMethodsObjectByAnnotation(obj1oObj, "metodoAnnotationGetMethodsObjectByAnnotation")
    conout	Conout("Nome do Metodo: " + ObjMethod[1]:cMethodName)

return

Return

Resultado do Exemplo

Nome do Metodo: METODOTESTEMethodWithAnnotation

Abrangência

17.3.0.3

Veja também

...