Interface ISharedPluginModel

All Superinterfaces:
IAdaptable, IBaseModel, IModel, IModelChangeProvider
All Known Subinterfaces:
IExtensionsModel, IFragmentModel, IPluginModel, IPluginModelBase, ISharedExtensionsModel

public interface ISharedPluginModel extends IModel, IModelChangeProvider
This type of model is created by parsing the manifest file. It serves as a base interface for both plug-in and fragment models by holding data common to both. If the file is a workspace resource, it will be available as the underlying resource of the model. The model may be read-only or editable. It will also make a reference to the build.properties model when created. The reference will be of the same type as the model itself: if the model is editable, it will attempt to obtain an exclusive editable copy of build.properties model.

The plug-in model can be disabled. Disabling the model will not change its data. Users of the model will have to decide if the disabled state if of any importance to them or not.

The model is capable of notifying listeners about changes. An attempt to change a read-only model will result in a CoreException.

Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • getFactory

      Returns a factory object that should be used to create new instances of the model objects.
      Returns:
      factory object to create new model objects
    • getInstallLocation

      String getInstallLocation()
      Returns a location of the file that was used to create this model. The location can be that of a directory or that of a JAR file.
      Returns:
      a location of the external model, or null if the model is not created from a resource or a file in the file system.