This is a technical documentation on PTIDEJ1 entry-points.
PTIDEJ stands for Pattern Traces Identification, Detection, and Enhancement in Java.
PTIDEJ is mainly written by Yann-Gaël Guéhéneuc.
Many thanks to Hervé Albin-Amiot for the Pattern Description Language and PatternsBox;
to Matthieu Bacqueville, Nicolas Benoit, Jean-Sébastien Brunner and Christian Gossart for the implementation within Eclipse.
We welcome all feedback.
PTIDEJ is a tool for object-oriented software design quality. PTIDEJ shall allow:
PTIDEJ offers several distinctive entry-points:
patterns.PatternRepository offers methods to list and to manipulate known patterns abstract models (see Gamma et al. [1]).patterns.PatternIntrospector offers methods to create a model from a list of class-files.
The jut.viewer.core.ProjectLoaderViewerPanel.build() method demonstrates a typical use of the patterns.PatternIntrospector class. The idea is to construct an
instance of the PatternIntrospector class, to use the patterns.util.TypeLoader class to build instances of class ClassFile representing the class
files in a directory, and to build the model of the class files using the patterns.PatternIntrospector.build(ClassFile[]) method.jtu.ui.kernel.Pattern class offers methods to build a graphical representation of a pattern (subclass of class
patterns.kernel.Pattern) or of a model of class files (class PatternIntrospector). The jtu.viewer.core.ViewerPanel.setCurrentPattern(patterns.kernel.Pattern)
method demonstrates a typical use of the jtu.ui.kernel.Pattern class. An instance of class jtu.ui.kernel.Pattern is created with a given instance of a (subclass of) class
patterns.kernel.Pattern, a given instance of a concrete factory for the graphic primitives (either jtu.ui.primitive.awt.PrimitiveFactory for AWT primitives or
jtu.ui.primitive.swt.PrimitiveFactory for SWT primitives), and a given layout algorithm. The instance of class jtu.ui.kernel.Pattern is then built and displayed in
a given canvas (either jtu.viewer.core.AWTCanvas for AWT or jtu.viewer.eclipse.ui.SWTCanvas for SWT).
1 PTIDEJ stands for "breakfast" (in french argot) and is pronounced "tE-dAzh
(see Pterodactyl and Déjà vu).
[1] Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides ;
Design Patterns - Elements of Reusable Object-Oriented Software ; Addison-Wesley, 1994.