If you don't want to extend Java at all, please use the Personality Pattern.
This paper has been revised and a complete Master's thesis has been published on this topic. See Personalities Home Page for the latest information on this topic.
The paper is available in the formats:
Bibtex entries:
@INPROCEEDINGS{blando-seke:personalities,
AUTHOR = "Luis Blando and Karl Lieberherr and Mira Mezini",
TITLE = "{Modeling Behavior with Personalities}",
BOOKTITLE = "International Conference on Knowledge and Software Engineering",
YEAR = "1999",
ADDRESS = "Kaiserslautern",
PAGES = "",
EDITOR = "",
PUBLISHER = ""
}
@TECHREPORT{personalities:blandoHREPORT{blando:personalities-98,
AUTHOR = "Luis Blando",
TITLE = "{Designing and Programming with Personalities}",
INSTITUTION = "Northeastern University",
YEAR = 1998,
MONTH = "December",
NUMBER = "NU-CCS-98-12",
NOTE = "Master's Thesis"
}
AUTHOR = "Luis Blando and Karl Lieberherr and Mira Mezini",
TITLE = "{Modeling Behavior with Personalities}",
INSTITUTION = "College of Computer Science, Northeastern University",
YEAR = 1998,
MONTH = "September",
NUMBER = "{NU-CCS-98-08},
ADDRESS = "Boston, MA"
}
Further information about the paper:
This is a part of Luis Blando's MS Thesis.
Personalities and Frameworks Implementation
Consider a personality P with an upstream and downstream interface. The personifying class C has to implement the downstream interface. To make this implementation easier to reuse, we define a framework that implements the downstream interface. A personality with a framework-based implementation has the flavor of an APPC or a Class Graph View. See Luis Blando's thesis.