Mark class as implementing QMetaDataObject

This commit is contained in:
2024-12-23 11:30:27 -06:00
parent 7982cad794
commit b979e6545a
17 changed files with 41 additions and 17 deletions

View File

@ -31,6 +31,7 @@ import java.util.Objects;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.logging.QLogger;
import com.kingsrook.qqq.backend.core.model.actions.tables.query.serialization.QFilterCriteriaDeserializer; import com.kingsrook.qqq.backend.core.model.actions.tables.query.serialization.QFilterCriteriaDeserializer;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.utils.CollectionUtils; import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
import com.kingsrook.qqq.backend.core.utils.StringUtils; import com.kingsrook.qqq.backend.core.utils.StringUtils;
@ -40,7 +41,7 @@ import com.kingsrook.qqq.backend.core.utils.StringUtils;
* *
*******************************************************************************/ *******************************************************************************/
@JsonDeserialize(using = QFilterCriteriaDeserializer.class) @JsonDeserialize(using = QFilterCriteriaDeserializer.class)
public class QFilterCriteria implements Serializable, Cloneable public class QFilterCriteria implements Serializable, Cloneable, QMetaDataObject
{ {
private static final QLogger LOG = QLogger.getLogger(QFilterCriteria.class); private static final QLogger LOG = QLogger.getLogger(QFilterCriteria.class);

View File

@ -23,13 +23,14 @@ package com.kingsrook.qqq.backend.core.model.actions.tables.query;
import java.io.Serializable; import java.io.Serializable;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
/******************************************************************************* /*******************************************************************************
** Bean representing an element of a query order-by clause. ** Bean representing an element of a query order-by clause.
** **
*******************************************************************************/ *******************************************************************************/
public class QFilterOrderBy implements Serializable, Cloneable public class QFilterOrderBy implements Serializable, Cloneable, QMetaDataObject
{ {
private String fieldName; private String fieldName;
private boolean isAscending = true; private boolean isAscending = true;

View File

@ -36,6 +36,7 @@ import com.kingsrook.qqq.backend.core.instances.QMetaDataVariableInterpreter;
import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.logging.QLogger;
import com.kingsrook.qqq.backend.core.model.actions.tables.query.expressions.AbstractFilterExpression; import com.kingsrook.qqq.backend.core.model.actions.tables.query.expressions.AbstractFilterExpression;
import com.kingsrook.qqq.backend.core.model.actions.tables.query.expressions.FilterVariableExpression; import com.kingsrook.qqq.backend.core.model.actions.tables.query.expressions.FilterVariableExpression;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.utils.CollectionUtils; import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
import com.kingsrook.qqq.backend.core.utils.StringUtils; import com.kingsrook.qqq.backend.core.utils.StringUtils;
import com.kingsrook.qqq.backend.core.utils.ValueUtils; import com.kingsrook.qqq.backend.core.utils.ValueUtils;
@ -45,7 +46,7 @@ import com.kingsrook.qqq.backend.core.utils.ValueUtils;
* Full "filter" for a query - a list of criteria and order-bys * Full "filter" for a query - a list of criteria and order-bys
* *
*******************************************************************************/ *******************************************************************************/
public class QQueryFilter implements Serializable, Cloneable public class QQueryFilter implements Serializable, Cloneable, QMetaDataObject
{ {
private static final QLogger LOG = QLogger.getLogger(QQueryFilter.class); private static final QLogger LOG = QLogger.getLogger(QQueryFilter.class);

View File

@ -26,7 +26,7 @@ package com.kingsrook.qqq.backend.core.model.metadata;
** Interface for meta-data classes that can be added directly (e.g, at the top ** Interface for meta-data classes that can be added directly (e.g, at the top
** level) to a QInstance (such as a QTableMetaData - not a QFieldMetaData). ** level) to a QInstance (such as a QTableMetaData - not a QFieldMetaData).
*******************************************************************************/ *******************************************************************************/
public interface TopLevelMetaDataInterface extends MetaDataProducerOutput public interface TopLevelMetaDataInterface extends MetaDataProducerOutput, QMetaDataObject
{ {
/******************************************************************************* /*******************************************************************************

View File

@ -22,10 +22,13 @@
package com.kingsrook.qqq.backend.core.model.metadata.audits; package com.kingsrook.qqq.backend.core.model.metadata.audits;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
public class QAuditRules public class QAuditRules implements QMetaDataObject
{ {
private AuditLevel auditLevel; private AuditLevel auditLevel;

View File

@ -23,13 +23,14 @@ package com.kingsrook.qqq.backend.core.model.metadata.code;
import java.io.Serializable; import java.io.Serializable;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
/******************************************************************************* /*******************************************************************************
** Pointer to code to be ran by the qqq framework, e.g., for custom behavior - ** Pointer to code to be ran by the qqq framework, e.g., for custom behavior -
** maybe process steps, maybe customization to a table, etc. ** maybe process steps, maybe customization to a table, etc.
*******************************************************************************/ *******************************************************************************/
public class QCodeReference implements Serializable public class QCodeReference implements Serializable, QMetaDataObject
{ {
private String name; private String name;
private QCodeType codeType; private QCodeType codeType;

View File

@ -40,6 +40,7 @@ import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter;
import com.kingsrook.qqq.backend.core.model.data.QField; import com.kingsrook.qqq.backend.core.model.data.QField;
import com.kingsrook.qqq.backend.core.model.data.QRecordEntity; import com.kingsrook.qqq.backend.core.model.data.QRecordEntity;
import com.kingsrook.qqq.backend.core.model.metadata.QInstance; import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.model.metadata.help.HelpRole; import com.kingsrook.qqq.backend.core.model.metadata.help.HelpRole;
import com.kingsrook.qqq.backend.core.model.metadata.help.QHelpContent; import com.kingsrook.qqq.backend.core.model.metadata.help.QHelpContent;
import com.kingsrook.qqq.backend.core.model.metadata.possiblevalues.QPossibleValueSource; import com.kingsrook.qqq.backend.core.model.metadata.possiblevalues.QPossibleValueSource;
@ -54,7 +55,7 @@ import static com.kingsrook.qqq.backend.core.logging.LogUtils.logPair;
** Meta-data to represent a single field in a table. ** Meta-data to represent a single field in a table.
** **
*******************************************************************************/ *******************************************************************************/
public class QFieldMetaData implements Cloneable public class QFieldMetaData implements Cloneable, QMetaDataObject
{ {
private static final QLogger LOG = QLogger.getLogger(QFieldMetaData.class); private static final QLogger LOG = QLogger.getLogger(QFieldMetaData.class);

View File

@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.core.model.metadata.help;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
/******************************************************************************* /*******************************************************************************
@ -41,7 +42,7 @@ import java.util.Set;
** May be dynamically added to meta-data via (non-meta-) data - see ** May be dynamically added to meta-data via (non-meta-) data - see
** HelpContentMetaDataProvider and QInstanceHelpContentManager ** HelpContentMetaDataProvider and QInstanceHelpContentManager
*******************************************************************************/ *******************************************************************************/
public class QHelpContent public class QHelpContent implements QMetaDataObject
{ {
private String content; private String content;
private HelpFormat format; private HelpFormat format;

View File

@ -22,6 +22,9 @@
package com.kingsrook.qqq.backend.core.model.metadata.layout; package com.kingsrook.qqq.backend.core.model.metadata.layout;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
/******************************************************************************* /*******************************************************************************
** Icon to show associated with an App, Table, Process, etc. ** Icon to show associated with an App, Table, Process, etc.
** **
@ -31,7 +34,7 @@ package com.kingsrook.qqq.backend.core.model.metadata.layout;
** Future may allow something like a "namespace", and/or multiple icons for ** Future may allow something like a "namespace", and/or multiple icons for
** use in different frontends, etc. ** use in different frontends, etc.
*******************************************************************************/ *******************************************************************************/
public class QIcon public class QIcon implements QMetaDataObject
{ {
private String name; private String name;
private String path; private String path;

View File

@ -22,13 +22,14 @@
package com.kingsrook.qqq.backend.core.model.metadata.permissions; package com.kingsrook.qqq.backend.core.model.metadata.permissions;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference; import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference;
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
public class QPermissionRules implements Cloneable public class QPermissionRules implements Cloneable, QMetaDataObject
{ {
private PermissionLevel level; private PermissionLevel level;
private DenyBehavior denyBehavior; private DenyBehavior denyBehavior;

View File

@ -22,6 +22,7 @@
package com.kingsrook.qqq.backend.core.model.metadata.scheduleing; package com.kingsrook.qqq.backend.core.model.metadata.scheduleing;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.utils.StringUtils; import com.kingsrook.qqq.backend.core.utils.StringUtils;
@ -35,7 +36,7 @@ import com.kingsrook.qqq.backend.core.utils.StringUtils;
** same moment. ** same moment.
** **
*******************************************************************************/ *******************************************************************************/
public class QScheduleMetaData public class QScheduleMetaData implements QMetaDataObject
{ {
private String schedulerName; private String schedulerName;
private String description; private String description;

View File

@ -22,11 +22,14 @@
package com.kingsrook.qqq.backend.core.model.metadata.tables; package com.kingsrook.qqq.backend.core.model.metadata.tables;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
/******************************************************************************* /*******************************************************************************
** definition of a qqq table that is "associated" with another table, e.g., ** definition of a qqq table that is "associated" with another table, e.g.,
** managed along with it - such as child-records under a parent record. ** managed along with it - such as child-records under a parent record.
*******************************************************************************/ *******************************************************************************/
public class Association public class Association implements QMetaDataObject
{ {
private String name; private String name;
private String associatedTableName; private String associatedTableName;

View File

@ -26,6 +26,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.kingsrook.qqq.backend.core.instances.QInstanceHelpContentManager; import com.kingsrook.qqq.backend.core.instances.QInstanceHelpContentManager;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.model.metadata.help.HelpRole; import com.kingsrook.qqq.backend.core.model.metadata.help.HelpRole;
import com.kingsrook.qqq.backend.core.model.metadata.help.QHelpContent; import com.kingsrook.qqq.backend.core.model.metadata.help.QHelpContent;
import com.kingsrook.qqq.backend.core.model.metadata.layout.QIcon; import com.kingsrook.qqq.backend.core.model.metadata.layout.QIcon;
@ -36,7 +37,7 @@ import com.kingsrook.qqq.backend.core.utils.collections.MutableList;
** A section of fields - a logical grouping. ** A section of fields - a logical grouping.
** TODO - this class should be named QTableSection! ** TODO - this class should be named QTableSection!
*******************************************************************************/ *******************************************************************************/
public class QFieldSection public class QFieldSection implements QMetaDataObject
{ {
private String name; private String name;
private String label; private String label;

View File

@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.core.model.metadata.tables;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.utils.StringUtils; import com.kingsrook.qqq.backend.core.utils.StringUtils;
@ -32,7 +33,7 @@ import com.kingsrook.qqq.backend.core.utils.StringUtils;
** Definition of a Unique Key (or "Constraint", if you wanna use fancy words) ** Definition of a Unique Key (or "Constraint", if you wanna use fancy words)
** on a QTable. ** on a QTable.
*******************************************************************************/ *******************************************************************************/
public class UniqueKey public class UniqueKey implements QMetaDataObject
{ {
private List<String> fieldNames; private List<String> fieldNames;
private String label; private String label;

View File

@ -22,11 +22,14 @@
package com.kingsrook.qqq.backend.core.model.metadata.tables.automation; package com.kingsrook.qqq.backend.core.model.metadata.tables.automation;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
/******************************************************************************* /*******************************************************************************
** Table-automation meta-data to define how this table's per-record automation ** Table-automation meta-data to define how this table's per-record automation
** status is tracked. ** status is tracked.
*******************************************************************************/ *******************************************************************************/
public class AutomationStatusTracking public class AutomationStatusTracking implements QMetaDataObject
{ {
private AutomationStatusTrackingType type; private AutomationStatusTrackingType type;

View File

@ -24,13 +24,14 @@ package com.kingsrook.qqq.backend.core.model.metadata.tables.automation;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.model.metadata.scheduleing.QScheduleMetaData; import com.kingsrook.qqq.backend.core.model.metadata.scheduleing.QScheduleMetaData;
/******************************************************************************* /*******************************************************************************
** Details about how this table's record automations are set up. ** Details about how this table's record automations are set up.
*******************************************************************************/ *******************************************************************************/
public class QTableAutomationDetails public class QTableAutomationDetails implements QMetaDataObject
{ {
private AutomationStatusTracking statusTracking; private AutomationStatusTracking statusTracking;
private String providerName; private String providerName;

View File

@ -25,13 +25,14 @@ package com.kingsrook.qqq.backend.core.model.metadata.tables.automation;
import java.io.Serializable; import java.io.Serializable;
import java.util.Map; import java.util.Map;
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter; import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter;
import com.kingsrook.qqq.backend.core.model.metadata.QMetaDataObject;
import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference; import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference;
/******************************************************************************* /*******************************************************************************
** Definition of a specific action to run against a table ** Definition of a specific action to run against a table
*******************************************************************************/ *******************************************************************************/
public class TableAutomationAction public class TableAutomationAction implements QMetaDataObject
{ {
private String name; private String name;
private TriggerEvent triggerEvent; private TriggerEvent triggerEvent;