The Module Type Registry (org.eclipse.smarthome.automation.type.ModuleTypeRegistry) service is designed to provide basic functionality to get available Module Types. It can be used to:
Get the existing module type specified by UID and localized with the get(String moduleTypeUID, Locale locale) method.
Get the existing module types filtered by tags with the getByTag(String), getByTags(String... tags) methods.
Get the existing module types filtered by tags and localized with the getByTag(String moduleTypeTag, Locale locale), getByTags(Locale locale, String... tags) methods.
Get the existing module types filtered by category and tags:
category triggers with the getTriggers(String... tags), getTriggers(Locale locale, String... tags) methods.
category conditions with the getConditions(String... tags), getConditions(Locale locale, String... tags) methods.
category actions with the getActions(String... tags), getActions(Locale locale, String... tags) methods.
The module types can be returned localized depending on locale parameter. When it is not specified or there is no such localization resources the returned module type is localized with default locale.
Registering Bundle
The Module Type Registry implementation is in the org.eclipse.smarthome.automation.core bundle. It is declared as an immediate service component.