Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

participant pattern in design patterns?

I try to find some materials and articles about "Participant Pattern", but I couldn't find anything.

In the middle of looking at org.eclipse.wst.jsdt project, I found that it provides some extension points in the following.

I want to use these extension points. Before that, it would be great to understand overall architecture if I had some knowledge about "Participant Pattern". There are a lot of *Participant classes in eclipse source. (e.g. ValidationParticipant, SearchParticipant, etc.) Would you help me?

http://wiki.eclipse.org/JSDT#Extension_Points

The JSDT functionality is embeddable. This means, for instance, that the JavaScript editing capabilities is embeddable within HTML and JSP Editors, both within script tags, and script attribute values. The JSDT is flexible so script support in other languages is possible using translator interfaces being planned for WTP 3.1.

The following JSDT extension points are supported :

  • Global Scope variable initializer
  • Global Scope container initializer core
  • Code formatter
  • Validation participant

The following jsdt.ui extension points will be supported :

  • Global Scope container initializer ui (Wizzard, content assist images and type/text naming)
  • javascript element filter
  • javaScriptEditorTextHovers
  • jsdocCompletionProcessor
  • quickFixProcessors
  • quickAssistProcessors
  • foldingStructureProviders
  • queryParticipants
  • javaScriptCompletionProposalComputer
  • javaScriptCompletionProposalSorters
like image 651
hurcy Avatar asked Nov 13 '22 08:11

hurcy


1 Answers

From the code of SearchEngine and SearchParticipant it looks like it is a mixture of Chain of Responsibility and Strategy patterns. From one hand each SearchParticipant defines its own logic of indexing, searching, reporting, etc. operations, and from other hand SearchEngine uses a chain of participants to execute combined search.

like image 143
udalmik Avatar answered Nov 15 '22 05:11

udalmik