Interface IPluginBase

  • All Superinterfaces:
    IAdaptable, IExtensions, IIdentifiable, IPluginObject, IWritable
    All Known Subinterfaces:
    IFragment, IPlugin

    public interface IPluginBase
    extends IExtensions, IIdentifiable
    A model object that represents the content of a plug-in or fragment manifest. This object contains data that is common for both plug-ins and fragments.
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Field Detail

      • P_PROVIDER

        static final String P_PROVIDER
        A property that will be used to notify that the provider name has changed.
        See Also:
        Constant Field Values
      • P_VERSION

        static final String P_VERSION
        A property that will be used to notify that a version has changed.
        See Also:
        Constant Field Values
      • P_LIBRARY_ORDER

        static final String P_LIBRARY_ORDER
        A property that will be used to notify that library order in a plug-in has changed.
        See Also:
        Constant Field Values
      • P_IMPORT_ORDER

        static final String P_IMPORT_ORDER
        A property that will be used to notify that import order in a plug-in has changed.
        See Also:
        Constant Field Values
      • P_SCHEMA_VERSION

        static final String P_SCHEMA_VERSION
        A property that will be used to notify that 3.0 release compatibility flag has been changed.
        See Also:
        Constant Field Values
    • Method Detail

      • add

        void add​(IPluginLibrary library)
          throws CoreException
        Adds a new library to this plugin. This method will throw a CoreException if model is not editable.
        Parameters:
        library - the new library
        Throws:
        CoreException - if the model is not editable
      • add

        void add​(IPluginImport pluginImport)
          throws CoreException
        Adds a new plug-in import to this plugin. This method will throw a CoreException if model is not editable.
        Parameters:
        pluginImport - the new import object
        Throws:
        CoreException - if the model is not editable
      • remove

        void remove​(IPluginImport pluginImport)
             throws CoreException
        Removes an import from the plugin. This method will throw a CoreException if the model is not editable.
        Parameters:
        pluginImport - the import object
        Throws:
        CoreException - if the model is not editable
      • getLibraries

        IPluginLibrary[] getLibraries()
        Returns libraries referenced in this plug-in.
        Returns:
        an array of libraries
      • getImports

        IPluginImport[] getImports()
        Returns imports defined in this plug-in.
        Returns:
        an array of import objects
      • getProviderName

        String getProviderName()
        Returns a name of the plug-in provider.
        Returns:
        plug-in provider name
      • getVersion

        String getVersion()
        Returns this plug-in's version
        Returns:
        the version of the plug-in
      • remove

        void remove​(IPluginLibrary library)
             throws CoreException
        Removes a library from the plugin. This method will throw a CoreException if the model is not editable.
        Parameters:
        library - the library object
        Throws:
        CoreException - if the model is not editable
      • setProviderName

        void setProviderName​(String providerName)
                      throws CoreException
        Sets the name of the plug-in provider. This method will throw a CoreException if the model is not editable.
        Parameters:
        providerName - the new provider name
        Throws:
        CoreException - if the model is not editable
      • setVersion

        void setVersion​(String version)
                 throws CoreException
        Sets the version of the plug-in. This method will throw a CoreException if the model is not editable.
        Parameters:
        version - the new plug-in version
        Throws:
        CoreException - if the model is not editable
      • swap

        void swap​(IPluginLibrary l1,
                  IPluginLibrary l2)
           throws CoreException
        Swaps the positions of the provided libraries in the list of libraries. Libraries are looked up by the class loader in the order of declaration. If two libraries contain classes with the same name, library order will determine which one is encountered first.
        Parameters:
        l1 - the first library object
        l2 - the second library object
        Throws:
        CoreException - if the model is not editable
      • swap

        void swap​(IPluginImport import1,
                  IPluginImport import2)
           throws CoreException
        Swaps the positions of the plug-ins provided in in the dependency list. This order is the one used used by the classloader when loading classes.
        Parameters:
        import1 - the first import object
        import2 - the second import object
        Throws:
        CoreException - if the model is not editable
      • getSchemaVersion

        String getSchemaVersion()
        Returns version of the manifest grammar
        Returns:
        version of the manifest grammar, or null
      • setSchemaVersion

        void setSchemaVersion​(String schemaVersion)
                       throws CoreException
        Sets the R3.0 compatibility flag
        Parameters:
        schemaVersion - version of the manifest grammar
        Throws:
        CoreException - if the model is not editable