Interface IModuleExtended<M extends IModuleExtended<M,D,FL,FI,A>,D extends IModelDefinition,FL extends IFlagDefinition,FI extends IFieldDefinition,A extends IAssemblyDefinition>
- Type Parameters:
M- the imported module Java typeD- the model definition Java typeFL- the flag definition Java typeFI- the field definition Java typeA- the assembly definition Java type
- All Superinterfaces:
IModule
- All Known Subinterfaces:
IBindingMetaschemaModule,IBoundModule,IMetaschemaModule<SELF>
- All Known Implementing Classes:
AbstractBoundModule,AbstractModule,MetaschemaBindingsModule,MetaschemaModelModule,MetaschemaTestSuiteModule
A Metaschem module may import another Metaschema module. This import graph
can be accessed using getImportedModules().
Global scoped Metaschema definitions can be accessed using
getScopedAssemblyDefinitionByName(Integer),
getScopedFieldDefinitionByName(Integer), and
getScopedFlagDefinitionByName(IEnhancedQName). These methods take
into consideration the import order to provide the global definitions that
are in scope within the given Metschema module.
Global scoped definitions exported by this Metaschema module, available for
use by importing Metaschema modules, can be accessed using
getExportedAssemblyDefinitions(),
getExportedFieldDefinitions(), and
getExportedFlagDefinitions().
Global scoped definitions defined directly within the given Metaschema module
can be accessed using getAssemblyDefinitions(),
getFieldDefinitions(), and getFlagDefinitions(), along with
similarly named access methods.
-
Method Summary
Modifier and TypeMethodDescriptionstatic <DEF extends IDefinition>
Predicate<DEF>Get a filter that will match all definitions that are not locally defined.static <DEF extends IDefinition>
Predicate<DEF>Get a filter that will match all definitions that are root assemblies.Retrieves the top-level assembly and field definitions in this Metaschema module.Retrieves the top-level assembly definition in this Metaschema module with the matching name, if it exists.Retrieves the top-level assembly definitions in this Metaschema module.Retrieves the exported named assembly definition, if it exists.Collection<? extends A>Retrieve the top-level assembly definitions that are marked global in this Metaschema module or in any imported Metaschema module.Retrieves the exported named field definition, if it exists.Collection<? extends FI>Retrieve the top-level field definitions that are marked global in this Metaschema module or in any imported Metaschema module.Retrieves the exported named flag definition, if it exists.Collection<? extends FL>Retrieve the top-level flag definitions that are marked global in this Metaschema module or in any imported Metaschema modules.default Collection<? extends A>Retrieves the top-level assembly definitions that are marked as roots from the current Metaschema module and any imported Metaschema modules.Retrieves the top-level field definition in this Metaschema module with the matching name, if it exists.Retrieves the top-level field definitions in this Metaschema module.Retrieves the top-level flag definition in this Metaschema module with the matching name, if it exists.Retrieves the top-level flag definitions in this Metaschema module.Retrieve the imported Metaschema module with the specified name, if it exists.Retrieves all Metaschema modules imported by this Metaschema module.default Collection<? extends A>Retrieves the top-level assembly definitions that are marked as roots from the current Metaschema module.default ARetrieves the assembly definition with a matching name from either: 1) the top-level assembly definitions from this Metaschema module, or 2) global assembly definitions from each imported Metaschema module in reverse order of import.default FIRetrieves the field definition with a matching name from either: 1) the top-level field definitions from this Metaschema module, or 2) global field definitions from each imported Metaschema module in reverse order of import.default FLRetrieves the flag definition with a matching name from either: 1) the top-level flag definitions from this Metaschema module, or 2) global flag definitions from each imported Metaschema module in reverse order of import.Methods inherited from interface dev.metaschema.core.model.IModule
getExportedRootAssemblyDefinitionByName, getJsonBaseUri, getLocation, getLocationHint, getModuleStaticContext, getName, getNamespaceBindings, getQName, getRemarks, getShortName, getSource, getVersion, getXmlNamespace
-
Method Details
-
allNonLocalDefinitions
Get a filter that will match all definitions that are not locally defined.- Type Parameters:
DEF- the type of definition- Returns:
- a predicate implementing the filter
-
allRootAssemblyDefinitions
Get a filter that will match all definitions that are root assemblies.- Type Parameters:
DEF- the type of definition- Returns:
- a predicate implementing the filter
-
getImportedModules
Description copied from interface:IModuleRetrieves all Metaschema modules imported by this Metaschema module.- Specified by:
getImportedModulesin interfaceIModule- Returns:
- a list of imported Metaschema modules
-
getImportedModuleByShortName
Description copied from interface:IModuleRetrieve the imported Metaschema module with the specified name, if it exists.- Specified by:
getImportedModuleByShortNamein interfaceIModule- Parameters:
name- the short name of the Metschema module to retrieve- Returns:
- the imported Metaschema module or
nullif it doesn't exist
-
getFlagDefinitions
Description copied from interface:IModuleRetrieves the top-level flag definitions in this Metaschema module.- Specified by:
getFlagDefinitionsin interfaceIModule- Returns:
- the collection of flag definitions
-
getFlagDefinitionByName
Description copied from interface:IModuleRetrieves the top-level flag definition in this Metaschema module with the matching name, if it exists.- Specified by:
getFlagDefinitionByNamein interfaceIModule- Parameters:
name- the definition name- Returns:
- the matching flag definition, or
nullif none match
-
getAssemblyDefinitions
Description copied from interface:IModuleRetrieves the top-level assembly definitions in this Metaschema module.- Specified by:
getAssemblyDefinitionsin interfaceIModule- Returns:
- the collection of assembly definitions
-
getAssemblyDefinitionByName
Description copied from interface:IModuleRetrieves the top-level assembly definition in this Metaschema module with the matching name, if it exists.- Specified by:
getAssemblyDefinitionByNamein interfaceIModule- Parameters:
name- the definition name- Returns:
- the matching assembly definition, or
nullif none match
-
getFieldDefinitions
Description copied from interface:IModuleRetrieves the top-level field definitions in this Metaschema module.- Specified by:
getFieldDefinitionsin interfaceIModule- Returns:
- the collection of field definitions
-
getFieldDefinitionByName
Description copied from interface:IModuleRetrieves the top-level field definition in this Metaschema module with the matching name, if it exists.- Specified by:
getFieldDefinitionByNamein interfaceIModule- Parameters:
name- the definition name- Returns:
- the matching field definition, or
nullif none match
-
getAssemblyAndFieldDefinitions
Description copied from interface:IModuleRetrieves the top-level assembly and field definitions in this Metaschema module.- Specified by:
getAssemblyAndFieldDefinitionsin interfaceIModule- Returns:
- a listing of assembly and field definitions
-
getScopedAssemblyDefinitionByName
Description copied from interface:IModuleRetrieves the assembly definition with a matching name from either: 1) the top-level assembly definitions from this Metaschema module, or 2) global assembly definitions from each imported Metaschema module in reverse order of import.- Specified by:
getScopedAssemblyDefinitionByNamein interfaceIModule- Parameters:
name- the name of the assembly to find- Returns:
- the assembly definition
-
getScopedFieldDefinitionByName
Description copied from interface:IModuleRetrieves the field definition with a matching name from either: 1) the top-level field definitions from this Metaschema module, or 2) global field definitions from each imported Metaschema module in reverse order of import.- Specified by:
getScopedFieldDefinitionByNamein interfaceIModule- Parameters:
name- the name of the field definition to find- Returns:
- the field definition
-
getScopedFlagDefinitionByName
Description copied from interface:IModuleRetrieves the flag definition with a matching name from either: 1) the top-level flag definitions from this Metaschema module, or 2) global flag definitions from each imported Metaschema module in reverse order of import.- Specified by:
getScopedFlagDefinitionByNamein interfaceIModule- Parameters:
name- the name of the flag definition to find- Returns:
- the flag definition
-
getExportedRootAssemblyDefinitions
Description copied from interface:IModuleRetrieves the top-level assembly definitions that are marked as roots from the current Metaschema module and any imported Metaschema modules.- Specified by:
getExportedRootAssemblyDefinitionsin interfaceIModule- Returns:
- a listing of assembly definitions marked as root
-
getRootAssemblyDefinitions
Description copied from interface:IModuleRetrieves the top-level assembly definitions that are marked as roots from the current Metaschema module.- Specified by:
getRootAssemblyDefinitionsin interfaceIModule- Returns:
- a listing of assembly definitions marked as root
-
getExportedFlagDefinitions
Description copied from interface:IModuleRetrieve the top-level flag definitions that are marked global in this Metaschema module or in any imported Metaschema modules. The resulting collection is built by adding global definitions from each imported Metaschema module in order of import, then adding global definitions from the current Metaschema module. Such a map is built in this way for each imported Metaschema module in the chain. Values for clashing keys will be replaced in this order, giving preference to the "closest" definition.- Specified by:
getExportedFlagDefinitionsin interfaceIModule- Returns:
- the collection of exported flag definitions
-
getExportedFlagDefinitionByName
Description copied from interface:IModuleRetrieves the exported named flag definition, if it exists.For information about how flag definitions are exported see
IModule.getExportedFlagDefinitions().- Specified by:
getExportedFlagDefinitionByNamein interfaceIModule- Parameters:
name- the definition name- Returns:
- the flag definition, or
nullif it doesn't exist.
-
getExportedFieldDefinitions
Description copied from interface:IModuleRetrieve the top-level field definitions that are marked global in this Metaschema module or in any imported Metaschema module. The resulting collection is built by adding global definitions from each imported Metaschema module in order of import, then adding global definitions from the current Metaschema module. Such a map is built in this way for each imported Metaschema module in the chain. Values for clashing keys will be replaced in this order, giving preference to the "closest" definition- Specified by:
getExportedFieldDefinitionsin interfaceIModule- Returns:
- the collection of exported field definitions
-
getExportedFieldDefinitionByName
Description copied from interface:IModuleRetrieves the exported named field definition, if it exists.For information about how field definitions are exported see
IModule.getExportedFieldDefinitions().- Specified by:
getExportedFieldDefinitionByNamein interfaceIModule- Parameters:
name- the definition name- Returns:
- the field definition, or
nullif it doesn't exist.
-
getExportedAssemblyDefinitions
Description copied from interface:IModuleRetrieve the top-level assembly definitions that are marked global in this Metaschema module or in any imported Metaschema module. The resulting collection is built by adding global definitions from each imported Metaschema module in order of import, then adding global definitions from the current Metaschema module. This collection is built in this way for each imported Metaschema module in the chain. Items with duplicate names will be replaced in this order, giving preference to the "closest" definition- Specified by:
getExportedAssemblyDefinitionsin interfaceIModule- Returns:
- the collection of exported assembly definitions
-
getExportedAssemblyDefinitionByName
Description copied from interface:IModuleRetrieves the exported named assembly definition, if it exists.For information about how assembly definitions are exported see
IModule.getExportedAssemblyDefinitions().- Specified by:
getExportedAssemblyDefinitionByNamein interfaceIModule- Parameters:
name- the definition name- Returns:
- the assembly definition, or
nullif it doesn't exist.
-