Package com._1c.g5.v8.dt.bsl.extension
Class ModuleExtentionService
- java.lang.Object
-
- com._1c.g5.v8.dt.bsl.extension.ModuleExtentionService
-
- All Implemented Interfaces:
IModuleExtensionService,ISourceModuleExtensionCache
public class ModuleExtentionService extends Object implements IModuleExtensionService, ISourceModuleExtensionCache
Default implementation ofIModuleExtensionService
-
-
Constructor Summary
Constructors Constructor Description ModuleExtentionService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearSourceModuleCache(Module extensionModule)Clears cache of sourceModulesMap<Pragma,Method>getExtensionMethods(Module extensionModule, String methodName)Gets extension method overriding adoptable method with namemethodNameCollection<Module>getExtensionModules(Module sourceModule)Gets all extensionModuleby sourceStringgetExtensionPrefix(Module module)Gets prefix of extension project by extension Bsl moduleMap<Pragma,Method>getSourceMethod(Method extentionMethod)Gets adoptable method by extension methodMethodgetSourceMethodForFormEventHandler(Module extensionModule, String methodName, BslEventsService eventService)Gets adoptable method by event handler method name from extension form moduleMap<CaseInsensitiveString,Collection<Pragma>>getSourceMethodNames(Method extentionMethod)Gets adoptable method names by extension methodMap<Method,org.eclipse.xtext.util.Pair<Method,String>>getSourceMethodsForFormEventHandler(Module adoptableModule, Module extensionModule, BslEventsService eventService)Gets correspondence between methods from source module (this method is event handler for form item event) and their extension methods from extension moduleModulegetSourceModule(Module module)Gets adoptableModuleby extension Bsl moduleorg.eclipse.emf.ecore.EObjectgetSourceObject(org.eclipse.emf.ecore.EObject object)Gets adoptableEObjectby extensionEObject.booleanisAnnotationPragmaAllowed(IV8Project project)Checks that annotation available for methods of this module.booleanisCorrectVersionForAnnotationPragma(Module module)Checks that annotation available for methods of this module.booleanisExtensionModule(Module module)Checks that thisModulecorresponding to the extension of configuration
-
-
-
Method Detail
-
getSourceMethod
public Map<Pragma,Method> getSourceMethod(Method extentionMethod)
Description copied from interface:IModuleExtensionServiceGets adoptable method by extension method- Specified by:
getSourceMethodin interfaceIModuleExtensionService- Parameters:
extentionMethod- extensionMethodfrom extension Method, can't benull- Returns:
- correspondence between adoptable method and
Pragmaexpression from extension method, nevernull
-
isExtensionModule
public boolean isExtensionModule(Module module)
Description copied from interface:IModuleExtensionServiceChecks that thisModulecorresponding to the extension of configuration- Specified by:
isExtensionModulein interfaceIModuleExtensionService- Parameters:
module- checkingModule, can't benull- Returns:
trueif thisModulecorresponding to the extension of configuration,falseotherwise
-
getSourceModule
public Module getSourceModule(Module module)
Description copied from interface:IModuleExtensionServiceGets adoptableModuleby extension Bsl module- Specified by:
getSourceModulein interfaceIModuleExtensionService- Parameters:
module- extension BslModule, can't benull- Returns:
- adoptable
Moduleby extension Bsl module, can benullif there is no adoptable module
-
getSourceMethodNames
public Map<CaseInsensitiveString,Collection<Pragma>> getSourceMethodNames(Method extentionMethod)
Description copied from interface:IModuleExtensionServiceGets adoptable method names by extension method- Specified by:
getSourceMethodNamesin interfaceIModuleExtensionService- Parameters:
extentionMethod- extensionMethodfrom extension Method, can't benull- Returns:
- correspondence between adoptable method name and collection of
Pragmas expression from extension method, nevernull
-
getExtensionPrefix
public String getExtensionPrefix(Module module)
Description copied from interface:IModuleExtensionServiceGets prefix of extension project by extension Bsl module- Specified by:
getExtensionPrefixin interfaceIModuleExtensionService- Parameters:
module- extension Bsl module, can't benull- Returns:
- prefix of extension project by extension Bsl module, never
null
-
getSourceObject
public org.eclipse.emf.ecore.EObject getSourceObject(org.eclipse.emf.ecore.EObject object)
Description copied from interface:IModuleExtensionServiceGets adoptableEObjectby extensionEObject. See methodIModelObjectAdopter#getSourceModule(EObject)- Specified by:
getSourceObjectin interfaceIModuleExtensionService- Parameters:
object- extensionEObject, can't benull- Returns:
- adoptable
EObject, can benullif adoptable object wasn't found
-
getExtensionMethods
public Map<Pragma,Method> getExtensionMethods(Module extensionModule, String methodName)
Description copied from interface:IModuleExtensionServiceGets extension method overriding adoptable method with namemethodName- Specified by:
getExtensionMethodsin interfaceIModuleExtensionService- Parameters:
extensionModule- extension module, can't benullmethodName- name of the adoptable method, can't benull- Returns:
- extension methods by
Pragmaliteralc correspondence to the adoptable method with namemethodName, nevernull
-
getSourceMethodForFormEventHandler
public Method getSourceMethodForFormEventHandler(Module extensionModule, String methodName, BslEventsService eventService)
Description copied from interface:IModuleExtensionServiceGets adoptable method by event handler method name from extension form module- Specified by:
getSourceMethodForFormEventHandlerin interfaceIModuleExtensionService- Parameters:
extensionModule- form module extension, can't benullmethodName- name of the event handler extension, can't benulleventService- actualBslEventsService, can't benull- Returns:
- adoptable method by event handler method name from extension form module, can be
nullif adoptable method wasn't found
-
getSourceMethodsForFormEventHandler
public Map<Method,org.eclipse.xtext.util.Pair<Method,String>> getSourceMethodsForFormEventHandler(Module adoptableModule, Module extensionModule, BslEventsService eventService)
Description copied from interface:IModuleExtensionServiceGets correspondence between methods from source module (this method is event handler for form item event) and their extension methods from extension module- Specified by:
getSourceMethodsForFormEventHandlerin interfaceIModuleExtensionService- Parameters:
adoptableModule- sourceModule, can't benullextensionModule- extensionModule, can't benulleventService- actualBslEventsService, can't benull- Returns:
- map with key
Methodfrom source module and value is extensionMethodof sourceMethodand its string presentation of call type annotation, nevernull
-
isCorrectVersionForAnnotationPragma
public boolean isCorrectVersionForAnnotationPragma(Module module)
Description copied from interface:IModuleExtensionServiceChecks that annotation available for methods of this module. Annotation is unsupported for project version is less than 8.3.9 or for configuration with compatibility mode less than 8.3.9- Specified by:
isCorrectVersionForAnnotationPragmain interfaceIModuleExtensionService- Parameters:
module- checkingModule, can't benull- Returns:
trueif annotation available for methods of this module,falseotherwise
-
isAnnotationPragmaAllowed
public boolean isAnnotationPragmaAllowed(IV8Project project)
Description copied from interface:IModuleExtensionServiceChecks that annotation available for methods of this module. Annotation is unsupported for project version is less than 8.3.9 or for configuration with compatibility mode less than 8.3.9- Specified by:
isAnnotationPragmaAllowedin interfaceIModuleExtensionService- Parameters:
project- checkingIV8Project, can't benull- Returns:
trueif annotation available for methods of this module,falseotherwise
-
getExtensionModules
public Collection<Module> getExtensionModules(Module sourceModule)
Description copied from interface:IModuleExtensionServiceGets all extensionModuleby source- Specified by:
getExtensionModulesin interfaceIModuleExtensionService- Parameters:
sourceModule- sourceModule, can't benull- Returns:
- collection of extension
Module, nevernull
-
clearSourceModuleCache
public void clearSourceModuleCache(Module extensionModule)
Description copied from interface:ISourceModuleExtensionCacheClears cache of sourceModules- Specified by:
clearSourceModuleCachein interfaceISourceModuleExtensionCache- Parameters:
extensionModule-Modulefrom extension project for deleting sourceModuleof it from cache, cannot benull
-
-