A trait is a set of methods that is independent from any class hierarchy and can be flexibly used to build other traits or classes by means of a suite of composition operations. Traits were proposed as a mechanism for fine-grained code reuse to overcome many limitations of class-based inheritance. In this paper we present the extended version of Xtraitj, a trait-based programming language that features complete compatibility and interoperability with the Java platform. Xtraitj provides a full Eclipse IDE that aims to support an incremental adoption of traits in existing Java projects. This new version fully supports Java generics: traits can have type parameters just like in Java, so that they can completely interoperate with any existing Java library. Furthermore, Xtraitj now supports Java annotations, so that it can integrate with frameworks like JUnit 4.

Generic traits for the Java platform

BETTINI, LORENZO;DAMIANI, Ferruccio
2014-01-01

Abstract

A trait is a set of methods that is independent from any class hierarchy and can be flexibly used to build other traits or classes by means of a suite of composition operations. Traits were proposed as a mechanism for fine-grained code reuse to overcome many limitations of class-based inheritance. In this paper we present the extended version of Xtraitj, a trait-based programming language that features complete compatibility and interoperability with the Java platform. Xtraitj provides a full Eclipse IDE that aims to support an incremental adoption of traits in existing Java projects. This new version fully supports Java generics: traits can have type parameters just like in Java, so that they can completely interoperate with any existing Java library. Furthermore, Xtraitj now supports Java annotations, so that it can integrate with frameworks like JUnit 4.
2014
International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ'14)
Cracow, Poland
September 23-26, 2014
Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform Virtual machines, Languages, and Tools - PPPJ '14
ACM - Association for Computing Machinery
5
16
9781450329262
http://dl.acm.org/citation.cfm?doid=2647508.2647518
Java; Trait; IDE; Implementation; Eclipse
Lorenzo Bettini;Ferruccio Damiani
File in questo prodotto:
File Dimensione Formato  
ACM-pppj-2014-bd.pdf

Accesso riservato

Descrizione: Articolo principale (versione per conferenza)
Tipo di file: PDF EDITORIALE
Dimensione 500.43 kB
Formato Adobe PDF
500.43 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
main-Open-access.pdf

Open Access dal 02/12/2015

Descrizione: Articolo principale (versione per conferenza)
Tipo di file: POSTPRINT (VERSIONE FINALE DELL’AUTORE)
Dimensione 448.51 kB
Formato Adobe PDF
448.51 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/150607
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 5
  • ???jsp.display-item.citation.isi??? ND
social impact