Package io.jmix.dynmodel.impl
Class DynamicMetaPropertyMetadataSessionCloneHandler
java.lang.Object
io.jmix.dynmodel.impl.DynamicMetaPropertyMetadataSessionCloneHandler
- All Implemented Interfaces:
MetadataSessionCloneMetaPropertyHandler
@Component("dynmodel_DynamicMetaPropertyMetadataSessionCloneHandler")
public class DynamicMetaPropertyMetadataSessionCloneHandler
extends Object
implements MetadataSessionCloneMetaPropertyHandler
Clones
DynamicMetaProperty instances for metadata-generation session snapshots.
Intended to keep dynmodel-specific property reconstruction out of jmix-core.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncloneMetaProperty(MetaProperty sourceMetaProperty, MetaClass targetDomain, Range targetRange) Creates a detached clone of a dynmodel runtime property aligned with the cloned metadata graph.voidcopyMetaPropertyState(MetaProperty sourceMetaProperty, MetaProperty targetMetaProperty, @Nullable MetaProperty targetInverse) Re-links the inverse property of the cloned dynmodel meta property.booleansupports(MetaProperty metaProperty) Returns whether the source property is a dynmodel runtime property.
-
Constructor Details
-
DynamicMetaPropertyMetadataSessionCloneHandler
public DynamicMetaPropertyMetadataSessionCloneHandler()
-
-
Method Details
-
supports
Returns whether the source property is a dynmodel runtime property.- Specified by:
supportsin interfaceMetadataSessionCloneMetaPropertyHandler- Parameters:
metaProperty- source property from the published metadata session- Returns:
trueforDynamicMetaPropertyinstances
-
cloneMetaProperty
public MetaProperty cloneMetaProperty(MetaProperty sourceMetaProperty, MetaClass targetDomain, Range targetRange) Creates a detached clone of a dynmodel runtime property aligned with the cloned metadata graph.- Specified by:
cloneMetaPropertyin interfaceMetadataSessionCloneMetaPropertyHandler- Parameters:
sourceMetaProperty- source property being clonedtargetDomain- cloned owning meta classtargetRange- range remapped to the cloned metadata graph- Returns:
- cloned dynmodel meta property
-
copyMetaPropertyState
public void copyMetaPropertyState(MetaProperty sourceMetaProperty, MetaProperty targetMetaProperty, @Nullable MetaProperty targetInverse) Re-links the inverse property of the cloned dynmodel meta property.- Specified by:
copyMetaPropertyStatein interfaceMetadataSessionCloneMetaPropertyHandler- Parameters:
sourceMetaProperty- source property from the published metadata sessiontargetMetaProperty- cloned target propertytargetInverse- inverse property remapped to the cloned session, ornull
-