Interface MetaDataProducerInterface<T extends MetaDataProducerOutput>

All Known Implementing Classes:
AlertWidgetRenderer, ChildJoinFromRecordEntityGenericMetaDataProducer, ChildRecordListWidgetFromRecordEntityGenericMetaDataProducer, DeleteSharedRecordProcess, DynamicSiteProcessMetaDataProducer, EditSharedRecordProcess, GetSharedRecordsProcess, HealBadRecordAutomationStatusesProcessStep, InsertSharedRecordProcess, MetaDataProducer, OAuth2MetaDataProvider, PauseAllQuartzJobsProcess, PauseQuartzJobsProcess, PossibleValueSourceOfEnumGenericMetaDataProducer, PossibleValueSourceOfTableGenericMetaDataProducer, ProcessLockMetaDataProducer, QBitComponentMetaDataProducer, RecordEntityToTableGenericMetaDataProducer, RedirectStateMetaDataProducer, RenderSavedReportMetaDataProducer, RescheduleAllJobsProcess, ResumeAllQuartzJobsProcess, ResumeQuartzJobsProcess, RunScheduledReportMetaDataProducer, RunTableAutomationsProcessStep, SampleBarChartWidgetMetaDataProducer, SampleBigNumberBlocksWidgetMetaDataProducer, SampleHTMLWidgetMetaDataProducer, SampleJavalinMetaDataProducer, SampleLineChartWidgetMetaDataProducer, SampleMultiStatisticsWidgetMetaDataProducer, SamplePieChartWidgetMetaDataProducer, SampleSmallLineChartWidgetMetaDataProducer, SampleStackedBarChartWidgetMetaDataProducer, SampleStatisticsWidgetMetaDataProducer, SampleStepperWidgetMetaDataProducer, SampleTableWidgetMetaDataProducer, SampleWidgetsDashboardMetaDataProducer, ScheduleAllNewJobsProcess, ScheduledReportSyncToScheduledJobProcess, ShareScopePossibleValueMetaDataProducer, UnscheduleAllJobsProcess, UserSessionMetaDataProducer

public interface MetaDataProducerInterface<T extends MetaDataProducerOutput>
Interface for classes that know how to produce meta data objects. Useful with MetaDataProducerHelper, to point at a package full of these, and populate your whole QInstance. See also MetaDataProducer - an implementer of this interface, which actually came first, and is fine to extend if producing a meta-data class is all your class means to do (nice and "Single-responsibility principle"). But, in some applications you may want to, for example, have one class that defines a process step, and also produces the meta-data for that process, so your whole process can just be one class - so then just have your step class implement this interface. or, same idea for a QRecordEntity that provides its own TableMetaData.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
  • Method Summary

    Modifier and Type
    Method
    Description
    default int
    In case this producer needs to run before (or after) others, this method can control influence that (e.g., if used by MetaDataProducerHelper).
    default Class<?>
     
    default boolean
    turn this producer on or off - e.g., maybe based on an env value.
    produce(QInstance qInstance)
    Produce the metaData object.
    default void
    setSourceClass(Class<?> sourceClass)
     
  • Field Details

  • Method Details

    • produce

      T produce(QInstance qInstance) throws QException
      Produce the metaData object. Generally, you don't want to add it to the instance yourself - but the instance is there in case you need it to get other metaData.
      Throws:
      QException
    • getSortOrder

      default int getSortOrder()
      In case this producer needs to run before (or after) others, this method can control influence that (e.g., if used by MetaDataProducerHelper). Smaller values run first.
    • isEnabled

      default boolean isEnabled()
      turn this producer on or off - e.g., maybe based on an env value.
    • setSourceClass

      default void setSourceClass(Class<?> sourceClass)
    • getSourceClass

      default Class<?> getSourceClass()