kd.bos.entity.property

## 类 FlexProp

- java.lang.Object
- - kd.bos.dataentity.metadata.dynamicobject.DynamicMetadata
  - - kd.bos.dataentity.metadata.dynamicobject.DynamicProperty
    - - kd.bos.dataentity.metadata.dynamicobject.DynamicComplexProperty
      - - kd.bos.entity.property.BasedataProp
        - - kd.bos.entity.property.FlexProp

- 所有已实现的接口:
    java.io.Serializable, java.lang.Cloneable, kd.bos.dataentity.metadata.IComplexProperty, kd.bos.dataentity.metadata.IDataEntityProperty, kd.bos.dataentity.metadata.IMetadata, IBasedataField, IFieldHandle, IValidatorHanlder

      @KSObject
      public class FlexProp
      extends BasedataProp

  另请参阅:
    序列化表格

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static java.lang.String` | `ASSISTANTVALUETYPE`
    `static java.lang.String` | `BASEVALUETYPE`
    `static java.lang.String` | `TEXTVALUETYPE`

  - ### 构造器概要

    构造器
    构造器和说明
    `FlexProp()`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `AnalysisField` | `createAnalysisField(MainEntityType mainType, java.lang.String propName)`
    `java.util.List<AnalysisField>` | `createAnalysisFields(MainEntityType mainType)` 基于运行时字段元数据，构建过滤字段
    `java.util.Map<java.lang.String,java.lang.Object>` | `createEntityTreeNode(EntityTreeNode entityTreeNode)`
    `java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `createEntityTreeNodes(EntityTreeNode entityTreeNode, boolean isAllNode)`
    `FilterField` | `createFilterField(MainEntityType mainType, java.lang.String propName)` 输出过滤字段信息
    `java.util.List<FilterField>` | `createFilterFields(MainEntityType mainType)` 基于运行时字段元数据，构建过滤字段
    `void` | `extendFlexProperties(MainEntityType entityType, IRegisterFlexPropertyListener registerPropertyListener)` 将弹性域字段扩展到对应的实体
    `java.lang.String` | `getBasePropertyKey()`
    `java.lang.String` | `getClientType()`
    `java.lang.String` | `getClientType(java.lang.String refPropKey)`
    `java.lang.String` | `getCompareGroupID()`
    `kd.bos.dataentity.metadata.IDataEntityType` | `getComplexType()` 重载掉注解，在根实体上统一处理序列化
    `int` | `getDbType()`
    `java.lang.String` | `getDefaultCompareTypeId()`
    `java.lang.String` | `getDefaultMultiCompareTypeId()`
    `java.lang.String` | `getFilterControlType()`
    `kd.bos.dataentity.entity.DynamicObject` | `getFlexDataDynamicObject(IDataModel model, java.lang.Object pk)`
    `kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType` | `getFlexDataType()`
    `java.util.List<kd.bos.dataentity.metadata.IDataEntityProperty>` | `getFlexProps()`
    `int` | `getFlexTypeId()`
    `AbstractColumnDesc` | `getListColumnDesc(ListField col)` 获取该属性对应列字段对应的格式化对象
    `java.lang.Class<?>` | `getPropertyType()`
    `java.util.Map<java.lang.String,java.lang.Object>` | `getQingValue(MainEntityType flexEntityType, kd.bos.dataentity.entity.DynamicObject v, java.util.function.BiFunction<kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,java.lang.Object,kd.bos.dataentity.entity.DynamicObject> loadReferenceData)`
    `kd.bos.dataentity.metadata.IDataEntityProperty` | `getRefIdProp()`
    `java.lang.Object` | `getReportValue(kd.bos.dataentity.entity.DynamicObject dataEntity, java.util.function.BiFunction<kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,java.lang.Object,kd.bos.dataentity.entity.DynamicObject> loadReferenceData)`
    `java.lang.Object` | `getValue(MainEntityType flexEntityType, kd.bos.dataentity.entity.DynamicObject dataEntity, java.util.function.BiFunction<kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,java.lang.Object,kd.bos.dataentity.entity.DynamicObject> loadReferenceData)`
    `boolean` | `isSysField()` 是否系统属性，如内码、基础资料引用Id，多语言对应内部字段
    `void` | `setBasePropertyKey(java.lang.String basePropertyKey)`
    `void` | `setCompareGroupID(java.lang.String compareGroupID)`
    `void` | `setDefaultCompareTypeId(java.lang.String defaultCompareTypeId)`
    `void` | `setDefaultMultiCompareTypeId(java.lang.String defaultMultiCompareTypeId)`
    `void` | `setFieldValue(IDataModel model, java.lang.Object dataEntity, java.lang.Object value)`
    `void` | `setFieldValueForWebApi(IDataModel model, java.lang.Object dataEntity, java.lang.Object value)` WebApi上传数据时设置字段的值，特殊的字段需要值转换进行重载，缺省实现和 setFieldValue一致
    `void` | `setFlexProps(java.util.List<kd.bos.dataentity.metadata.IDataEntityProperty> flexProps)`
    `void` | `setFlexTypeId(int flexType)`
    `void` | `setRefIdProp(kd.bos.dataentity.metadata.IDataEntityProperty refIdProp)`

    - ### 从类继承的方法 kd.bos.entity.property.BasedataProp

      `applyDefaultValue, buildCoreFilter, buildCoreFilterByString, convertPKValueType, createEntityTreeNodes, getBaseEntityId, getBindingBasedataValue, getCompareProp, getCompareTypes, getDefValue, getDefValue2, getDisplayProp, getDisplayValue, getDispProp, getEditSearchProp, getFeatures, getFlexPropertyKey, getLayoutId, getLookupProp, getNumberProp, getNumbProp, getOrgProp, getValidators, getValueComparator, isDbIgnore, isFromSampleMaster, isMustInput, isShowUsed, setBaseEntityId, setDefValue, setDefValue2, setDisplayProp, setEditSearchProp, setFeatures, setFilterControlType, setLayoutId, setLookupProp, setMustInput, setNumberProp, setOrgProp, setShowUsed, setValueFast`

    - ### 从类继承的方法 kd.bos.dataentity.metadata.dynamicobject.DynamicComplexProperty

      `clone, createHashCode, getDynamicComplexPropertyType, getRefIdPropName, getTableGroup, isEmpty, loadValue, setComplexType, setRefIdPropName, setTableGroup`

    - ### 从类继承的方法 kd.bos.dataentity.metadata.dynamicobject.DynamicProperty

      `findTrueProperty, getAlias, getDefaultValue, getDisplayName, getDTValue, getDTValueFast, getIsReadOnly, getName, getOrdinal, getParent, getReadOnly, getValue, getValueFast, hasDefaultValue, resetDTValue, setAlias, setDefaultValue, setDisplayName, setDTValue, setDTValueFast, setName, setOrdinal, setValue, toString`

    - ### 从类继承的方法 kd.bos.dataentity.metadata.dynamicobject.DynamicMetadata

      `equals, hashCode, setDbIgnore`

    - ### 从类继承的方法 java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### 从接口继承的方法 kd.bos.entity.property.IFieldHandle

      `afterCreateFilterColumn, getBasePropDisplayValue, getDisplayName, getFieldDefaultValue, getFieldDefaultValue2, isAllowvoucher, isAnalysisField, isBulkEditable, isConvertTote, isCopyable, isExportable, isF7BatchFill, isImportable, isMultiFillable, isSeriesNewTote, setGroupControl`

    - ### 从接口继承的方法 kd.bos.entity.property.IBasedataField

      `getName`

    - ### 从接口继承的方法 kd.bos.dataentity.metadata.IComplexProperty

      `getComplexType, getDataEntityWalkerItems`

    - ### 从接口继承的方法 kd.bos.dataentity.metadata.IDataEntityProperty

      `getOrdinal, getParent, getReadOnly, getValue, getValueFast, hasDefaultValue, isJsonSerialize, setValue`

    - ### 从接口继承的方法 kd.bos.dataentity.metadata.IMetadata

      `getAlias, getDisplayName, getName`

