Class AbstractModule
- java.lang.Object
-
- org.neotropic.kuwaiba.core.apis.integration.modules.AbstractModule
-
- Direct Known Subclasses:
AbstractCommercialModule
,AuditTrailModule
,ConfigurationVariablesModule
,ConnectivityManagerModule
,ContactManagerModule
,ContainmentManagerModule
,ContractManagerModule
,DataModelManagerModule
,FavoritesModule
,FilterDefinitionModule
,ImpactAnalysisModule
,LayoutEditorModule
,ListTypeManagerModule
,NavigationModule
,PhysicalConnectionsModule
,PoolsModule
,ProjectsModule
,ProxyManagerModule
,QueriesModule
,ReportsModule
,ServiceManagerModule
,SessionManagerModule
,TaskManagerModule
,TemplateManagerModule
,TopologyManagerModule
,UserManagerModule
,ValidatorDefinitionModule
,WarehousesManagerModule
public abstract class AbstractModule extends Object
Defines the behavior of all modules be it commercial, open source or third-party free contributions.- Author:
- Charles Edward Bedon Cortazar <charles.bedon@kuwaiba.org>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractModule.ModuleType
-
Field Summary
Fields Modifier and Type Field Description protected ApplicationEntityManager
aem
Reference to the metadata entity manager.protected BusinessEntityManager
bem
Reference to the metadata entity manager.static int
CATEGORY_ADMINISTRATION
Modules to manage the data model.static int
CATEGORY_BUSINESS
Modules to manage administrative aspects of the inventory such as services (as in billed services), customers, contracts.static int
CATEGORY_INTEGRATION
Modules that allow Kuwaiba to communicate with other platforms and devices.static int
CATEGORY_LOGICAL
Modules to manipulate L2/L3 assets, like MPLS, SDH, IP, ISDN, etc.static int
CATEGORY_NAVIGATION
Modules that are used to explore, navigate and search inventory assets.static int
CATEGORY_OTHER
Any module not fitting the categories above.static int
CATEGORY_PHYSICAL
Modules that allow to manipulate L1 assets, such as physical connections and outside plant infrastructure.static int
CATEGORY_PLANNING
Modules dedicated to network planningstatic int
CATEGORY_SETTINGS
General system settings such as validators and conf variablesstatic int
CATEGORY_VIRTUALIZATION
Modules to manipulate virtualized infrastructure (the likes of IaaS/SaaS).protected boolean
enabled
This flag renders the module enabled or not.protected MetadataEntityManager
mem
Reference to the metadata entity manager.
-
Constructor Summary
Constructors Constructor Description AbstractModule()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
configureModule(MetadataEntityManager mem, ApplicationEntityManager aem, BusinessEntityManager bem)
This method initializes the module.abstract int
getCategory()
Assigns the module a category, so it can be placed in menus and context actions.abstract String
getDescription()
Gets the module descriptionabstract String
getId()
A simple unique string that identifies the module so it is easier to refer to it in automated processes such as defining if a user can user certain functionality based on his/her privileges.abstract AbstractModule.ModuleType
getModuleType()
Gets the module's type.abstract String
getName()
Gets the module's name.abstract String
getVendor()
Gets the module's vendorabstract String
getVersion()
Gets the module's versionboolean
isEnabled()
void
setEnabled(boolean enabled)
-
-
-
Field Detail
-
enabled
protected boolean enabled
This flag renders the module enabled or not. Actions belonging to a disabled module can not be executed.
-
CATEGORY_NAVIGATION
public static final int CATEGORY_NAVIGATION
Modules that are used to explore, navigate and search inventory assets.- See Also:
- Constant Field Values
-
CATEGORY_PHYSICAL
public static final int CATEGORY_PHYSICAL
Modules that allow to manipulate L1 assets, such as physical connections and outside plant infrastructure.- See Also:
- Constant Field Values
-
CATEGORY_LOGICAL
public static final int CATEGORY_LOGICAL
Modules to manipulate L2/L3 assets, like MPLS, SDH, IP, ISDN, etc.- See Also:
- Constant Field Values
-
CATEGORY_VIRTUALIZATION
public static final int CATEGORY_VIRTUALIZATION
Modules to manipulate virtualized infrastructure (the likes of IaaS/SaaS).- See Also:
- Constant Field Values
-
CATEGORY_BUSINESS
public static final int CATEGORY_BUSINESS
Modules to manage administrative aspects of the inventory such as services (as in billed services), customers, contracts. etc.- See Also:
- Constant Field Values
-
CATEGORY_PLANNING
public static final int CATEGORY_PLANNING
Modules dedicated to network planning- See Also:
- Constant Field Values
-
CATEGORY_INTEGRATION
public static final int CATEGORY_INTEGRATION
Modules that allow Kuwaiba to communicate with other platforms and devices.- See Also:
- Constant Field Values
-
CATEGORY_ADMINISTRATION
public static final int CATEGORY_ADMINISTRATION
Modules to manage the data model.- See Also:
- Constant Field Values
-
CATEGORY_SETTINGS
public static final int CATEGORY_SETTINGS
General system settings such as validators and conf variables- See Also:
- Constant Field Values
-
CATEGORY_OTHER
public static final int CATEGORY_OTHER
Any module not fitting the categories above.- See Also:
- Constant Field Values
-
mem
protected MetadataEntityManager mem
Reference to the metadata entity manager.
-
aem
protected ApplicationEntityManager aem
Reference to the metadata entity manager.
-
bem
protected BusinessEntityManager bem
Reference to the metadata entity manager.
-
-
Method Detail
-
getId
public abstract String getId()
A simple unique string that identifies the module so it is easier to refer to it in automated processes such as defining if a user can user certain functionality based on his/her privileges.- Returns:
-
getName
public abstract String getName()
Gets the module's name. Must be unique, otherwise, the system will only take last one loaded at application's startup- Returns:
- The module's name
-
getCategory
public abstract int getCategory()
Assigns the module a category, so it can be placed in menus and context actions. See CATEGORY_XXX for valid values.- Returns:
- The category.
-
getDescription
public abstract String getDescription()
Gets the module description- Returns:
- he module's description
-
getVersion
public abstract String getVersion()
Gets the module's version- Returns:
- The module's version
-
getVendor
public abstract String getVendor()
Gets the module's vendor- Returns:
- The module's vendor
-
getModuleType
public abstract AbstractModule.ModuleType getModuleType()
Gets the module's type. For valid values #ModuleTypes- Returns:
- The module's types
-
isEnabled
public boolean isEnabled()
-
setEnabled
public void setEnabled(boolean enabled)
-
configureModule
public void configureModule(MetadataEntityManager mem, ApplicationEntityManager aem, BusinessEntityManager bem)
This method initializes the module. Must be called before anything else, otherwise the other modules won't be able to use the persistence service.- Parameters:
aem
- The ApplicationEntityManager instance. Might be null if not needed by the modulemem
- The MetadataEntityManager instance. Might be null if not needed by the modulebem
- The BusinessEntityManager instance. Might be null if not needed by the module
-
-