Package io.jmix.dynmodelflowui.impl
Class DynamicViewDeployer
java.lang.Object
io.jmix.dynmodelflowui.impl.DynamicViewDeployer
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enumprotected static final recordprotected static final recordprotected static final record -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ClassManagerprotected ComponentXmlFactoryprotected static final Stringprotected static final Stringprotected static final Stringprotected final Set<DynamicViewDeployer.MessageKey> protected final Map<String, DynamicViewDeployment> protected ViewTemplateDescriptorRegistryprotected static final Stringprotected static final Stringprotected DynamicMessageStoreprotected org.springframework.beans.factory.ObjectProvider<DynamicModelManager> protected DynamicModelPackageSupportprotected DynamicModelToolsprotected static final Patternprotected freemarker.template.Configurationprotected static final Stringprotected MenuConfigprotected Metadataprotected MetadataGenerationManagerprotected static final Patternprotected static final Patternprotected Resourcesprotected DynamicModelSecuritySupportprotected ViewTemplateHelperprotected ViewRegistryprotected ViewTemplateDefinitions -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddLocalizedMessages(String code, @Nullable Map<String, String> values) collectCreatedDynamicEntities(DynamicModelDefinition modelDefinition) protected net.bytebuddy.dynamic.DynamicType.Builder<? extends View<?>> createControllerBuilder(String className, Class<? extends View<?>> superclass, String viewId, String descriptorPath, String route) createControllerClass(String basePackage, String entityName, MetaClass metaClass, boolean dynamicEntity, DynamicViewType type, String viewId, String descriptorPath, @Nullable String route, DynamicViewDefinition definition, boolean primary) protected List<DynamicViewDeployment> createDeployments(DynamicModelDefinition modelDefinition, Session session) createDynamicEntityControllerClass(String basePackage, String entityName, MetaClass metaClass, DynamicViewType type, String viewId, String descriptorPath, String route, DynamicViewDefinition definition, boolean primary) protected freemarker.template.Configurationprotected StringcreateRouteSlug(String value) protected @Nullable DynamicViewDeployer.DynamicViewSignaturecreateSignature(String entityName, boolean dynamicEntity, DynamicViewType type, String viewId, @Nullable String route, boolean primary, DynamicViewDefinition definition, @Nullable String title, @Nullable String menuTitle) protected List<DynamicViewDeployer.DynamicViewSignature> createSignatures(DynamicModelDefinition modelDefinition) createStaticEntityControllerClass(MetaClass metaClass, String viewId, String descriptorPath) protected Stringvoiddeploy(DynamicViewDeployment deployment) voiddeployAll(Collection<DynamicViewDeployment> deployments) protected booleandeploymentsDiffer(@Nullable DynamicViewDeployment current, @Nullable DynamicViewDeployment next) findLoadedViewClass(String className) getChangedViews(DynamicModelDefinition modelDefinition) protected booleanisDynamicEntity(String entityName, Set<String> createdDynamicEntities) protected booleanisDynamicStaticViewController(Class<? extends View<?>> controllerClass) localizedValues(@Nullable LocalizedValue value) protected StringmessageCode(String prefix, String id, String suffix) normalizeDescriptor(DynamicViewDefinition definition, boolean dynamicEntity, DynamicViewType type) protected StringnormalizeXmlDescriptorSource(String source) voidprotected voidrefreshMessages(Collection<DynamicViewDeployment> deployments) protected voidregisterDynamicPrimaryViews(Collection<DynamicViewDeployment> deployments) protected StringrenderTemplate(MetaClass metaClass, String templatePath, String title, Map<String, Object> templateParams) voidreset()protected StringresolveDescriptorSource(DynamicViewDefinition definition, MetaClass metaClass, boolean dynamicEntity, DynamicViewType type, String viewId) protected StringresolveEditedEntityContainerId(DynamicViewDefinition definition) protected StringresolveLookupComponentId(DynamicViewDefinition definition) protected StringresolveMenuItemId(DynamicViewDefinition definition) protected @Nullable StringresolveMenuTitle(DynamicViewDefinition definition, String title) protected StringresolveRoute(DynamicViewDefinition definition, String viewId, DynamicViewType type) resolveTemplateParams(DynamicViewDefinition definition) protected StringresolveTitle(String entityName, DynamicViewDefinition definition, DynamicViewType type) protected DynamicViewTyperesolveType(DynamicViewDefinition definition, MetaClass metaClass, boolean dynamicEntity) protected DynamicViewTyperesolveType(String entityName, DynamicViewDefinition definition, boolean dynamicEntity) protected StringresolveViewId(String entityName, DynamicViewDefinition definition, DynamicViewType type) protected booleansignaturesDiffer(@Nullable DynamicViewDeployment current, @Nullable DynamicViewDeployer.DynamicViewSignature next) protected StringtoGeneratedClassNameSegment(String entityName) protected voidundeploy(DynamicViewDeployment deployment, boolean removeClass) unwrapDynamicStaticViewController(Class<? extends View<?>> controllerClass) protected net.bytebuddy.description.annotation.AnnotationDescriptionviewController(String viewId) protected net.bytebuddy.description.annotation.AnnotationDescriptionviewDescriptor(String descriptorPath)
-
Field Details
-
DEFAULT_TEMPLATE
- See Also:
-
LIST_TEMPLATE
- See Also:
-
DETAIL_TEMPLATE
- See Also:
-
DEFAULT_LOOKUP_COMPONENT_ID
- See Also:
-
DEFAULT_EDITED_ENTITY_CONTAINER_ID
- See Also:
-
DYNAMIC_DESCRIPTOR_ID_PREFIX
- See Also:
-
NON_JAVA_IDENTIFIER_CHARS
-
NON_ROUTE_CHARS
-
EDGE_SEPARATORS
-
metadata
-
metadataGenerationManager
-
resources
-
classManager
-
viewRegistry
-
descriptorRegistry
-
viewTemplateDefinitions
-
componentXmlFactory
-
templateHelper
-
dynamicModelTools
-
dynamicModelPackageSupport
-
dynamicModelManagerProvider
@Autowired protected org.springframework.beans.factory.ObjectProvider<DynamicModelManager> dynamicModelManagerProvider -
dynamicMessageStore
-
securitySupport
-
freemarkerConfiguration
protected freemarker.template.Configuration freemarkerConfiguration -
deployedViews
-
generatedClassBytes
-
deployedMessageKeys
-
-
Constructor Details
-
DynamicViewDeployer
public DynamicViewDeployer()
-
-
Method Details
-
getDeployedViews
-
reset
public void reset() -
getChangedViews
-
onDynamicModelApplied
-
deployAll
-
deploymentsDiffer
protected boolean deploymentsDiffer(@Nullable DynamicViewDeployment current, @Nullable DynamicViewDeployment next) -
deploy
-
undeploy
-
createDeployments
protected List<DynamicViewDeployment> createDeployments(DynamicModelDefinition modelDefinition, Session session) -
createSignatures
protected List<DynamicViewDeployer.DynamicViewSignature> createSignatures(DynamicModelDefinition modelDefinition) -
createControllerClass
protected Class<? extends View<?>> createControllerClass(String basePackage, String entityName, MetaClass metaClass, boolean dynamicEntity, DynamicViewType type, String viewId, String descriptorPath, @Nullable String route, DynamicViewDefinition definition, boolean primary) -
createDynamicEntityControllerClass
protected Class<? extends View<?>> createDynamicEntityControllerClass(String basePackage, String entityName, MetaClass metaClass, DynamicViewType type, String viewId, String descriptorPath, String route, DynamicViewDefinition definition, boolean primary) -
createStaticEntityControllerClass
-
createControllerBuilder
-
viewController
-
viewDescriptor
protected net.bytebuddy.description.annotation.AnnotationDescription viewDescriptor(String descriptorPath) -
resolveDescriptorSource
protected String resolveDescriptorSource(DynamicViewDefinition definition, MetaClass metaClass, boolean dynamicEntity, DynamicViewType type, String viewId) -
unwrapDynamicStaticViewController
-
isDynamicStaticViewController
-
renderTemplate
-
resolveType
protected DynamicViewType resolveType(DynamicViewDefinition definition, MetaClass metaClass, boolean dynamicEntity) -
resolveType
protected DynamicViewType resolveType(String entityName, DynamicViewDefinition definition, boolean dynamicEntity) -
resolveViewId
protected String resolveViewId(String entityName, DynamicViewDefinition definition, DynamicViewType type) -
resolveRoute
protected String resolveRoute(DynamicViewDefinition definition, String viewId, DynamicViewType type) -
resolveTitle
protected String resolveTitle(String entityName, DynamicViewDefinition definition, DynamicViewType type) -
resolveMenuTitle
-
resolveTemplateParams
-
localizedValues
-
resolveLookupComponentId
-
resolveEditedEntityContainerId
-
defaultTemplatePath
-
createRouteSlug
-
toGeneratedClassNameSegment
-
refreshMessages
-
addLocalizedMessages
-
registerDynamicPrimaryViews
-
messageCode
-
resolveMenuItemId
-
signaturesDiffer
protected boolean signaturesDiffer(@Nullable DynamicViewDeployment current, @Nullable DynamicViewDeployer.DynamicViewSignature next) -
createSignature
protected @Nullable DynamicViewDeployer.DynamicViewSignature createSignature(String entityName, boolean dynamicEntity, DynamicViewType type, String viewId, @Nullable String route, boolean primary, DynamicViewDefinition definition, @Nullable String title, @Nullable String menuTitle) -
normalizeDescriptor
protected DynamicViewDeployer.NormalizedDescriptorSignature normalizeDescriptor(DynamicViewDefinition definition, boolean dynamicEntity, DynamicViewType type) -
normalizeXmlDescriptorSource
-
isDynamicEntity
-
collectCreatedDynamicEntities
-
createFreemarkerConfiguration
protected freemarker.template.Configuration createFreemarkerConfiguration() -
findLoadedViewClass
-