CE-881 - Add DynamicDefaultValueBehavior to @QField

This commit is contained in:
2024-03-27 19:56:01 -05:00
parent e86d581fe4
commit c683794343
2 changed files with 12 additions and 1 deletions

View File

@ -26,6 +26,7 @@ import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
import com.kingsrook.qqq.backend.core.model.metadata.fields.DynamicDefaultValueBehavior;
import com.kingsrook.qqq.backend.core.model.metadata.fields.ValueTooLongBehavior; import com.kingsrook.qqq.backend.core.model.metadata.fields.ValueTooLongBehavior;
@ -88,6 +89,11 @@ public @interface QField
*******************************************************************************/ *******************************************************************************/
ValueTooLongBehavior valueTooLongBehavior() default ValueTooLongBehavior.PASS_THROUGH; ValueTooLongBehavior valueTooLongBehavior() default ValueTooLongBehavior.PASS_THROUGH;
/*******************************************************************************
**
*******************************************************************************/
DynamicDefaultValueBehavior dynamicDefaultValueBehavior() default DynamicDefaultValueBehavior.NONE;
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
// new attributes here likely need implementation in QFieldMetaData.constructFromGetter // // new attributes here likely need implementation in QFieldMetaData.constructFromGetter //
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////

View File

@ -221,11 +221,16 @@ public class QFieldMetaData implements Cloneable
setMaxLength(fieldAnnotation.maxLength()); setMaxLength(fieldAnnotation.maxLength());
} }
if(fieldAnnotation.valueTooLongBehavior() != ValueTooLongBehavior.PASS_THROUGH) if(fieldAnnotation.valueTooLongBehavior() != ValueTooLongBehavior.values()[0].getDefault())
{ {
withBehavior(fieldAnnotation.valueTooLongBehavior()); withBehavior(fieldAnnotation.valueTooLongBehavior());
} }
if(fieldAnnotation.dynamicDefaultValueBehavior() != DynamicDefaultValueBehavior.values()[0].getDefault())
{
withBehavior(fieldAnnotation.dynamicDefaultValueBehavior());
}
if(StringUtils.hasContent(fieldAnnotation.defaultValue())) if(StringUtils.hasContent(fieldAnnotation.defaultValue()))
{ {
ValueUtils.getValueAsFieldType(this.type, fieldAnnotation.defaultValue()); ValueUtils.getValueAsFieldType(this.type, fieldAnnotation.defaultValue());