org.eclipse.ease.modules

## Class ModuleDefinition

- java.lang.Object
- - org.eclipse.ease.modules.ModuleDefinition

    public class ModuleDefinition
    extends Object

### Constructor Summary

Constructors
Constructor and Description
`ModuleDefinition(IConfigurationElement config)`

### Method Summary

Methods
`Object` `createModuleInstance()` Create a new instance of the module.
`String` `getBundleID()`
`static ModuleDefinition` `getDefinition(Object module)` Retrieve the module definition for a given module instance.
`Collection<String>` `getDependencies()` Get a collection of module dependencies.
`List<Field>` `getFields()`
`String` `getHelpLocation(String topic)` Provide the help location for a given topic.
`String` `getId()`
`ImageDescriptor` `getImageDescriptor()`
`List<Method>` `getMethods()`
`Class<?>` `getModuleClass()` Get the class definition of the provided module.
`String` `getName()`
`IPath` `getPath()` Get the full module name.
`boolean` `isVisible()` Get visibility status of module.
`void` `resetVisible()` Reset visibility to defaults.
`void` `setVisible(boolean visible)` Sets visibility status of module in preferences

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ModuleDefinition

    public ModuleDefinition(IConfigurationElement config)

### Method Detail

#### getDefinition

    public static ModuleDefinition getDefinition(Object module)

Retrieve the module definition for a given module instance.

Parameters:
  `module` - module instance to look up
Returns:
  module definition or `null`

#### getName

    public String getName()

#### getDependencies

    public Collection<String> getDependencies()

Get a collection of module dependencies. Collection contains ids of required modules.

Returns:
  collection of required module ids

#### getModuleClass

    public Class<?> getModuleClass()

Get the class definition of the provided module. Will not (by default) create an instance of this class, but look up the class definition directly.

Returns:
  class definition of module contribution

#### createModuleInstance

    public Object createModuleInstance()

Create a new instance of the module.

Returns:
  module instance

#### isVisible

    public boolean isVisible()

Get visibility status of module. Modules have a default visibility stored in its definition. Users may override this setting using preferences. Invisible modules may still be used in scripts. However they are not visible in the UI.

Returns:
  `true` when visible

#### setVisible

    public void setVisible(boolean visible)

Sets visibility status of module in preferences

Parameters:
  `visible` - `true` to make visible

#### resetVisible

    public void resetVisible()

Reset visibility to defaults.

#### getPath

    public IPath getPath()

Get the full module name. The full name consists of optional parent categories and the module name itself.

Returns:
  absolute path of this module definition

#### getId

    public String getId()

#### getImageDescriptor

    public ImageDescriptor getImageDescriptor()

#### getBundleID

    public String getBundleID()

#### getMethods

    public List<Method> getMethods()

#### getFields

    public List<Field> getFields()

#### getHelpLocation

    public String getHelpLocation(String topic)

Provide the help location for a given topic. Returns the help URI needed to open the according help page.

Parameters:
  `topic` - help topic within module
Returns:
  link to help