Package io.jmix.dynmodelai.util
Class ModelDefinitionUtils
java.lang.Object
io.jmix.dynmodelai.util.ModelDefinitionUtils
Pure functions producing modified copies of the immutable definition tree.
-
Method Summary
Modifier and TypeMethodDescriptionstatic DynamicModelDefinitionaddAttribute(DynamicModelDefinition model, String entityName, DynamicAttributeDefinition attribute) static DynamicModelDefinitionaddEntity(DynamicModelDefinition model, DynamicEntityDefinition entity) changedEntityNames(DynamicModelDefinition baseline, DynamicModelDefinition candidate) Names whose complete typed definitions differ, including removed entities; no YAML or operation replay.static DynamicModelDefinitionmoveAttribute(DynamicModelDefinition model, String entityName, String name, @Nullable String before) static DynamicModelDefinitionremoveAttribute(DynamicModelDefinition model, String entityName, String attributeName) static DynamicModelDefinitionremoveEntity(DynamicModelDefinition model, String entityName) static DynamicModelDefinitionreorderAttributes(DynamicModelDefinition model, String entityName, List<String> attributeNames) static DynamicModelDefinitionreplaceEntity(DynamicModelDefinition model, String entityName, UnaryOperator<DynamicEntityDefinition> change) static DynamicModelDefinitionreplaceViews(DynamicModelDefinition model, String entityName, List<DynamicViewDefinition> views) static DynamicAttributeDefinitionresolveAttributeForAddition(DynamicModelDefinition baseline, String entityName, @Nullable DynamicAttributeDefinition previous, DynamicAttributeDefinition candidate) Resolves the definition to add, preserving published settings or previous Draft captions after validation.static DynamicModelDefinitionupdateAttributeCaption(DynamicModelDefinition model, String entityName, String name, Map<String, String> captions) static DynamicAttributeDefinitionwithAttributeMessages(DynamicAttributeDefinition attribute, @Nullable Map<String, String> messages) static DynamicEntityDefinitionwithAttributes(DynamicEntityDefinition entity, List<DynamicAttributeDefinition> attributes) static DynamicViewDefinitionwithMenuItem(DynamicViewDefinition view, MenuItemDefinition menuItem)
-
Method Details
-
changedEntityNames
public static List<String> changedEntityNames(DynamicModelDefinition baseline, DynamicModelDefinition candidate) Names whose complete typed definitions differ, including removed entities; no YAML or operation replay. -
addEntity
public static DynamicModelDefinition addEntity(DynamicModelDefinition model, DynamicEntityDefinition entity) -
removeEntity
-
addAttribute
public static DynamicModelDefinition addAttribute(DynamicModelDefinition model, String entityName, DynamicAttributeDefinition attribute) -
removeAttribute
public static DynamicModelDefinition removeAttribute(DynamicModelDefinition model, String entityName, String attributeName) -
updateAttributeCaption
public static DynamicModelDefinition updateAttributeCaption(DynamicModelDefinition model, String entityName, String name, Map<String, String> captions) -
withAttributeMessages
public static DynamicAttributeDefinition withAttributeMessages(DynamicAttributeDefinition attribute, @Nullable Map<String, String> messages) -
resolveAttributeForAddition
public static DynamicAttributeDefinition resolveAttributeForAddition(DynamicModelDefinition baseline, String entityName, @Nullable DynamicAttributeDefinition previous, DynamicAttributeDefinition candidate) Resolves the definition to add, preserving published settings or previous Draft captions after validation. -
moveAttribute
public static DynamicModelDefinition moveAttribute(DynamicModelDefinition model, String entityName, String name, @Nullable String before) -
reorderAttributes
public static DynamicModelDefinition reorderAttributes(DynamicModelDefinition model, String entityName, List<String> attributeNames) -
replaceEntity
public static DynamicModelDefinition replaceEntity(DynamicModelDefinition model, String entityName, UnaryOperator<DynamicEntityDefinition> change) -
replaceViews
public static DynamicModelDefinition replaceViews(DynamicModelDefinition model, String entityName, List<DynamicViewDefinition> views) -
withMenuItem
public static DynamicViewDefinition withMenuItem(DynamicViewDefinition view, MenuItemDefinition menuItem) -
withAttributes
public static DynamicEntityDefinition withAttributes(DynamicEntityDefinition entity, List<DynamicAttributeDefinition> attributes)
-