2008
DOI: 10.5381/jot.2008.7.2.a1
|View full text |Cite
|
Sign up to set email alerts
|

Featherweight Wrap Java: wrapping objects and methods.

Abstract: We present a language extension, which integrates in a Java like language a mechanism for dynamically extending object behaviors without changing their type. Our approach consists in moving the addition of new features from class (static) level to object (dynamic) level: the basic features of entities (representing their structure) are separated from the additional ones (wrapper classes whose instances represent run-time added behaviors). At run-time, these entities can be dynamically composed by instantiating… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2009
2009
2020
2020

Publication Types

Select...
2
2
1

Relationship

3
2

Authors

Journals

citations
Cited by 5 publications
(8 citation statements)
references
References 27 publications
0
8
0
Order By: Relevance
“…Featherweight Java [33] is a minimal core calculus for Java, proposed to facilitate understanding the consequences of extensions and variations, proposed almost two decades ago. Featherweight Java has received substantial attention since then, with a definition of its denotational semantics [65], small-step operation semantics [23], type-preserving compilation [42], received proposed extensions like Generic FJ [79], Feature FJ [4], Corecursive FJ [2], Transactional FJ [70], Feath-erTrait [44], Welterweight Java [52], Middleweight Java [9], Featherweight Wrap Java [8], and perhaps others.…”
Section: Related Workmentioning
confidence: 99%
“…Featherweight Java [33] is a minimal core calculus for Java, proposed to facilitate understanding the consequences of extensions and variations, proposed almost two decades ago. Featherweight Java has received substantial attention since then, with a definition of its denotational semantics [65], small-step operation semantics [23], type-preserving compilation [42], received proposed extensions like Generic FJ [79], Feature FJ [4], Corecursive FJ [2], Transactional FJ [70], Feath-erTrait [44], Welterweight Java [52], Middleweight Java [9], Featherweight Wrap Java [8], and perhaps others.…”
Section: Related Workmentioning
confidence: 99%
“…We believe our solution is simpler than the approaches presented in [27] and, in general, than a wrapper solution (such as, e.g., [7,10]). Thus we can compose two instances as follows:…”
Section: Programming Examplesmentioning
confidence: 99%
“…Incomplete objects, as a language construct, are more generalpurpose than wrappers (see, e.g., [7,10]) and, indeed, wrappers could be actually implemented through incomplete objects. Another form of wrapping of methods is the one offered by the delegates of C#, i.e., objects pointing to one method or to a set of methods, that will be executed when invoked appropriately on the delegate.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…However, they differ from decorator-based solutions such as the language extension presented in [9]: incomplete objects provide a more general-purpose language construct and the wrappers of [9] could be actually implemented through incomplete objects. Another form of wrapping of methods is the one offered by the delegates of C#.…”
Section: Checks Performed By the Preprocessormentioning
confidence: 99%