Interface IRecordValueDescriptor
-
- All Superinterfaces:
IValueDescriptor<Map<String,?>,IRecordValueBuilder>
,Serializable
- All Known Implementing Classes:
AttachmentDescriptor
,FileItemDescriptor
,FormRecordChatDescriptor
,FormRecordMessageDescriptor
,FormRecordMessageUploadRequestDescriptor
,MimeTypeDescriptor
,RecordValueDescriptorWrapper
,UserDataDescriptor
,UserProfileDescriptor
public interface IRecordValueDescriptor extends IValueDescriptor<Map<String,?>,IRecordValueBuilder>
AIValueDescriptor
for a record value, i.e. aMap
with a certain shape. Compared with aIMapValueDescriptor
, a record value (a) always only contains a finite set of known properties and cannot have arbitrary properties; and (b) may have a different type for each property. Note that only the defined properties are allowed, undefined extraneous properties are forbidden.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description IRecordValueDescriptorBuilder
configure()
Creates a new builder pre-configured with the settings of this descriptor.default EValueType
getBaseType()
default Class<?>
getJavaClass()
Map<String,IRecordMember<?,?>>
getRecordValueDescriptors()
IRecordValueDescriptor
withDefaultValue(Object defaultValue)
IRecordValueDescriptor
withDescription(String description)
-
Methods inherited from interface de.xima.fc.interfaces.workflow.value.IValueDescriptor
acceptsValue, asAny, asBoolean, asConst, asFloat, asInteger, asLargeString, asList, asList, asMap, asMap, asNull, asRecord, asString, asTuple, asUnion, asUnion, asVoid, builder, getDefaultValue, getDescription, getFullType, getKnownProperties, getKnownProperties, intersect, is, unwrap
-
-
-
-
Method Detail
-
configure
IRecordValueDescriptorBuilder configure()
Description copied from interface:IValueDescriptor
Creates a new builder pre-configured with the settings of this descriptor. Lets you e.g. add additional properties.- Specified by:
configure
in interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>
- Returns:
- A new builder pre-configured with the settings of this descriptor.
-
getBaseType
default EValueType getBaseType()
- Specified by:
getBaseType
in interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>
- Returns:
- The basic type of value described by this value descriptor.
-
getJavaClass
default Class<?> getJavaClass()
- Specified by:
getJavaClass
in interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>
- Returns:
- The Java class of the values described by this descriptor.
-
getRecordValueDescriptors
Map<String,IRecordMember<?,?>> getRecordValueDescriptors()
- Returns:
- A map of all properties the record may have, mapped to the value descriptor for each property.
-
withDefaultValue
IRecordValueDescriptor withDefaultValue(Object defaultValue)
- Specified by:
withDefaultValue
in interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>
- Parameters:
defaultValue
- The new default value. May be changed when it does not conform to the restrictions imposed by this descriptor.- Returns:
- A new descriptor with the default value.
-
withDescription
IRecordValueDescriptor withDescription(String description)
- Specified by:
withDescription
in interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>
- Parameters:
description
- The new description.- Returns:
- A new descriptor with the given description.
-
-