From f4b54518fa52ad1129336758b68c931412811bd1 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 14 Jan 2025 10:53:53 -0600 Subject: [PATCH] Override getDefault, to return a NOOP instance --- .../metadata/fields/FieldDisplayBehavior.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldDisplayBehavior.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldDisplayBehavior.java index 5ea1cfa3..9fbdecdf 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldDisplayBehavior.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldDisplayBehavior.java @@ -22,11 +22,45 @@ package com.kingsrook.qqq.backend.core.model.metadata.fields; +import java.util.List; +import com.kingsrook.qqq.backend.core.actions.values.ValueBehaviorApplier; +import com.kingsrook.qqq.backend.core.model.data.QRecord; +import com.kingsrook.qqq.backend.core.model.metadata.QInstance; +import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; + + /******************************************************************************* ** Interface to mark a field behavior as one to be used during generating ** display values. *******************************************************************************/ public interface FieldDisplayBehavior> extends FieldBehavior { + NoopFieldDisplayBehavior NOOP = new NoopFieldDisplayBehavior(); + /*************************************************************************** + ** + ***************************************************************************/ + @Override + @SuppressWarnings("unchecked") + default T getDefault() + { + return (T) NOOP; + } + + + /*************************************************************************** + ** a default implementation for this behavior type, which does nothing. + ***************************************************************************/ + class NoopFieldDisplayBehavior implements FieldDisplayBehavior + { + + /*************************************************************************** + ** + ***************************************************************************/ + @Override + public void apply(ValueBehaviorApplier.Action action, List recordList, QInstance instance, QTableMetaData table, QFieldMetaData field) + { + + } + } }