Interface ExtensionPoint

All Superinterfaces:
Documentable<ExtensionPoint>, Identity, PluginElement<ExtensionPoint>, UniqueIdentity
All Known Implementing Classes:
MockExtensionPoint

public interface ExtensionPoint extends UniqueIdentity, PluginElement<ExtensionPoint>
This interface abstracts the extension point - a place where the functionality of plug-in can be extended.

Extension point UID is a combination of declaring plug-in ID and extension point ID that is unique within whole set of registered plug-ins.

Version:
$Id$
  • Method Details

    • getMultiplicity

      ExtensionMultiplicity getMultiplicity()
      Returns:
      multiplicity of this extension point
    • getParameterDefinitions

      Returns collection of all top level parameter definitions declared in this extension point and all it parents.
      Returns:
      collection of ExtensionPoint.ParameterDefinition objects
    • getParameterDefinition

      ExtensionPoint.ParameterDefinition getParameterDefinition(String id)
      Parameters:
      id - ID of parameter definition to look for
      Returns:
      parameter definition with given ID
    • getAvailableExtensions

      Collection<Extension> getAvailableExtensions()
      Returns a collection of all extensions that available for this point.
      Returns:
      collection of Extension objects
    • getAvailableExtension

      Extension getAvailableExtension(String uniqueId)
      Parameters:
      uniqueId - unique ID of extension
      Returns:
      extension that is available for this point
    • isExtensionAvailable

      boolean isExtensionAvailable(String uniqueId)
      Checks if extension is available for this extension point. If this method returns true, the method getAvailableExtension(String) should return valid extension for the same UID.
      Parameters:
      uniqueId - unique ID of extension
      Returns:
      true if extension is available for this extension point
    • getConnectedExtensions

      Collection<Extension> getConnectedExtensions()
      Returns a collection of all extensions that was successfully "connected" to this point.
      Returns:
      collection of Extension objects
    • getConnectedExtension

      Extension getConnectedExtension(String uniqueId)
      Parameters:
      uniqueId - unique ID of extension
      Returns:
      extension that was successfully "connected" to this point
    • isExtensionConnected

      boolean isExtensionConnected(String uniqueId)
      Checks if extension is in valid state and successfully "connected" to this extension point. If this method returns true, the method getConnectedExtension(String) should return valid extension for the same UID.
      Parameters:
      uniqueId - unique ID of extension
      Returns:
      true if extension was successfully "connected" to this extension point
    • isValid

      boolean isValid()
      Returns:
      true if extension point is considered to be valid
    • getParentPluginId

      String getParentPluginId()
      Returns:
      parent extension point plug-in ID or null
    • getParentExtensionPointId

      String getParentExtensionPointId()
      Returns:
      parent extension point ID or null
    • isSuccessorOf

      boolean isSuccessorOf(ExtensionPoint extensionPoint)
      Parameters:
      extensionPoint - extension point
      Returns:
      true if this point is successor of given extension point
    • getDescendants

      Collection<ExtensionPoint> getDescendants()
      Looks for all available (valid) successors of this extension point. The search should be done recursively including all descendants of this extension point.
      Returns:
      collection of ExtensionPoint objects