Package com.psddev.ai.cms.tracking
Class AIDraftMetadata
java.lang.Object
com.psddev.dari.db.Record
com.psddev.dari.db.Modification<com.psddev.cms.db.Draft>
com.psddev.ai.cms.tracking.AIDraftMetadata
- All Implemented Interfaces:
com.psddev.dari.db.Recordable,com.psddev.dari.util.HtmlObject,BeanInfo,Cloneable,Comparable<com.psddev.dari.db.Record>
@FieldInternalNamePrefix("cms.ai.")
public class AIDraftMetadata
extends com.psddev.dari.db.Modification<com.psddev.cms.db.Draft>
Modification that tracks AI-generated content metadata specifically for
Draft objects. This class extends the
functionality of AIMetadata to handle the special lifecycle and requirements of draft content, including
revision management and work-in-progress restoration.
When a draft is created or modified, this modification ensures that AI generation metadata is properly maintained across draft revisions and handles copying metadata from original objects or work-in-progress instances as appropriate.
- Since:
- v1.0.0
-
Nested Class Summary
Nested classes/interfaces inherited from class com.psddev.dari.db.Modification
com.psddev.dari.db.Modification.Classes, com.psddev.dari.db.Modification.StaticNested classes/interfaces inherited from interface com.psddev.dari.db.Recordable
com.psddev.dari.db.Recordable.Abstract, com.psddev.dari.db.Recordable.BeanProperty, com.psddev.dari.db.Recordable.BootstrapFollowReferences, com.psddev.dari.db.Recordable.BootstrapPackages, com.psddev.dari.db.Recordable.BootstrapTypeMappable, com.psddev.dari.db.Recordable.CollectionMaximum, com.psddev.dari.db.Recordable.CollectionMinimum, com.psddev.dari.db.Recordable.Denormalized, com.psddev.dari.db.Recordable.DisplayName, com.psddev.dari.db.Recordable.Embedded, com.psddev.dari.db.Recordable.FieldInternalNamePrefix, com.psddev.dari.db.Recordable.Groups, com.psddev.dari.db.Recordable.Ignored, com.psddev.dari.db.Recordable.IgnoredIfEmbedded, com.psddev.dari.db.Recordable.Indexed, com.psddev.dari.db.Recordable.InternalName, com.psddev.dari.db.Recordable.JunctionField, com.psddev.dari.db.Recordable.JunctionPositionField, com.psddev.dari.db.Recordable.LabelFields, com.psddev.dari.db.Recordable.Maximum, com.psddev.dari.db.Recordable.MetricValue, com.psddev.dari.db.Recordable.MimeTypes, com.psddev.dari.db.Recordable.Minimum, com.psddev.dari.db.Recordable.PreviewField, com.psddev.dari.db.Recordable.Raw, com.psddev.dari.db.Recordable.Recalculate, com.psddev.dari.db.Recordable.Regex, com.psddev.dari.db.Recordable.Relocate, com.psddev.dari.db.Recordable.Required, com.psddev.dari.db.Recordable.SourceDatabaseClass, com.psddev.dari.db.Recordable.SourceDatabaseName, com.psddev.dari.db.Recordable.SourceDatabaseProviderClass, com.psddev.dari.db.Recordable.Step, com.psddev.dari.db.Recordable.TypeId, com.psddev.dari.db.Recordable.TypePostProcessorClasses, com.psddev.dari.db.Recordable.Types, com.psddev.dari.db.Recordable.TypesExclude, com.psddev.dari.db.Recordable.Values, com.psddev.dari.db.Recordable.Where -
Field Summary
Fields inherited from interface java.beans.BeanInfo
ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, ICON_MONO_32x32 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidHandles AI metadata management before committing a draft, including copying metadata from original objects or work-in-progress instances and updating field tracking based on web request parameters.Methods inherited from class com.psddev.dari.db.Modification
getOriginalObjectMethods inherited from class com.psddev.dari.db.Record
afterCreate, afterDelete, afterSave, afterValidate, beforeDelete, beforeSave, beginWrites, clone, commitWrites, compareTo, delete, endWrites, equals, format, getAdditionalBeanInfo, getAs, getBeanDescriptor, getDefaultEventIndex, getDefaultPropertyIndex, getEventSetDescriptors, getExtra, getIcon, getId, getMethodDescriptors, getPropertyDescriptors, getState, hashCode, is, is, onDuplicate, onValidate, queryFrom, receiveMessage, save, saveEventually, saveImmediately, saveUniquely, sendMessage, setState, toStringMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.psddev.dari.db.Recordable
as, getLabel, isInstantiableTo
-
Constructor Details
-
AIDraftMetadata
public AIDraftMetadata()
-
-
Method Details
-
beforeCommit
protected void beforeCommit()Handles AI metadata management before committing a draft, including copying metadata from original objects or work-in-progress instances and updating field tracking based on web request parameters.This method performs several key operations:
- For new revisions, copies AI metadata from the original object
- Handles restoration of metadata from work-in-progress instances when specified
- Processes web request parameters to update AI generation tracking
- Removes tracking for fields that are no longer AI-generated
- Overrides:
beforeCommitin classcom.psddev.dari.db.Record
-