- - ### 字段详细资料

    - #### BASEVALUETYPE

          public static final java.lang.String BASEVALUETYPE

      另请参阅:
        常量字段值

    - #### ASSISTANTVALUETYPE

          public static final java.lang.String ASSISTANTVALUETYPE

      另请参阅:
        常量字段值

    - #### TEXTVALUETYPE

          public static final java.lang.String TEXTVALUETYPE

      另请参阅:
        常量字段值

  - ### 构造器详细资料

    - #### FlexProp

          public FlexProp()

  - ### 方法详细资料

    - #### getCompareGroupID

          public java.lang.String getCompareGroupID()

      指定者:
        `getCompareGroupID` 在接口中 `IFieldHandle`
      覆盖:
        `getCompareGroupID` 在类中 `BasedataProp`
      返回:
        比较符组标识

    - #### setCompareGroupID

          public void setCompareGroupID(java.lang.String compareGroupID)

      指定者:
        `setCompareGroupID` 在接口中 `IFieldHandle`
      覆盖:
        `setCompareGroupID` 在类中 `BasedataProp`
      参数:
        `compareGroupID` - 比较符组标识

    - #### getDefaultCompareTypeId

          public java.lang.String getDefaultCompareTypeId()

      指定者:
        `getDefaultCompareTypeId` 在接口中 `IFieldHandle`
      覆盖:
        `getDefaultCompareTypeId` 在类中 `BasedataProp`
      返回:
        默认比较符(单个值)

    - #### setDefaultCompareTypeId

          public void setDefaultCompareTypeId(java.lang.String defaultCompareTypeId)

      指定者:
        `setDefaultCompareTypeId` 在接口中 `IFieldHandle`
      覆盖:
        `setDefaultCompareTypeId` 在类中 `BasedataProp`
      参数:
        `defaultCompareTypeId` - 默认比较符(单个值)

    - #### getDefaultMultiCompareTypeId

          public java.lang.String getDefaultMultiCompareTypeId()

      指定者:
        `getDefaultMultiCompareTypeId` 在接口中 `IFieldHandle`
      覆盖:
        `getDefaultMultiCompareTypeId` 在类中 `BasedataProp`
      返回:
        默认比较符(多个值)

    - #### setDefaultMultiCompareTypeId

          public void setDefaultMultiCompareTypeId(java.lang.String defaultMultiCompareTypeId)

      指定者:
        `setDefaultMultiCompareTypeId` 在接口中 `IFieldHandle`
      覆盖:
        `setDefaultMultiCompareTypeId` 在类中 `BasedataProp`
      参数:
        `defaultMultiCompareTypeId` - 默认比较符(多个值)

    - #### getFlexTypeId

          @KSMethod
          public int getFlexTypeId()

      返回:
        the flexType

    - #### setFlexTypeId

          public void setFlexTypeId(int flexType)

      参数:
        `flexType` - the flexType to set

    - #### getRefIdProp

          @KSMethod
          public kd.bos.dataentity.metadata.IDataEntityProperty getRefIdProp()

      覆盖:
        `getRefIdProp` 在类中 `BasedataProp`

    - #### setRefIdProp

          public void setRefIdProp(kd.bos.dataentity.metadata.IDataEntityProperty refIdProp)

      覆盖:
        `setRefIdProp` 在类中 `BasedataProp`

    - #### getBasePropertyKey

          @KSMethod
          public java.lang.String getBasePropertyKey()

      返回:
        the basePropertyKey

    - #### setBasePropertyKey

          public void setBasePropertyKey(java.lang.String basePropertyKey)

      参数:
        `basePropertyKey` - the basePropertyKey to set

    - #### getPropertyType

          public java.lang.Class<?> getPropertyType()

      指定者:
        `getPropertyType` 在接口中 `kd.bos.dataentity.metadata.IDataEntityProperty`
      覆盖:
        `getPropertyType` 在类中 `BasedataProp`

    - #### getComplexType

          public kd.bos.dataentity.metadata.IDataEntityType getComplexType()

      从类复制的说明: `BasedataProp`
      重载掉注解，在根实体上统一处理序列化
      指定者:
        `getComplexType` 在接口中 `kd.bos.dataentity.metadata.IComplexProperty`
      覆盖:
        `getComplexType` 在类中 `BasedataProp`

    - #### setFieldValue

          public void setFieldValue(IDataModel model,
                                    java.lang.Object dataEntity,
                                    java.lang.Object value)

      指定者:
        `setFieldValue` 在接口中 `IFieldHandle`
      覆盖:
        `setFieldValue` 在类中 `BasedataProp`

    - #### setFieldValueForWebApi

          public void setFieldValueForWebApi(IDataModel model,
                                             java.lang.Object dataEntity,
                                             java.lang.Object value)

      从接口复制的说明: `IFieldHandle`
      WebApi上传数据时设置字段的值，特殊的字段需要值转换进行重载，缺省实现和 setFieldValue一致
      指定者:
        `setFieldValueForWebApi` 在接口中 `IFieldHandle`
      覆盖:
        `setFieldValueForWebApi` 在类中 `BasedataProp`

    - #### getListColumnDesc

          public AbstractColumnDesc getListColumnDesc(ListField col)

      从接口复制的说明: `IFieldHandle`
      获取该属性对应列字段对应的格式化对象
      指定者:
        `getListColumnDesc` 在接口中 `IFieldHandle`
      覆盖:
        `getListColumnDesc` 在类中 `BasedataProp`
      返回:

    - #### getFlexDataType

          public kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType getFlexDataType()

    - #### getFlexDataDynamicObject

          public kd.bos.dataentity.entity.DynamicObject getFlexDataDynamicObject(IDataModel model,
                                                                                 java.lang.Object pk)

    - #### isSysField

          public boolean isSysField()

      从接口复制的说明: `IFieldHandle`
      是否系统属性，如内码、基础资料引用Id，多语言对应内部字段
      指定者:
        `isSysField` 在接口中 `IFieldHandle`
      覆盖:
        `isSysField` 在类中 `BasedataProp`
      返回:

    - #### getFlexProps

          public java.util.List<kd.bos.dataentity.metadata.IDataEntityProperty> getFlexProps()

    - #### setFlexProps

          public void setFlexProps(java.util.List<kd.bos.dataentity.metadata.IDataEntityProperty> flexProps)

    - #### createFilterFields

          public java.util.List<FilterField> createFilterFields(MainEntityType mainType)

      从类复制的说明: `BasedataProp`
      基于运行时字段元数据，构建过滤字段
      指定者:
        `createFilterFields` 在接口中 `IFieldHandle`
      覆盖:
        `createFilterFields` 在类中 `BasedataProp`
      返回:

    - #### createFilterField

          public FilterField createFilterField(MainEntityType mainType,
                                               java.lang.String propName)

      从类复制的说明: `BasedataProp`
      输出过滤字段信息
      指定者:
        `createFilterField` 在接口中 `IFieldHandle`
      覆盖:
        `createFilterField` 在类中 `BasedataProp`

    - #### createAnalysisFields

          public java.util.List<AnalysisField> createAnalysisFields(MainEntityType mainType)

      从类复制的说明: `BasedataProp`
      基于运行时字段元数据，构建过滤字段
      指定者:
        `createAnalysisFields` 在接口中 `IFieldHandle`
      覆盖:
        `createAnalysisFields` 在类中 `BasedataProp`

    - #### createAnalysisField

          public AnalysisField createAnalysisField(MainEntityType mainType,
                                                   java.lang.String propName)

      指定者:
        `createAnalysisField` 在接口中 `IFieldHandle`
      覆盖:
        `createAnalysisField` 在类中 `BasedataProp`

    - #### getDbType

          public int getDbType()

      指定者:
        `getDbType` 在接口中 `IFieldHandle`
      覆盖:
        `getDbType` 在类中 `BasedataProp`

    - #### getFilterControlType

          public java.lang.String getFilterControlType()

      指定者:
        `getFilterControlType` 在接口中 `IFieldHandle`
      覆盖:
        `getFilterControlType` 在类中 `BasedataProp`
      返回:
        过滤控件类型

    - #### createEntityTreeNodes

          public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> createEntityTreeNodes(EntityTreeNode entityTreeNode,
                                                                                                        boolean isAllNode)

      指定者:
        `createEntityTreeNodes` 在接口中 `IFieldHandle`
      覆盖:
        `createEntityTreeNodes` 在类中 `BasedataProp`

    - #### createEntityTreeNode

          public java.util.Map<java.lang.String,java.lang.Object> createEntityTreeNode(EntityTreeNode entityTreeNode)

    - #### getClientType

          public java.lang.String getClientType()

    - #### getClientType

          public java.lang.String getClientType(java.lang.String refPropKey)

      覆盖:
        `getClientType` 在类中 `BasedataProp`

    - #### getQingValue

          public java.util.Map<java.lang.String,java.lang.Object> getQingValue(MainEntityType flexEntityType,
                                                                               kd.bos.dataentity.entity.DynamicObject v,
                                                                               java.util.function.BiFunction<kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,java.lang.Object,kd.bos.dataentity.entity.DynamicObject> loadReferenceData)

    - #### getReportValue

          public java.lang.Object getReportValue(kd.bos.dataentity.entity.DynamicObject dataEntity,
                                                 java.util.function.BiFunction<kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,java.lang.Object,kd.bos.dataentity.entity.DynamicObject> loadReferenceData)

    - #### getValue

          public java.lang.Object getValue(MainEntityType flexEntityType,
                                           kd.bos.dataentity.entity.DynamicObject dataEntity,
                                           java.util.function.BiFunction<kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,java.lang.Object,kd.bos.dataentity.entity.DynamicObject> loadReferenceData)

    - #### extendFlexProperties

          public void extendFlexProperties(MainEntityType entityType,
                                           IRegisterFlexPropertyListener registerPropertyListener)

      将弹性域字段扩展到对应的实体
      参数:
        `entityType` - 要扩展的实体
        `IRegisterFlexPropertyListener` - 输入的注册监听
        `registerPropertyListeners` - 输出的注册监听