1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

ExtensionPointsAndArchitecture

From jcryptool

Jump to: navigation, search

Contents

The JCrypTool Plug-in Architecture

This site is designed to provide a general overview of the architecture of JCrypTool.

Extensions and Dependencies

In the graph below, the general architecture of JCryptool and the plug-ins it is built on is depicted.
[snip]A graph will be added here[/snip]

Extension Points

Some plug-ins declare Extension Points which allow other plug-ins to extend certain aspects of JCrypTool with their own functionality.

com.thoughworks.xstream

  • xstream: Provides a common point of access to the Object-to-XML serialization functionality of the XStream plug-in.
    • class: (extend) com.thoughtworks.xstream.ObjectPersistence [requried]

org.jcryptool.core

  • operationsManager: This is the only Extension Point defined by the core plug-in. It links the org.jcryptool.core.operations plug-in to the core and retrieves the installed algorithm plug-ins.
    • class: (extend) org.jcryptool.coreng.operations.AbstractOperationsManager [required]

org.jcryptool.core.operations

  • algorithms: This Extension Point is used by all algorithm plug-ins.
    • class: (extend) org.jcryptool.coreng.operations.algorithm.AbstractAlgorithm [required]
    • actionClass: (extend) org.jcryptool.coreng.operations.algorithm.AbstractAlgorithmAction [required]
    • cmdClass: (extend) org.jcryptool.coreng.operations.algorithm.AbstractAlgorithmCmd [required]
    • engineClass: (implement) org.jcryptool.coreng.operations.algorithm.classic.IClassicAlgorithmEngine [optional. Only required for classic algorithms]
  • analysis: The Extension Point has to be extended by Analysis plug-ins.
    • Name: The name of the visual [required]
    • View_ID: The view id provided by the plug-in [required]
  • alphabets: This Extension Point connects the org.jcryptool.class.alphabets plug-in to org. jcryptool.coreng.operations. By extending the org.jcryptool.coreng.operations.AbstractAlphabetStore class, the org.jcryptool.class.alphabets plug-in provides a central point of access to its AlphabetStore implementation.
    • class: (extend) org.jcryptool.coreng.operations.algorithm.classic.AbstractAlphabetStore [required]
  • editorServices: This Extension Point provides a framework class for all Editors and their services. All Editor plug-ins are required to plug into this Extension Point and provide an implementation of the abstract org.jcryptool.coreng.operations.service.AbstractEditorService class.
    • class: (extend) org.jcryptool.coreng.operations.service.AbstractEditorService [required]
  • games: The Extension Point has to be extended by Game plug-ins.
    • Name: The name of the game [required]
    • View_ID: The view id provided by the plug-in [required]
  • providers: This Extension Point has to be extended by all CryptoProvider plug-ins.
    • class: (extend) java.security.Provider [required]
  • visuals: The Extension Point has to be extended by Visualisation plug-ins.
    • Name: The name of the visual [required]
    • View_ID: The view id provided by the plug-in [required]
Personal tools