@Java']Java: Bringing a richer annotation model to Java']Java

被引:14
|
作者
Cazzola, Walter [1 ]
Vacchi, Edoardo [1 ]
机构
[1] Univ Milan, Dept Comp Sci, I-20122 Milan, Italy
关键词
!text type='Java']Java[!/text; Meta-data; Annotations; Reflection; REFLECTION; DESIGN;
D O I
10.1016/j.cl.2014.02.002
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The ability to annotate code and, in general, the capability to attach arbitrary meta-data to portions of a program are features that have become more and more common in programming languages. Annotations in Java make it possible to attach custom, structured meta-data to declarations of classes, fields and methods. However, the mechanism has some limits: annotations can only decorate declarations and their instantiation can only be resolved statically. With this work, we propose an extension to Java (named @Java) with a richer annotation model, supporting code block and expression annotations, as well as dynamically evaluated members. In other words, in our model, the granularity of annotations extends to the statement and expression level and annotations may hold the result of runtime-evaluated expressions. Our extension to the Java annotation model is twofold: (i) we introduced block and expression annotations and (ii) we allow every annotation to hold dynamically evaluated values. Our implementation also provides an extended reflection API to support inspection and retrieval of our enhanced annotations. (C) 2014 Elsevier Ltd. All rights reserved.
引用
收藏
页码:2 / 18
页数:17
相关论文
共 50 条
  • [31] JayHorn: A Java']Java Model Checker
    Rummer, Philipp
    [J]. PROCEEDINGS OF THE 21ST WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS (FTFJP 2019), 2019,
  • [32] On Java']Java
    Moore, DL
    Halfhill, TR
    [J]. BYTE, 1997, 22 (04): : 19 - 20
  • [33] 'JAVA']JAVA'
    FERSTER, J
    [J]. GEORGIA REVIEW, 1981, 35 (01): : 77 - 77
  • [34] 'JAVA']JAVA'
    PARRY, J
    [J]. DANCE & DANCERS, 1983, (405): : 28 - 29
  • [35] Java']Java
    Mateosian, R
    [J]. IEEE MICRO, 1996, 16 (03) : 3 - 5
  • [36] Compiling, assembling and executing Java']Java using Java']Java - Compiler construction using Java']Java
    Pedersen, JB
    Wagner, A
    [J]. PDPTA'2001: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, 2001, : 1820 - 1826
  • [37] A CSP model for Java']Java multithreading
    Welch, PH
    Martin, JMR
    [J]. INTERNATIONAL SYMPOSIUM ON SOFTWARE ENGINEERING FOR PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 2000, : 114 - 122
  • [38] Java']Java RMI performance and object model interoperability: experiments with Java']Java/HPC++
    Breg, F
    Diwan, S
    Villacis, J
    Balasubramanian, J
    Akman, E
    Gannon, D
    [J]. CONCURRENCY-PRACTICE AND EXPERIENCE, 1998, 10 (11-13): : 941 - 955
  • [39] Model Generation For Java']Java Frameworks
    Luo, Linghui
    Piskachev, Goran
    Krishnamurthy, Ranjith
    Dolby, Julian
    Bodden, Eric
    Schal, Martin
    [J]. 2023 IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION, ICST, 2023, : 165 - 175
  • [40] An authentication server in Java']Java - Implementation of an encryption framework model and DES algorithm in Java']Java
    de Almeida, LB
    Godoy, W
    Kovaleski, JL
    [J]. ITS '98 PROCEEDINGS - SBT/IEEE INTERNATIONAL TELECOMMUNICATIONS SYMPOSIUM, VOLS 1 AND 2, 1998, : 627 - 631