Package io.jmix.flowui.screen
Class ScreenRegistry
java.lang.Object
io.jmix.flowui.screen.ScreenRegistry
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected ClassManagerprotected List<UiControllersConfiguration>static final Stringstatic final Patternprotected ExtendedEntitiesprotected booleanprotected ReadWriteLockstatic final Stringprotected Metadataprotected AnnotationScanMetadataReaderFactoryprotected Map<Class<?>,ScreenInfo> protected Map<Class<?>,ScreenInfo> protected Resourcesprotected Map<String,ScreenInfo> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidfindScreenInfo(String id) Returns screen information by screen id.getAvailableLookupScreenId(MetaClass metaClass) getBrowseScreenId(MetaClass metaClass) getEditorScreen(MetaClass metaClass) getEditorScreen(Class<?> entityClass) getEditorScreen(Object entity) getEditorScreenId(MetaClass metaClass) getLookupScreen(MetaClass metaClass) getLookupScreen(Class<?> entityClass) Get available lookup screen by class of entitygetLookupScreen(Object entity) getLookupScreenId(MetaClass metaClass) getMetaClassScreenId(MetaClass metaClass, String suffix) getScreenInfo(String id) Returns screen information by screen id.booleanprotected voidinit()protected org.springframework.core.type.classreading.MetadataReaderloadClassMetadata(String className) loadDefinedScreenClass(String className) Loads hot-deployedUiControllerscreens and registersUiControllersConfigurationcontaining newUiControllerDefinition.protected voidprotected voidregisterPrimaryEditor(ScreenInfo screenInfo, org.springframework.core.type.AnnotationMetadata annotationMetadata) protected voidregisterPrimaryLookup(ScreenInfo screenInfo, org.springframework.core.type.AnnotationMetadata annotationMetadata) protected voidregisterScreen(String id, ScreenInfo screenInfo) voidreset()Make the registry to reload screens on next request.protected StringresolveTemplatePath(Class<? extends Screen<?>> controllerClass) voidsetClassManager(ClassManager classManager) voidsetConfigurations(List<UiControllersConfiguration> configurations) voidsetExtendedEntities(ExtendedEntities extendedEntities) voidsetMetadata(Metadata metadata) voidsetMetadataReaderFactory(AnnotationScanMetadataReaderFactory metadataReaderFactory) voidsetResources(Resources resources)
-
Field Details
-
ENTITY_SCREEN_PATTERN
-
BROWSE_SCREEN_SUFFIX
- See Also:
-
LOOKUP_SCREEN_SUFFIX
- See Also:
-
EDITOR_SCREEN_SUFFIX
- See Also:
-
metadata
-
resources
-
classManager
-
extendedEntities
-
metadataReaderFactory
-
screens
-
-
primaryLookups
-
configurations
-
initialized
protected volatile boolean initialized -
lock
-
-
Constructor Details
-
ScreenRegistry
public ScreenRegistry()
-
-
Method Details
-
setMetadata
-
setResources
-
setClassManager
-
setExtendedEntities
-
setMetadataReaderFactory
@Autowired public void setMetadataReaderFactory(AnnotationScanMetadataReaderFactory metadataReaderFactory) -
setConfigurations
@Autowired(required=false) public void setConfigurations(List<UiControllersConfiguration> configurations) -
reset
public void reset()Make the registry to reload screens on next request. -
checkInitialized
protected void checkInitialized() -
init
protected void init() -
loadScreenConfigurations
protected void loadScreenConfigurations() -
registerScreen
-
registerPrimaryEditor
protected void registerPrimaryEditor(ScreenInfo screenInfo, org.springframework.core.type.AnnotationMetadata annotationMetadata) -
registerPrimaryLookup
protected void registerPrimaryLookup(ScreenInfo screenInfo, org.springframework.core.type.AnnotationMetadata annotationMetadata) -
loadClassMetadata
protected org.springframework.core.type.classreading.MetadataReader loadClassMetadata(String className) -
loadDefinedScreenClass
Loads hot-deployedUiControllerscreens and registersUiControllersConfigurationcontaining newUiControllerDefinition.- Parameters:
className- the fully qualified name of the screen class to load
-
resolveTemplatePath
-
findScreenInfo
Returns screen information by screen id.- Parameters:
id- screen id as set in theUiControllerannotation- Returns:
- screen's registration information
-
getScreenInfo
Returns screen information by screen id.- Parameters:
id- screen id as set in theUiControllerannotation- Returns:
- screen's registration information
- Throws:
NoSuchScreenException- if the screen with specified id is not registered
-
hasScreen
- Returns:
trueif the registry contains a screen with provided id
-
getScreens
-
getMetaClassScreenId
-
getBrowseScreenId
-
getLookupScreenId
-
getEditorScreenId
-
getEditorScreen
-
getEditorScreen
-
getEditorScreen
-
getLookupScreen
-
getLookupScreen
Get available lookup screen by class of entity- Parameters:
entityClass- entity class- Returns:
- id of lookup screen
- Throws:
NoSuchScreenException- if the screen with specified ID is not registered
-
getLookupScreen
-
getAvailableLookupScreenId
-