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>
AIValueDescriptorfor a record value, i.e. aMapwith 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 IRecordValueDescriptorBuilderconfigure()Creates a new builder pre-configured with the settings of this descriptor.default EValueTypegetBaseType()default Class<?>getJavaClass()Map<String,IRecordMember<?,?>>getRecordValueDescriptors()IRecordValueDescriptorwithDefaultValue(Object defaultValue)IRecordValueDescriptorwithDescription(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:IValueDescriptorCreates a new builder pre-configured with the settings of this descriptor. Lets you e.g. add additional properties.- Specified by:
configurein interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>- Returns:
- A new builder pre-configured with the settings of this descriptor.
-
getBaseType
default EValueType getBaseType()
- Specified by:
getBaseTypein interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>- Returns:
- The basic type of value described by this value descriptor.
-
getJavaClass
default Class<?> getJavaClass()
- Specified by:
getJavaClassin 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:
withDefaultValuein 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:
withDescriptionin interfaceIValueDescriptor<Map<String,?>,IRecordValueBuilder>- Parameters:
description- The new description.- Returns:
- A new descriptor with the given description.
-
-