O recurso de annotation foi liberado na versão 17.3.0.3 e o objetivo é possibilitar a declaração de metadados nas nossas classes, métodos e funções, isto é, as configurações deles podem ficar dentro do mesmo código fonte.
Sugere-se que a definição da annotation seja colocada em um TH (TLPP Header File) para que possa ser utilizada em vários fontes.
@annotation ExemploDeAnnotation
property1 as char
property2 as numeric default 1
@end
|
Uso da annotation em definição de classe:
#include "exemplo1.th"
@ExemploDeAnnotation(property1 = "MeuObject")
class meuObj
public Data data1
public method new()
EndClass
|
Uso da annotation em definição de método:
#include "exemplo1.th"
class meuObj
public Data data1
@ExemploDeAnnotation(property1 = "MetodoNew")
public method new()
EndClass |
Uso da annotation em definição de propriedade:
#include "exemplo1.th"
class meuObj
@ExemploDeAnnotation(property1 = "PropertyData", property2 = 456)
public Data data1
EndClass |
Uso da annotation em definição de função:
#include "exemplo1.th"
@ExemploDeAnnotation(property1 = "FunctionTeste", property2 = 123)
main Function teste()
conout("annotationTest")
Return |