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.