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.Static

    Nested 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
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    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.

    Methods inherited from class com.psddev.dari.db.Modification

    getOriginalObject

    Methods 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, toString

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods 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:
      beforeCommit in class com.psddev.dari.db.Record