反序列化后数据
* @return
*/
fromJsonString(content:string,valueType:$.java.lang.Class):any;
/**
* 将数据反序列化成List
*
* @param content 待反序列化内容
* @param itemType 反序列化类型
* @return
*/
fromJsonStringToList(content:string,itemType:$.java.lang.Class):$.java.util.List;
getObjectMapper2():any;
/**
* 将整形数组转换成字符串
*
* @param array 整形数组
* @return
*/
intArrayToString(array:number[]):string;
/**
* 将当前值序列化成加密值
*
* @param o 当前值
* @return
*/
serializeToBase64(o:any):string;
/**
* 将字符串到转换成整数
*
* @param arrayString 当前值
* @return
*/
stringToIntArray(arrayString:string):number[];
/**
* 将当前数据序列化成字节
*
* @param o 当前值
* @return
*/
toByte(o:any):number[];
/**
* 将数据序列化输出
*
* @param o 待序列化数据
* @return
*/
toJsonString(o:any):string;
/**
* 将数据序列化输出
*
* @param o 待序列化数据
* @param inclusionNON_NULL 是否包含不允许为null的值
* @return
*/
toJsonString(o:any,inclusionNON_NULL:boolean):string;
/**
* 将数据序列化输出
*
* @param o 待序列化数据
* @param inclusionNON_NULL 是否包含不允许为null
* @param option {@link OperateOption} 数据的操作提供额外的选项
* @return
*/
toJsonString(o:any,inclusionNON_NULL:boolean,option:OperateOption):string;
}
interface SerializationUtils_C extends SerializationUtils_S {
new():SerializationUtils;
}
interface SerializationUtils$ {
}
type SerializationUtils_T = SerializationUtils_S & SerializationUtils$;
interface SerializationUtils extends SerializationUtils_T {
}
interface DcxmlSerializer_S {
}
type DcxmlSerializer_ST = DcSerializer_S & DcxmlSerializer_S;
interface DcxmlSerializer_C extends DcxmlSerializer_ST {
/**
* 创建 Dcxml的序列化和反序列化工具。
*
* @param binder 绑定器
*/
new(binder:DcBinder):DcxmlSerializer;
/**
* 创建 Dcxml的序列化和反序列化工具。
*
* @param dts 传递默认的类型列表,默认创建ListDcxmlBinder
*/
new(dts:$.java.lang.Iterable):DcxmlSerializer;
}
interface DcxmlSerializer$ {
/**
* 根据文件添加模板
*
* @param loacleId 当前语言
* @param xmlTemplate 当前文件
*/
addTemplate(loacleId:string,xmlTemplate:$.java.io.File):void;
/**
* 根据url地址添加模板
*
* @param loacleId 当前语言
* @param xmlTemplate url地址
*/
addTemplate(loacleId:string,xmlTemplate:$.java.net.URL):void;
/**
* 根据内容添加模板
*
* @param loacleId 当前语言
* @param xmlTemplate 当前内容
*/
addTemplateFromString(loacleId:string,xmlTemplate:string):void;
/**
* 对指定的位置执行反序列化操作
*
* @param doc xml文档
* @param entity 如果已经存在一个实体,可以提供给他
* @return 反序列化后的实体
*/
deserialize(doc:any,entity:any):any;
/**
* 对指定的位置执行反序列化操作
*
* @param file 文件
* @param entity 如果已经存在一个实体,可以提供给他
* @return 反序列化后的实体
*/
deserialize(file:$.java.io.File,entity:any):any;
/**
* 对指定的位置执行反序列化操作
*
* @param url 数据来源
* @param entity 如果已经存在一个实体,可以提供给他
* @return 反序列化后的实体
*/
deserialize(url:$.java.net.URL,entity:any):any;
/**
* 对指定的文本执行反序列化操作
*
* @param xml 数据来源
* @param entity 如果已经存在一个实体,可以提供给他
* @return 反序列化后的实体
*/
deserializeFromString(xml:string,entity:any):any;
/**
* 获取反序列化是否忽略主键冲突
*
* @return
*/
getColloctionIgnorePKValue():boolean;
/**
* 对指定的文本执行反序列化操作
*
* @param diffxml 数据来源
* @param baseentity 如果已经存在一个实体,可以提供给他
* @param plugin 插件
* @return 反序列化后的实体
*/
getDiffDesc(diffxml:string,baseentity:any,plugin:IDcDescReadPlugin):string;
/**
* 获取是否需要忽略不支持数据库操作的元素序列化
*
* @return
*/
getNeedDBIgnore():boolean;
/**
* 获取是否只包含LocaleValue
*
* @return
*/
getOnlyLocaleVale():boolean;
/**
* 获取2052多语言发生变化,是否重置其他语言
*
* @return
*/
getResetLoacaleValueBy2052():boolean;
/**
* xml输出内容时,是否忽略 去重空格处理
* 去重空格效果(OutputFormat.trimtext)
* @return
*/
isIgnoreTrimText():boolean;
/**
* 获取是否缩进
*
* @return
*/
isIndent():boolean;
/**
* 获取是否换行
*
* @return
*/
isNewlines():boolean;
/**
* 比对当前实体和基础实体的信息,并返回差量化的XML数据。
*
* @param currentEntity 当前实体
* @param baseEntity 基础比对实体。
* @return 差量化的XML数据。
*/
serializeToString(currentEntity:any,baseEntity:any):string;
/**
* 设置反序列化是否忽略主键冲突
*
* @param value 反序列化是否忽略主键冲突
*/
setColloctionIgnorePKValue(value:boolean):void;
/**
* 设置xml输出时,是否忽略去重空格
* true: 强制忽略
* false: 按原有效果输出( json忽略,xml进行去重)
* @param ignoreTrimText
*/
setIgnoreTrimText(ignoreTrimText:boolean):void;
/**
* 设置是否缩进
*
* @param indent 缩进
*/
setIndent(indent:boolean):void;
/**
* 设置是否需要忽略不支持数据库操作的元素序列化
*
* @param value 是否忽略不支持数据库操作的元素序列化
*/
setNeedDBIgnore(value:boolean):void;
/**
* 设置是否换行
*
* @param newlines 换行
*/
setNewlines(newlines:boolean):void;
/**
* 设置是否只包含LocaleValue
*
* @param value 是否只包含LocaleValue
*/
setOnlyLocaleVale(value:boolean):void;
/**
* 设置2052多语言发生变化,是否重置其他语言
*
* @param value 是否重置其他语言
*/
setResetLoacaleValueBy2052(value:boolean):void;
}
type DcxmlSerializer_T = DcSerializer & DcxmlSerializer_S & DcxmlSerializer$;
interface DcxmlSerializer extends DcxmlSerializer_T {
}
interface DynamicObjectSerializationBinder_S {
}
type DynamicObjectSerializationBinder_ST = DcBinder_S & DynamicObjectSerializationBinder_S;
interface DynamicObjectSerializationBinder_C extends DynamicObjectSerializationBinder_ST {
new(dt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):DynamicObjectSerializationBinder;
}
interface DynamicObjectSerializationBinder$ {
}
type DynamicObjectSerializationBinder_T = DcBinder & DynamicObjectSerializationBinder_S & DynamicObjectSerializationBinder$;
interface DynamicObjectSerializationBinder extends DynamicObjectSerializationBinder_T {
}
interface DcJsonSerializer_S {
readonly ElementName:string;
readonly ExtAttributes:string;
}
type DcJsonSerializer_ST = DcSerializer_S & DcJsonSerializer_S;
interface DcJsonSerializer_C extends DcJsonSerializer_ST {
/**
* 创建 Dcxml的序列化和反序列化工具。
*
* @param binder 绑定器
*/
new(binder:DcBinder):DcJsonSerializer;
/**
* 创建 Dcxml的序列化和反序列化工具。
*
* @param dts 传递默认的类型列表,默认创建ListDcxmlBinder
*/
new(dts:$.java.lang.Iterable):DcJsonSerializer;
}
interface DcJsonSerializer$ {
/**
* 对指定数据执行反序列化操作
*
* @param jsonMap 数据
* @param entity 如果已经存在一个实体,可以提供给他
* @return 反序列化后的实体
*/
deserializeFromMap(jsonMap:$.java.util.Map,entity:any):any;
/**
* 对指定的文本执行反序列化操作
*
* @param jsonString 数据来源
* @param entity 如果已经存在一个实体,可以提供给他
* @return 反序列化后的实体
*/
deserializeFromString(jsonString:string,entity:any):any;
/**
* 序列化实体数据
*
* @param currentEntity 当前实体
* @param baseEntity 基础实体
* @return
*/
serializeToMap(currentEntity:any,baseEntity:any):$.java.util.Map;
/**
* 序列化实体数据,产生差量信息
*
* @param currentEntity 当前实体
* @param baseEntity 基础实体
* @return
*/
serializeToString(currentEntity:any,baseEntity:any):string;
}
type DcJsonSerializer_T = DcSerializer & DcJsonSerializer_S & DcJsonSerializer$;
interface DcJsonSerializer extends DcJsonSerializer_T {
}
interface IDcDescReadPlugin_S {
}
interface IDcDescReadPlugin$ {
add?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
beginEditElement?(e:kd.bos.dataentity.serialization.args.EditElementArgs):void;
clear?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
editProperty?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
endEditElement?(e:kd.bos.dataentity.serialization.args.EditElementArgs):void;
remove?(re:kd.bos.dataentity.serialization.args.RemoveElementArgs):void;
resetProperty?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
setNullProperty?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
}
type IDcDescReadPlugin_T = IDcDescReadPlugin_S & IDcDescReadPlugin$;
interface IDcDescReadPlugin extends IDcDescReadPlugin_T {
}
interface DataEntityDeserializerOption_S {
}
interface DataEntityDeserializerOption_C extends DataEntityDeserializerOption_S {
new():DataEntityDeserializerOption;
}
interface DataEntityDeserializerOption$ {
/**
* 获取数据包中是否包含state标志
*
* @return true:包含,false:不包含
*/
isIncludeDataEntityState():boolean;
/**
* 设置数据包中是否包含state标志
*
* @param includeDataEntityState 数据包中是否包含state标志
*/
setIncludeDataEntityState(includeDataEntityState:boolean):void;
}
type DataEntityDeserializerOption_T = DataEntityDeserializerOption_S & DataEntityDeserializerOption$;
interface DataEntityDeserializerOption extends DataEntityDeserializerOption_T {
}
interface IBindToStringFunc_S {
}
interface IBindToStringFunc$ {
apply(sp:kd.bos.dataentity.metadata.ISimpleProperty,o1:any,o2:any):string;
}
type IBindToStringFunc_T = IBindToStringFunc_S & IBindToStringFunc$;
interface IBindToStringFunc extends IBindToStringFunc_T {
}
interface DcBinder_S {
readonly ELEMENT:string;
/**
* @param elementName
* @return
*/
getPrimitiveType(elementName:string):$.java.lang.Class;
}
interface DcBinder_C extends DcBinder_S {
new():DcBinder;
}
interface DcBinder$ {
/**
* 在序列化或反序列化时发生异常,决定是否抛出异常
*
* @param serializationException
* 异常对象
*/
ThrowException(serializationException:kd.bos.dataentity.exception.SerializationException):void;
afterWriteJsonObject(currentEntity:any,baseEntity:any,serObj:$.java.util.Map):void;
/**
* 允许定义个性化的相等判断机制,如果不重载此方法,将使用默认的判断机制。
*
* @param dataType
* 要进行相等判断的数据类型。
* @param defaultFunc
* 缺省的实现。
* @return 最终的实现
*/
bindEqualsFunc(dataType:$.java.lang.Class,defaultFunc:IBindEqualsFunc):IBindEqualsFunc;
/**
* 允许定义某个数据类型的读取XML的机制,如果不重载,可以使用默认的读取方式。
*
* @param dataType
* 数据类型,每个数据类型可以定义不同的读取行为。
* @param defaultAction
* 缺省的实现
* @return 最终的实现。
*/
bindJSONReadAction(dataType:$.java.lang.Class,defaultAction:ISetJsonValueAction):ISetJsonValueAction;
/**
* 根据当前的实体类型,返回对应的XML节点名称
*
* @param dt
* 实体类型
* @return 对应的XML节点名称
*/
bindToName(dt:kd.bos.dataentity.metadata.IDataEntityType):string;
/**
* 允许自定义数据类型转换为字符串的机制,如果不重载,将使用默认的行为。
*
* @param dataType
* 要转换的数据类型
* @param defaultFunc
* 缺省的数据转换函数
* @param isCData
* 是否是CData结构。
* @return 最终的实现。
*/
bindToStringFunc(dataType:$.java.lang.Class,defaultFunc:IBindToStringFunc,isCData:RefObject):IBindToStringFunc;
/**
* 根据节点的名称确定数据类型
*
* @param elementName
* 节点的名称
* @param attributes
* 额外的附属Attribute信息
* @return 返回数据类型
*/
bindToType(elementName:string,attributes:$.java.util.Map):kd.bos.dataentity.metadata.IDataEntityType;
/**
* 由Binder创建实例,默认实现是直接调用dt的CreateInstance方法
*
* @param dt
* 要创建实例的类型
* @return 新的实例
*
* 派生类可以重载此方法,例如标记实例创建的时机,或返回他的代理。
*/
createInstance(dt:kd.bos.dataentity.metadata.IDataEntityType):any;
/**
* 返回指定实体的附属信息
*
* @param dataEntity
* 要检测的实体
* @return 此实体的附属的信息
*/
getDataEntityAttributes(dataEntity:any):$.java.util.Map;
/**
* 返回指定实体的类型信息
*
* @param dataEntity
* 要检测的实体
* @return 此实体的类型信息
*/
getDataEntityType(dataEntity:any):kd.bos.dataentity.metadata.IDataEntityType;
/**
* 返回/设置在执行序列化和反序列化时,对应的时区信息,默认是当前时区。
*/
getLCId():string;
/**
* 返回/设置是否仅处理数据库有关的属性,默认为true.
*/
getOnlyDbProperty():boolean;
/**
* 返回用于比较实体类型的字符串比较策略,默认是忽略大小写
*/
isIgnoreCase():boolean;
/**
* @return the serializeByDefValue
*/
isSerializeDefaultValue():boolean;
/**
* json数据写入自定义属性到对象
* @param kv
* @param entity
*/
readCustomJsonProperty(kv:$.java.util.Map$Entry,entity:any):void;
/**
* xml数据写入自定义属性到对象
* @param element:xml元素
* @param entity:当前对象
*/
readCustomXmlProperty(element:any,entity:any):void;
readSimpleProperty(property:kd.bos.dataentity.metadata.ISimpleProperty,propElement:any,entity:any):boolean;
setIgnoreCase(value:boolean):void;
setLCId(value:string):void;
setOnlyDbProperty(value:boolean):void;
/**
* @param serializeByDefValue the serializeByDefValue to set
*/
setSerializeDefaultValue(serializeDefaultValue:boolean):void;
/**
* 根据节点的名称确定数据类型
*
* @param elementName
* 节点的名称
* @param attributes
* 额外的附属Attribute信息
* @param result
* 返回数据类型
* @return 如果找到返回true,否则返回false
*/
tryBindToType(elementName:string,attributes:$.java.util.Map):kd.bos.dataentity.metadata.IDataEntityType;
/**
* 自定义属性数据写入Json
* @param serObj:Json对象
* @param current:当前对象
* @param base:基对象
*/
writeCustomJsonProperties(serObj:$.java.util.Map,current:any,base:any):void;
/**
* 自定义属性数据写入xml
* @param serObj:xml对象
* @param current:当前对象
* @param base:基对象
*/
writeCustomXmlProperties(serObj:any,current:any,base:any):void;
writeSimpleProperty(serObj:any,property:kd.bos.dataentity.metadata.ISimpleProperty,entity:any):boolean;
}
type DcBinder_T = DcBinder_S & DcBinder$;
interface DcBinder extends DcBinder_T {
}
interface DcSerializer_S {
}
interface DcSerializer_C extends DcSerializer_S {
/**
* 创建 Dcxml的序列化和反序列化工具。
*
* @param binder 绑定器
*/
new(binder:DcBinder):DcSerializer;
/**
* 创建 Dcxml的序列化和反序列化工具。
*
* @param dts 传递默认的类型列表
*/
new(dts:$.java.lang.Iterable):DcSerializer;
}
interface DcSerializer$ {
/**
* 获取节点名称和实体类型的映射工具
*
* @return {@link DcBinder} 类型的映射工具
*/
getBinder():DcBinder;
/**
* 获取是否序列化复合属性
*
* @return
*/
getSerializeComplexProperty():boolean;
/**
* 获取当新建对象后是否再调用更新方法标记
*
* @return
*/
isCallUpdateFuncWhenCreated():boolean;
/**
* 获取否完整序列化LocaleValue开关,缺省为false
*
* @return
*/
isLocaleValueFull():boolean;
/**
* 设置节点名称和实体类型的映射工具
*
* @param value {@link DcBinder} 类型的映射工具
*/
setBinder(value:DcBinder):void;
/**
* 设置当新建对象后是否再调用更新方法标记
*
* @param callUpdateFuncWhenCreated
*/
setCallUpdateFuncWhenCreated(callUpdateFuncWhenCreated:boolean):void;
/**
* 设置是否完整序列化LocaleValue,缺省为false
*
* @param value 完整序列化LocaleValue
*/
setIsLocaleValueFull(value:boolean):void;
/**
* 设置是否序列化复合属性
*
* @param value 序列化复合属性
*/
setSerializeComplexProperty(value:boolean):void;
}
type DcSerializer_T = DcSerializer_S & DcSerializer$;
interface DcSerializer extends DcSerializer_T {
}
}
namespace kd.bos.dataentity.serialization.args{
interface EditElementArgs_S {
}
interface EditElementArgs_C extends EditElementArgs_S {
new(sbDesc:$.java.lang.StringBuilder,element:any,dt:kd.bos.dataentity.metadata.IDataEntityType,entity:any):EditElementArgs;
}
interface EditElementArgs$ {
getBaseEntity():any;
getDataEntityType():kd.bos.dataentity.metadata.IDataEntityType;
getDesc():$.java.lang.StringBuilder;
getElement():any;
setBaseEntity(baseEntity:any):void;
setDataEntityType(dataEntityType:kd.bos.dataentity.metadata.IDataEntityType):void;
}
type EditElementArgs_T = EditElementArgs_S & EditElementArgs$;
interface EditElementArgs extends EditElementArgs_T {
}
interface EditPropertyArgs_S {
}
interface EditPropertyArgs_C extends EditPropertyArgs_S {
new(sbDesc:$.java.lang.StringBuilder,property:kd.bos.dataentity.metadata.IDataEntityProperty,propElement:any,entity:any):EditPropertyArgs;
}
interface EditPropertyArgs$ {
getBaseEntity():any;
getDesc():$.java.lang.StringBuilder;
getElement():any;
getProperty():kd.bos.dataentity.metadata.IDataEntityProperty;
setBaseEntity(baseEntity:any):void;
}
type EditPropertyArgs_T = EditPropertyArgs_S & EditPropertyArgs$;
interface EditPropertyArgs extends EditPropertyArgs_T {
}
interface RemoveElementArgs_S {
}
interface RemoveElementArgs_C extends RemoveElementArgs_S {
new(sbDesc:$.java.lang.StringBuilder,property:kd.bos.dataentity.metadata.ICollectionProperty,entity:any,removeEntity:any):RemoveElementArgs;
}
interface RemoveElementArgs$ {
getBaseEntity():any;
getDesc():$.java.lang.StringBuilder;
getProperty():kd.bos.dataentity.metadata.ICollectionProperty;
getRemoveEntity():any;
}
type RemoveElementArgs_T = RemoveElementArgs_S & RemoveElementArgs$;
interface RemoveElementArgs extends RemoveElementArgs_T {
}
}
namespace kd.bos.dataentity.trace{
interface EntityTraceHint_S {
/**
* 返回不链接到APM平台的参数配置
*
* 使用共享的静态变量,避免调用者重复实例化参数对象
*
* @return
*/
getHintDisLinkAPM():EntityTraceHint;
/**
* 获取连接到APM平台的参数配置
*
* 使用共享的静态变量,避免重复实例化
*
* @return Trace参数配置
*/
getHintLinkAPM():EntityTraceHint;
}
interface EntityTraceHint_C extends EntityTraceHint_S {
/**
* 无参构造函数
*/
new():EntityTraceHint;
/**
* 带参构造函数:传入是否对接apm选项值
*
* @param linkToApm 传入true,和apm进行对接
*/
new(linkToApm:boolean):EntityTraceHint;
}
interface EntityTraceHint$ {
/**
* 返回:是否对接apm平台,即同时生成apm的调用链节点
*
* 部分方法调用非常频繁,会对apm产生很大性能压力,没有必要对接
*
* @return 返回false:不对接apm平台
*/
isLinkToApm():boolean;
/**
* 设置参数:是否和apm对接
*
* @param linkToApm 设置为true:对接apm平台,即同时生成apm调用链节点
*/
setLinkToApm(linkToApm:boolean):void;
}
type EntityTraceHint_T = EntityTraceHint_S & EntityTraceHint$;
interface EntityTraceHint extends EntityTraceHint_T {
}
interface EntityTracer_S {
/**
* 添加标签,只存在本地,不和云架构调用链对接
*
* @param key 标签名
* @param value 标签值
*/
addLocaleTag(key:string,value:any):void;
/**
* 添加标签,只存在本地,不和云架构调用链对接
*
* @param key 标签名
* @param value 标签值
*/
addLocaleTag(key:string,value:string):void;
/**
* 添加标签,和云架构调用链对接
*
* @param key 标签名
* @param value 标签值
*/
addTag(key:string,value:string):void;
/**
* 关闭当前的调用链节点,切换到父节点
*/
close():void;
/**
* 创建调用链节点实例
*
* @param type 调用类
* @param name 调用方法
* @return 调用链节点实例
*/
create(type_arg:string,name:string):EntityTraceSpan;
/**
* 创建调用链节点实例
*
* @param type 调用类
* @param name 调用方法
* @param hint 配置是否和apm对接的参数
*
* @return 调用链节点实例
*/
create(type_arg:string,name:string,hint:EntityTraceHint):EntityTraceSpan;
/**
* 捕获到异常,通知监听器进行处理
*
* 监听器在收到异常后,实时把当前调用堆栈各个方法执行参数打印出来,以便更好的在线分析问题
*
* @param e 异常对象
*/
error(e:$.java.lang.Throwable):void;
/**
* 捕获到异常,通知监听器进行处理
*
* 监听器在收到异常后,实时把当前调用堆栈各个方法执行参数打印出来,以便更好的在线分析问题
*
* @param msg 异常提示
*/
error(msg:string):void;
/**
* 获取当前正执行的调用链节点
*
* @return 调用链节点实例
*/
getCurrent():EntityTraceSpan;
/**
* 忽略已捕捉的异常,不向外输出信息
*
* 适用于业务代码在try catch捕获异常后,吃掉异常不外抛,也不需要后台输出异常信息
*/
ignoreException():void;
/**
* 是否为实时监听模式:
*
* 部分场景,只有在实时监听模式才需要创建调用链节点,上传数据。
* 不是实时监听模式则直接跳过,减少性能开销
*
* @return
*/
isRealtime():boolean;
/**
* 触发事件,通知监听器分析输出的数据
*
* @param event 事件名:由调用代码随意设置,供监听器定位当前事件
*/
logEvent(event:string):void;
/**
* 抛出异常,通知监听器开始收集调用链上下文数据,保护异常现场
*
* @param e 异常对象
*/
throwException(e:$.java.lang.Throwable):void;
/**
* 抛出异常,通知监听器开始收集调用链上下文数据,保护异常现场
*
* @param msg 异常提示
*/
throwException(msg:string):void;
/**
* 抛出异常,通知监听器开始收集调用链上下文数据,保护异常现场
*
* @param msg 异常提示
* @param e 异常对象
*/
throwException(msg:string,e:$.java.lang.Throwable):void;
/**
* 抛出异常,通知监听器开始收集调用链上下文数据,保护异常现场
*
* @param type 触发异常的类名
* @param name 触发异常的方法名
* @param msg 异常提示
* @param e 异常对象
* @param tags 附加信息数组,每个元素为一条附加信息,包括标识+信息对象
*/
throwException(type_arg:string,name:string,msg:string,e:$.java.lang.Throwable,tags:$.java.util.Map):void;
}
interface EntityTracer_C extends EntityTracer_S {
new():EntityTracer;
}
interface EntityTracer$ {
/**
* 捕获到异常,通知监听器进行处理
*
* 监听器在收到异常后,实时把当前调用堆栈各个方法执行参数打印出来,以便更好的在线分析问题
*
* @param msg 异常提示
* @param e 异常对象
*/
error(msg:string,e:$.java.lang.Throwable):void;
}
type EntityTracer_T = EntityTracer_S & EntityTracer$;
interface EntityTracer extends EntityTracer_T {
}
interface EntityTraceSpan_S {
}
interface EntityTraceSpan$ {
/**
* 输出本地变量,仅供监听器监听取用
*
* 使用addTag方法会向底层apm平台输出信息,会增加apm存储负担;
* 使用本方法则仅保留在本地,如果没有注册监听器则略过,不输出到apm平台
*
* @param key 键
* @param value 值
* @return 返回本对象,以便连续调用addLocaleTag
*/
addLocaleTag(key:string,value:any):this;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#addTag(String, String)}
*/
addTag(key:string,value:string):this;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#addTag(String, String, boolean)}
*/
addTag(key:string,value:string,force:boolean):this;
/**
* 捕获到异常,通知监听器进行处理
*
* 监听器在收到异常后,实时把当前调用堆栈各个方法执行参数打印出来,以便更好的在线分析问题
*
* @param e 异常对象
*/
error(e:$.java.lang.Throwable):void;
/**
* 捕获到异常,通知监听器进行处理
*
* 监听器在收到异常后,实时把当前调用堆栈各个方法执行参数打印出来,以便更好的在线分析问题
*
* @param msg 异常提示
*/
error(msg:string):void;
/**
* 捕获到异常,通知监听器进行处理
*
* 监听器在收到异常后,实时把当前调用堆栈各个方法执行参数打印出来,以便更好的在线分析问题
*
* @param msg 异常提示
* @param e 异常对象
*/
error(msg:string,e:$.java.lang.Throwable):void;
/**
* 触发事件,通知监听器进行分析
*
* 调用者上传完所有数据之后,调用此方法通知监听器对数据进行分析
*
* @param event 调用者自定义的事件名
*/
fireEvent(event:string):void;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getCost()}
*/
getCost():number;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getName()}
*/
getName():string;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getStartTime()}
*/
getStartTime():long;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getType()}
*/
getType():string;
/**
* 忽略已捕捉的异常,不向外输出信息
*
* 适用于业务代码在try catch捕获异常后,吃掉异常不外抛,也不需要后台输出异常信息
*/
ignoreException?():void;
/**
* 是否实时监听
*
* 客户代码在进行数据采集前,可以先判断当前线程是否在实时监听:
* 有些数据只有在实时监听时才需要格式化和上传,非实时监听不需处理,可以节省数据格式化的时间
* @return 是否实时监听
*/
isRealtime():boolean;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#logEvent()}
*/
logEvent(event:string):this;
/**
* 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#methodInstrumentForThreaddump()}
*/
methodInstrumentForThreaddump():void;
/**
* 抛出异常,通知监听器开始收集调用链上下文数据,保护异常现场
*
* @param e 异常对象
*/
throwException(e:$.java.lang.Throwable):void;
/**
* 抛出异常,通知监听器开始收集调用链上下文数据,保护异常现场
*
* @param msg 异常提示
*/
throwException(msg:string):void;
/**
* 抛出异常,通知监听器开始收集调用链上下文数据,保护异常现场
*
* @param msg 异常提示
* @param e 异常对象
*/
throwException(msg:string,e:$.java.lang.Throwable):void;
}
type EntityTraceSpan_T = $.java.lang.AutoCloseable & EntityTraceSpan_S & EntityTraceSpan$;
interface EntityTraceSpan extends EntityTraceSpan_T {
}
}
namespace kd.bos.dataentity.utils{
interface CharSequenceUtils_S {
/**
* Returns a new {@code CharSequence} that is a subsequence of this
* sequence starting with the {@code char} value at the specified index.
*
* This provides the {@code CharSequence} equivalent to {@link String#substring(int)}.
* The length (in {@code char}) of the returned sequence is {@code length() - start},
* so if {@code start == end} then an empty sequence is returned.
*
* @param cs the specified subsequence, null returns null
* @param start the start index, inclusive, valid
* @return a new subsequence, may be null
* @throws IndexOutOfBoundsException if {@code start} is negative or if
* {@code start} is greater than {@code length()}
*/
subSequence(cs:$.java.lang.CharSequence,start:number):$.java.lang.CharSequence;
}
interface CharSequenceUtils_C extends CharSequenceUtils_S {
/**
* {@code CharSequenceUtils} instances should NOT be constructed in
* standard programming.
*
* This constructor is public to permit tools that require a JavaBean
* instance to operate.
*/
new():CharSequenceUtils;
}
interface CharSequenceUtils$ {
}
type CharSequenceUtils_T = CharSequenceUtils_S & CharSequenceUtils$;
interface CharSequenceUtils extends CharSequenceUtils_T {
}
interface OrmUtils_S {
/**
* 搜索实体中各个层级的所有数据
* @param dataEntities 要搜索的实体
* @param dt 根实体结构
* @param callback 当搜索到某个级别时发生的回调
* @param onlyDbProperty 是否仅搜索数据库使用的属性
*/
DataEntityWalker(dataEntities:$.java.util.Collection,dt:kd.bos.dataentity.metadata.IDataEntityType,callback:kd.bos.dataentity.entity.DataEntityWalkerListner,onlyDbProperty:boolean):void;
/**
* 克隆当前实体的数据成为一个新的数据。注意他不会复制实体上的脏标识信息和快照信息。
* @param dataEntity 要克隆的实体
* @param onlyDbProperty 是否仅赋值数据库映射的字段。默认为false
* @param clearPrimaryKeyValue 是否清除主键的值,默认为false
* @return 新的实体对象,将当前的数据复制到了新的实体。
*/
clone(dataEntity:kd.bos.dataentity.entity.IDataEntityBase,onlyDbProperty:boolean,clearPrimaryKeyValue:boolean):any;
/**
* 克隆当前实体的数据成为一个新的数据。注意他不会复制实体上的脏标识信息和快照信息。
*
* @param dataEntity 要克隆的实体
* @param dt 当前实体的类型,不能为空。
* @param onlyDbProperty 是否仅赋值数据库映射的字段。默认为false
* @param clearPrimaryKeyValue 是否清除主键的值,默认为false
* @return 新的实体对象,将当前的数据复制到了新的实体。
*/
clone(dataEntity:any,dt:kd.bos.dataentity.metadata.IDataEntityType,onlyDbProperty:boolean,clearPrimaryKeyValue:boolean):any;
/**
* 返回类型的数据描述
* @param type 类类型
* @return 实体类型的描述
*/
getDataEntityType(type_arg:$.java.lang.Class):kd.bos.dataentity.metadata.IDataEntityType;
/**
* 判断两个集合是否相等
* @param x 集合1
* @param y 集合2
* @return 是否相等
*/
getListEquals(x:$.java.lang.Iterable,y:$.java.lang.Iterable):boolean;
/**
* 获取一个实体类的主键值。
* @param dataEntity 要获取主键值的实体
* @param throwOnError 如果实体为空或没有定义主键时是否抛出异常
* @return 主键值
*/
getPrimaryKeyValue(dataEntity:kd.bos.dataentity.entity.IDataEntityBase,throwOnError:boolean):any;
/**
* 列表同步操作方法
* 源的元素如果在目标列表中存在,将更新目标的数据,否则新增; 如果目标列表的元素在源列表中不存在,将从目标列表中删除。
* @param sourceList 源列表
* @param targetList 目标列表
* @param syncFunction 同步处理方法
* @param callUpdateFuncWhenCreated 默认为true
*/
sync(sourceList:$.java.util.List,targetList:$.java.util.List,syncFunction:IListSyncFunction,callUpdateFuncWhenCreated:boolean):void;
}
interface OrmUtils_C extends OrmUtils_S {
new():OrmUtils;
}
interface OrmUtils$ {
}
type OrmUtils_T = OrmUtils_S & OrmUtils$;
interface OrmUtils extends OrmUtils_T {
}
interface Validate_S {
exclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number):void;
/**
* Validate that the specified primitive value falls between the two
* exclusive values specified; otherwise, throws an exception.
*
* Validate.exclusiveBetween(0, 2, 1);
*
* @param start the exclusive start value
* @param end the exclusive end value
* @param value the value to validate
* @throws IllegalArgumentException if the value falls out of the boundaries
*
* @since 3.3
*/
exclusiveBetween(start:long,end:long,value:long):void;
/**
* Validate that the specified primitive value falls between the two
* exclusive values specified; otherwise, throws an exception.
*
* Validate.exclusiveBetween(0.1, 2.1, 1.1);
*
* @param start the exclusive start value
* @param end the exclusive end value
* @param value the value to validate
* @throws IllegalArgumentException if the value falls out of the boundaries
*
* @since 3.3
*/
exclusiveBetween(start:number,end:number,value:number):void;
/**
* Validate that the specified primitive value falls between the two
* exclusive values specified; otherwise, throws an exception with the
* specified message.
*
* Validate.exclusiveBetween(0, 2, 1, "Not in range");
*
* @param start the exclusive start value
* @param end the exclusive end value
* @param value the value to validate
* @param message the exception message if invalid, not null
*
* @throws IllegalArgumentException if the value falls outside the boundaries
*
* @since 3.3
*/
exclusiveBetween(start:long,end:long,value:long,message:string):void;
/**
* Validate that the specified primitive value falls between the two
* exclusive values specified; otherwise, throws an exception with the
* specified message.
*
* Validate.exclusiveBetween(0.1, 2.1, 1.1, "Not in range");
*
* @param start the exclusive start value
* @param end the exclusive end value
* @param value the value to validate
* @param message the exception message if invalid, not null
*
* @throws IllegalArgumentException if the value falls outside the boundaries
*
* @since 3.3
*/
exclusiveBetween(start:number,end:number,value:number,message:string):void;
exclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number,arg3:string,...arg4:any[]):void;
inclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number):void;
/**
* Validate that the specified primitive value falls between the two
* inclusive values specified; otherwise, throws an exception.
*
* Validate.inclusiveBetween(0, 2, 1);
*
* @param start the inclusive start value
* @param end the inclusive end value
* @param value the value to validate
* @throws IllegalArgumentException if the value falls outside the boundaries (inclusive)
*
* @since 3.3
*/
inclusiveBetween(start:long,end:long,value:long):void;
/**
* Validate that the specified primitive value falls between the two
* inclusive values specified; otherwise, throws an exception.
*
* Validate.inclusiveBetween(0.1, 2.1, 1.1);
*
* @param start the inclusive start value
* @param end the inclusive end value
* @param value the value to validate
* @throws IllegalArgumentException if the value falls outside the boundaries (inclusive)
*
* @since 3.3
*/
inclusiveBetween(start:number,end:number,value:number):void;
/**
* Validate that the specified primitive value falls between the two
* inclusive values specified; otherwise, throws an exception with the
* specified message.
*
* Validate.inclusiveBetween(0, 2, 1, "Not in range");
*
* @param start the inclusive start value
* @param end the inclusive end value
* @param value the value to validate
* @param message the exception message if invalid, not null
*
* @throws IllegalArgumentException if the value falls outside the boundaries
*
* @since 3.3
*/
inclusiveBetween(start:long,end:long,value:long,message:string):void;
/**
* Validate that the specified primitive value falls between the two
* inclusive values specified; otherwise, throws an exception with the
* specified message.
*
* Validate.inclusiveBetween(0.1, 2.1, 1.1, "Not in range");
*
* @param start the inclusive start value
* @param end the inclusive end value
* @param value the value to validate
* @param message the exception message if invalid, not null
*
* @throws IllegalArgumentException if the value falls outside the boundaries
*
* @since 3.3
*/
inclusiveBetween(start:number,end:number,value:number,message:string):void;
inclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number,arg3:string,...arg4:any[]):void;
/**
* Validates that the argument can be converted to the specified class, if not, throws an exception.
*
* This method is useful when validating that there will be no casting errors.
*
* Validate.isAssignableFrom(SuperClass.class, object.getClass());
*
* The message format of the exception is "Cannot assign {type} to {superType}"
*
* @param superType the class the class must be validated against, not null
* @param type the class to check, not null
* @throws IllegalArgumentException if type argument is not assignable to the specified superType
* @see #isAssignableFrom(Class, Class, String, Object...)
*
* @since 3.0
*/
isAssignableFrom(superType:$.java.lang.Class,type_arg:$.java.lang.Class):void;
/**
* Validates that the argument can be converted to the specified class, if not throws an exception.
*
* This method is useful when validating if there will be no casting errors.
*
* Validate.isAssignableFrom(SuperClass.class, object.getClass());
*
* The message of the exception is "The validated object can not be converted to the"
* followed by the name of the class and "class"
*
* @param superType the class the class must be validated against, not null
* @param type the class to check, not null
* @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param values the optional values for the formatted exception message, null array not recommended
* @throws IllegalArgumentException if argument can not be converted to the specified class
* @see #isAssignableFrom(Class, Class)
*/
isAssignableFrom(superType:$.java.lang.Class,type_arg:$.java.lang.Class,message:string,...values:any[]):void;
/**
* Validates that the argument is an instance of the specified class, if not throws an exception.
*
* This method is useful when validating according to an arbitrary class
*
* Validate.isInstanceOf(OkClass.class, object);
*
* The message of the exception is "Expected type: {type}, actual: {obj_type}"
*
* @param type the class the object must be validated against, not null
* @param obj the object to check, null throws an exception
* @throws IllegalArgumentException if argument is not of specified class
* @see #isInstanceOf(Class, Object, String, Object...)
*
* @since 3.0
*/
isInstanceOf(type_arg:$.java.lang.Class,obj:any):void;
/**
* Validate that the argument is an instance of the specified class; otherwise
* throwing an exception with the specified message. This method is useful when
* validating according to an arbitrary class
*
* Validate.isInstanceOf(OkClass.classs, object, "Wrong class, object is of class %s",
* object.getClass().getName());
*
* @param type the class the object must be validated against, not null
* @param obj the object to check, null throws an exception
* @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param values the optional values for the formatted exception message, null array not recommended
* @throws IllegalArgumentException if argument is not of specified class
* @see #isInstanceOf(Class, Object)
*
* @since 3.0
*/
isInstanceOf(type_arg:$.java.lang.Class,obj:any,message:string,...values:any[]):void;
/**
* Validate that the argument condition is {@code true}; otherwise
* throwing an exception. This method is useful when validating according
* to an arbitrary boolean expression, such as validating a
* primitive number or using your own custom validation expression.
*
*
* Validate.isTrue(i > 0);
* Validate.isTrue(myObject.isOk());
*
* The message of the exception is "The validated expression is
* false".
*
* @param expression the boolean expression to check
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean, String, long)
* @see #isTrue(boolean, String, double)
* @see #isTrue(boolean, String, Object...)
*/
isTrue(expression:boolean):void;
/**
* Validate that the argument condition is {@code true}; otherwise
* throwing an exception with the specified message. This method is useful when
* validating according to an arbitrary boolean expression, such as validating a
* primitive number or using your own custom validation expression.
*
* Validate.isTrue(i > 0.0, "The value must be greater than zero: %d", i);
*
* For performance reasons, the long value is passed as a separate parameter and
* appended to the exception message only in the case of an error.
*
* @param expression the boolean expression to check
* @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param value the value to append to the message when invalid
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean)
* @see #isTrue(boolean, String, double)
* @see #isTrue(boolean, String, Object...)
*/
isTrue(expression:boolean,message:string,value:long):void;
/**
* Validate that the argument condition is {@code true}; otherwise
* throwing an exception with the specified message. This method is useful when
* validating according to an arbitrary boolean expression, such as validating a
* primitive number or using your own custom validation expression.
*
* Validate.isTrue(d > 0.0, "The value must be greater than zero: %s", d);
*
* For performance reasons, the double value is passed as a separate parameter and
* appended to the exception message only in the case of an error.
*
* @param expression the boolean expression to check
* @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param value the value to append to the message when invalid
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean)
* @see #isTrue(boolean, String, long)
* @see #isTrue(boolean, String, Object...)
*/
isTrue(expression:boolean,message:string,value:number):void;
/**
* Validate that the argument condition is {@code true}; otherwise
* throwing an exception with the specified message. This method is useful when
* validating according to an arbitrary boolean expression, such as validating a
* primitive number or using your own custom validation expression.
*
*
* Validate.isTrue(i >= min && i <= max, "The value must be between %d and %d", min, max);
* Validate.isTrue(myObject.isOk(), "The object is not okay");
*
* @param expression the boolean expression to check
* @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param values the optional values for the formatted exception message, null array not recommended
* @throws IllegalArgumentException if expression is {@code false}
* @see #isTrue(boolean)
* @see #isTrue(boolean, String, long)
* @see #isTrue(boolean, String, double)
*/
isTrue(expression:boolean,message:string,...values:any[]):void;
/**
* Validate that the specified argument character sequence matches the specified regular
* expression pattern; otherwise throwing an exception.
*
* Validate.matchesPattern("hi", "[a-z]*");
*
* The syntax of the pattern is the one used in the {@link Pattern} class.
*
* @param input the character sequence to validate, not null
* @param pattern the regular expression pattern, not null
* @throws IllegalArgumentException if the character sequence does not match the pattern
* @see #matchesPattern(CharSequence, String, String, Object...)
*
* @since 3.0
*/
matchesPattern(input:$.java.lang.CharSequence,pattern:string):void;
/**
* Validate that the specified argument character sequence matches the specified regular
* expression pattern; otherwise throwing an exception with the specified message.
*
* Validate.matchesPattern("hi", "[a-z]*", "%s does not match %s", "hi" "[a-z]*");
*
* The syntax of the pattern is the one used in the {@link Pattern} class.
*
* @param input the character sequence to validate, not null
* @param pattern the regular expression pattern, not null
* @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param values the optional values for the formatted exception message, null array not recommended
* @throws IllegalArgumentException if the character sequence does not match the pattern
* @see #matchesPattern(CharSequence, String)
*
* @since 3.0
*/
matchesPattern(input:$.java.lang.CharSequence,pattern:string,message:string,...values:any[]):void;
noNullElements(arg0:any[]):any[];
noNullElements(arg0:$.java.lang.Iterable):$.java.lang.Iterable;
noNullElements(arg0:any[],arg1:string,...arg2:any[]):any[];
noNullElements(arg0:$.java.lang.Iterable,arg1:string,...arg2:any[]):$.java.lang.Iterable;
notBlank(arg0:$.java.lang.CharSequence):$.java.lang.CharSequence;
notBlank(arg0:$.java.lang.CharSequence,arg1:string,...arg2:any[]):$.java.lang.CharSequence;
notEmpty(arg0:any[]):any[];
notEmpty(arg0:$.java.util.Collection):$.java.util.Collection;
notEmpty(arg0:$.java.util.Map):$.java.util.Map;
notEmpty(arg0:$.java.lang.CharSequence):$.java.lang.CharSequence;
notEmpty(arg0:any[],arg1:string,...arg2:any[]):any[];
notEmpty(arg0:$.java.util.Collection,arg1:string,...arg2:any[]):$.java.util.Collection;
notEmpty(arg0:$.java.util.Map,arg1:string,...arg2:any[]):$.java.util.Map;
notEmpty(arg0:$.java.lang.CharSequence,arg1:string,...arg2:any[]):$.java.lang.CharSequence;
notNull(arg0:any):any;
notNull(arg0:any,arg1:string,...arg2:any[]):any;
validIndex(arg0:any[],arg1:number):any[];
validIndex(arg0:$.java.util.Collection,arg1:number):$.java.util.Collection;
validIndex(arg0:$.java.lang.CharSequence,arg1:number):$.java.lang.CharSequence;
validIndex(arg0:any[],arg1:number,arg2:string,...arg3:any[]):any[];
validIndex(arg0:$.java.lang.CharSequence,arg1:number,arg2:string,...arg3:any[]):$.java.lang.CharSequence;
validIndex(arg0:$.java.util.Collection,arg1:number,arg2:string,...arg3:any[]):$.java.util.Collection;
/**
* Validate that the stateful condition is {@code true}; otherwise
* throwing an exception. This method is useful when validating according
* to an arbitrary boolean expression, such as validating a
* primitive number or using your own custom validation expression.
*
*
* Validate.validState(field > 0);
* Validate.validState(this.isOk());
*
* The message of the exception is "The validated state is
* false".
*
* @param expression the boolean expression to check
* @throws IllegalStateException if expression is {@code false}
* @see #validState(boolean, String, Object...)
*
* @since 3.0
*/
validState(expression:boolean):void;
/**
* Validate that the stateful condition is {@code true}; otherwise
* throwing an exception with the specified message. This method is useful when
* validating according to an arbitrary boolean expression, such as validating a
* primitive number or using your own custom validation expression.
*
* Validate.validState(this.isOk(), "The state is not OK: %s", myObject);
*
* @param expression the boolean expression to check
* @param message the {@link String#format(String, Object...)} exception message if invalid, not null
* @param values the optional values for the formatted exception message, null array not recommended
* @throws IllegalStateException if expression is {@code false}
* @see #validState(boolean)
*
* @since 3.0
*/
validState(expression:boolean,message:string,...values:any[]):void;
}
interface Validate_C extends Validate_S {
/**
* Constructor. This class should not normally be instantiated.
*/
new():Validate;
}
interface Validate$ {
}
type Validate_T = Validate_S & Validate$;
interface Validate extends Validate_T {
}
interface StringUtils_S {
readonly CR:string;
readonly EMPTY:string;
readonly INDEX_NOT_FOUND:number;
readonly LF:string;
readonly SPACE:string;
/**
* Abbreviates a String using ellipses. This will turn
* "Now is the time for all good men" into "Now is the time for..."
*
* Specifically:
*
* - If the number of characters in {@code str} is less than or equal to
* {@code maxWidth}, return {@code str}.
* - Else abbreviate it to {@code (substring(str, 0, max-3) + "...")}.
* - If {@code maxWidth} is less than {@code 4}, throw an
* {@code IllegalArgumentException}.
* - In no case will it return a String of length greater than
* {@code maxWidth}.
*
*
*
* StringUtils.abbreviate(null, *) = null
* StringUtils.abbreviate("", 4) = ""
* StringUtils.abbreviate("abcdefg", 6) = "abc..."
* StringUtils.abbreviate("abcdefg", 7) = "abcdefg"
* StringUtils.abbreviate("abcdefg", 8) = "abcdefg"
* StringUtils.abbreviate("abcdefg", 4) = "a..."
* StringUtils.abbreviate("abcdefg", 3) = IllegalArgumentException
*
*
* @param str the String to check, may be null
* @param maxWidth maximum length of result String, must be at least 4
* @return abbreviated String, {@code null} if null String input
* @throws IllegalArgumentException if the width is too small
* @since 2.0
*/
abbreviate(str:string,maxWidth:number):string;
/**
* Abbreviates a String using ellipses. This will turn
* "Now is the time for all good men" into "...is the time for..."
*
* Works like {@code abbreviate(String, int)}, but allows you to specify
* a "left edge" offset. Note that this left edge is not necessarily going to
* be the leftmost character in the result, or the first character following the
* ellipses, but it will appear somewhere in the result.
*
*
In no case will it return a String of length greater than
* {@code maxWidth}.
*
*
* StringUtils.abbreviate(null, *, *) = null
* StringUtils.abbreviate("", 0, 4) = ""
* StringUtils.abbreviate("abcdefghijklmno", -1, 10) = "abcdefg..."
* StringUtils.abbreviate("abcdefghijklmno", 0, 10) = "abcdefg..."
* StringUtils.abbreviate("abcdefghijklmno", 1, 10) = "abcdefg..."
* StringUtils.abbreviate("abcdefghijklmno", 4, 10) = "abcdefg..."
* StringUtils.abbreviate("abcdefghijklmno", 5, 10) = "...fghi..."
* StringUtils.abbreviate("abcdefghijklmno", 6, 10) = "...ghij..."
* StringUtils.abbreviate("abcdefghijklmno", 8, 10) = "...ijklmno"
* StringUtils.abbreviate("abcdefghijklmno", 10, 10) = "...ijklmno"
* StringUtils.abbreviate("abcdefghijklmno", 12, 10) = "...ijklmno"
* StringUtils.abbreviate("abcdefghij", 0, 3) = IllegalArgumentException
* StringUtils.abbreviate("abcdefghij", 5, 6) = IllegalArgumentException
*
*
* @param str the String to check, may be null
* @param offset left edge of source String
* @param maxWidth maximum length of result String, must be at least 4
* @return abbreviated String, {@code null} if null String input
* @throws IllegalArgumentException if the width is too small
* @since 2.0
*/
abbreviate(str:string,offset:number,maxWidth:number):string;
/**
* Abbreviates a String to the length passed, replacing the middle characters with the supplied
* replacement String.
*
* This abbreviation only occurs if the following criteria is met:
*
* - Neither the String for abbreviation nor the replacement String are null or empty
* - The length to truncate to is less than the length of the supplied String
* - The length to truncate to is greater than 0
* - The abbreviated String will have enough room for the length supplied replacement String
* and the first and last characters of the supplied String for abbreviation
*
* Otherwise, the returned String will be the same as the supplied String for abbreviation.
*
*
*
* StringUtils.abbreviateMiddle(null, null, 0) = null
* StringUtils.abbreviateMiddle("abc", null, 0) = "abc"
* StringUtils.abbreviateMiddle("abc", ".", 0) = "abc"
* StringUtils.abbreviateMiddle("abc", ".", 3) = "abc"
* StringUtils.abbreviateMiddle("abcdef", ".", 4) = "ab.f"
*
*
* @param str the String to abbreviate, may be null
* @param middle the String to replace the middle characters with, may be null
* @param length the length to abbreviate {@code str} to.
* @return the abbreviated String if the above criteria is met, or the original String supplied for abbreviation.
* @since 2.5
*/
abbreviateMiddle(str:string,middle:string,length:number):string;
/**
* Appends the suffix to the end of the string if the string does not
* already end with any the suffixes.
*
*
* StringUtils.appendIfMissing(null, null) = null
* StringUtils.appendIfMissing("abc", null) = "abc"
* StringUtils.appendIfMissing("", "xyz") = "xyz"
* StringUtils.appendIfMissing("abc", "xyz") = "abcxyz"
* StringUtils.appendIfMissing("abcxyz", "xyz") = "abcxyz"
* StringUtils.appendIfMissing("abcXYZ", "xyz") = "abcXYZxyz"
*
* With additional suffixes,
*
* StringUtils.appendIfMissing(null, null, null) = null
* StringUtils.appendIfMissing("abc", null, null) = "abc"
* StringUtils.appendIfMissing("", "xyz", null) = "xyz"
* StringUtils.appendIfMissing("abc", "xyz", new CharSequence[]{null}) = "abcxyz"
* StringUtils.appendIfMissing("abc", "xyz", "") = "abc"
* StringUtils.appendIfMissing("abc", "xyz", "mno") = "abcxyz"
* StringUtils.appendIfMissing("abcxyz", "xyz", "mno") = "abcxyz"
* StringUtils.appendIfMissing("abcmno", "xyz", "mno") = "abcmno"
* StringUtils.appendIfMissing("abcXYZ", "xyz", "mno") = "abcXYZxyz"
* StringUtils.appendIfMissing("abcMNO", "xyz", "mno") = "abcMNOxyz"
*
*
* @param str The string.
* @param suffix The suffix to append to the end of the string.
* @param suffixes Additional suffixes that are valid terminators.
*
* @return A new String if suffix was appened, the same string otherwise.
*
* @since 3.2
*/
appendIfMissing(str:string,suffix:$.java.lang.CharSequence,...suffixes:$.java.lang.CharSequence[]):string;
/**
* Appends the suffix to the end of the string if the string does not
* already end, case insensitive, with any of the suffixes.
*
*
* StringUtils.appendIfMissingIgnoreCase(null, null) = null
* StringUtils.appendIfMissingIgnoreCase("abc", null) = "abc"
* StringUtils.appendIfMissingIgnoreCase("", "xyz") = "xyz"
* StringUtils.appendIfMissingIgnoreCase("abc", "xyz") = "abcxyz"
* StringUtils.appendIfMissingIgnoreCase("abcxyz", "xyz") = "abcxyz"
* StringUtils.appendIfMissingIgnoreCase("abcXYZ", "xyz") = "abcXYZ"
*
* With additional suffixes,
*
* StringUtils.appendIfMissingIgnoreCase(null, null, null) = null
* StringUtils.appendIfMissingIgnoreCase("abc", null, null) = "abc"
* StringUtils.appendIfMissingIgnoreCase("", "xyz", null) = "xyz"
* StringUtils.appendIfMissingIgnoreCase("abc", "xyz", new CharSequence[]{null}) = "abcxyz"
* StringUtils.appendIfMissingIgnoreCase("abc", "xyz", "") = "abc"
* StringUtils.appendIfMissingIgnoreCase("abc", "xyz", "mno") = "axyz"
* StringUtils.appendIfMissingIgnoreCase("abcxyz", "xyz", "mno") = "abcxyz"
* StringUtils.appendIfMissingIgnoreCase("abcmno", "xyz", "mno") = "abcmno"
* StringUtils.appendIfMissingIgnoreCase("abcXYZ", "xyz", "mno") = "abcXYZ"
* StringUtils.appendIfMissingIgnoreCase("abcMNO", "xyz", "mno") = "abcMNO"
*
*
* @param str The string.
* @param suffix The suffix to append to the end of the string.
* @param suffixes Additional suffixes that are valid terminators.
*
* @return A new String if suffix was appened, the same string otherwise.
*
* @since 3.2
*/
appendIfMissingIgnoreCase(str:string,suffix:$.java.lang.CharSequence,...suffixes:$.java.lang.CharSequence[]):string;
/**
* Capitalizes a String changing the first letter to title case as
* per {@link Character#toTitleCase(char)}. No other letters are changed.
*
* For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#capitalize(String)}.
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.capitalize(null) = null
* StringUtils.capitalize("") = ""
* StringUtils.capitalize("cat") = "Cat"
* StringUtils.capitalize("cAt") = "CAt"
*
*
* @param str the String to capitalize, may be null
* @return the capitalized String, {@code null} if null String input
* @see org.apache.commons.lang3.text.WordUtils#capitalize(String)
* @see #uncapitalize(String)
* @since 2.0
*/
capitalize(str:string):string;
/**
* Centers a String in a larger String of size {@code size}
* using the space character (' ').
*
* If the size is less than the String length, the String is returned.
* A {@code null} String returns {@code null}.
* A negative size is treated as zero.
*
* Equivalent to {@code center(str, size, " ")}.
*
*
* StringUtils.center(null, *) = null
* StringUtils.center("", 4) = " "
* StringUtils.center("ab", -1) = "ab"
* StringUtils.center("ab", 4) = " ab "
* StringUtils.center("abcd", 2) = "abcd"
* StringUtils.center("a", 4) = " a "
*
*
* @param str the String to center, may be null
* @param size the int size of new String, negative treated as zero
* @return centered String, {@code null} if null String input
*/
center(str:string,size:number):string;
/**
* Centers a String in a larger String of size {@code size}.
* Uses a supplied character as the value to pad the String with.
*
* If the size is less than the String length, the String is returned.
* A {@code null} String returns {@code null}.
* A negative size is treated as zero.
*
*
* StringUtils.center(null, *, *) = null
* StringUtils.center("", 4, ' ') = " "
* StringUtils.center("ab", -1, ' ') = "ab"
* StringUtils.center("ab", 4, ' ') = " ab "
* StringUtils.center("abcd", 2, ' ') = "abcd"
* StringUtils.center("a", 4, ' ') = " a "
* StringUtils.center("a", 4, 'y') = "yayy"
*
*
* @param str the String to center, may be null
* @param size the int size of new String, negative treated as zero
* @param padChar the character to pad the new String with
* @return centered String, {@code null} if null String input
* @since 2.0
*/
center(str:string,size:number,padChar:string):string;
/**
* Centers a String in a larger String of size {@code size}.
* Uses a supplied String as the value to pad the String with.
*
* If the size is less than the String length, the String is returned.
* A {@code null} String returns {@code null}.
* A negative size is treated as zero.
*
*
* StringUtils.center(null, *, *) = null
* StringUtils.center("", 4, " ") = " "
* StringUtils.center("ab", -1, " ") = "ab"
* StringUtils.center("ab", 4, " ") = " ab "
* StringUtils.center("abcd", 2, " ") = "abcd"
* StringUtils.center("a", 4, " ") = " a "
* StringUtils.center("a", 4, "yz") = "yayz"
* StringUtils.center("abc", 7, null) = " abc "
* StringUtils.center("abc", 7, "") = " abc "
*
*
* @param str the String to center, may be null
* @param size the int size of new String, negative treated as zero
* @param padStr the String to pad the new String with, must not be null or empty
* @return centered String, {@code null} if null String input
* @throws IllegalArgumentException if padStr is {@code null} or empty
*/
center(str:string,size:number,padStr:string):string;
cleanChar(c:string):string;
/**
* 对输入文件路劲参数进行过滤
*
* @param str
* @return cleanString
*/
cleanString(str:string):string;
/**
* Checks if CharSequence contains a search CharSequence, handling {@code null}.
* This method uses {@link String#indexOf(String)} if possible.
*
* A {@code null} CharSequence will return {@code false}.
*
*
* StringUtils.contains(null, *) = false
* StringUtils.contains(*, null) = false
* StringUtils.contains("", "") = true
* StringUtils.contains("abc", "") = true
* StringUtils.contains("abc", "a") = true
* StringUtils.contains("abc", "z") = false
*
*
* @param seq the CharSequence to check, may be null
* @param searchSeq the CharSequence to find, may be null
* @return true if the CharSequence contains the search CharSequence,
* false if not or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from contains(String, String) to contains(CharSequence, CharSequence)
*/
contains(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence):boolean;
/**
* Checks if CharSequence contains a search character, handling {@code null}.
* This method uses {@link String#indexOf(int)} if possible.
*
* A {@code null} or empty ("") CharSequence will return {@code false}.
*
*
* StringUtils.contains(null, *) = false
* StringUtils.contains("", *) = false
* StringUtils.contains("abc", 'a') = true
* StringUtils.contains("abc", 'z') = false
*
*
* @param seq the CharSequence to check, may be null
* @param searchChar the character to find
* @return true if the CharSequence contains the search character,
* false if not or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from contains(String, int) to contains(CharSequence, int)
*/
contains(seq:$.java.lang.CharSequence,searchChar:number):boolean;
/**
* Checks if CharSequence contains a search CharSequence irrespective of case,
* handling {@code null}. Case-insensitivity is defined as by
* {@link String#equalsIgnoreCase(String)}.
*
*
A {@code null} CharSequence will return {@code false}.
*
*
* StringUtils.contains(null, *) = false
* StringUtils.contains(*, null) = false
* StringUtils.contains("", "") = true
* StringUtils.contains("abc", "") = true
* StringUtils.contains("abc", "a") = true
* StringUtils.contains("abc", "z") = false
* StringUtils.contains("abc", "A") = true
* StringUtils.contains("abc", "Z") = false
*
*
* @param str the CharSequence to check, may be null
* @param searchStr the CharSequence to find, may be null
* @return true if the CharSequence contains the search CharSequence irrespective of
* case or false if not or {@code null} string input
* @since 3.0 Changed signature from containsIgnoreCase(String, String) to containsIgnoreCase(CharSequence, CharSequence)
*/
containsIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence):boolean;
/**
* Checks that the CharSequence does not contain certain characters.
*
* A {@code null} CharSequence will return {@code true}.
* A {@code null} invalid character array will return {@code true}.
* An empty CharSequence (length()=0) always returns true.
*
*
* StringUtils.containsNone(null, *) = true
* StringUtils.containsNone(*, null) = true
* StringUtils.containsNone("", *) = true
* StringUtils.containsNone("ab", '') = true
* StringUtils.containsNone("abab", 'xyz') = true
* StringUtils.containsNone("ab1", 'xyz') = true
* StringUtils.containsNone("abz", 'xyz') = false
*
*
* @param cs the CharSequence to check, may be null
* @param searchChars an array of invalid chars, may be null
* @return true if it contains none of the invalid chars, or is null
* @since 2.0
* @since 3.0 Changed signature from containsNone(String, char[]) to containsNone(CharSequence, char...)
*/
containsNone(cs:$.java.lang.CharSequence,...searchChars:string[]):boolean;
/**
* Checks that the CharSequence does not contain certain characters.
*
* A {@code null} CharSequence will return {@code true}.
* A {@code null} invalid character array will return {@code true}.
* An empty String ("") always returns true.
*
*
* StringUtils.containsNone(null, *) = true
* StringUtils.containsNone(*, null) = true
* StringUtils.containsNone("", *) = true
* StringUtils.containsNone("ab", "") = true
* StringUtils.containsNone("abab", "xyz") = true
* StringUtils.containsNone("ab1", "xyz") = true
* StringUtils.containsNone("abz", "xyz") = false
*
*
* @param cs the CharSequence to check, may be null
* @param invalidChars a String of invalid chars, may be null
* @return true if it contains none of the invalid chars, or is null
* @since 2.0
* @since 3.0 Changed signature from containsNone(String, String) to containsNone(CharSequence, String)
*/
containsNone(cs:$.java.lang.CharSequence,invalidChars:string):boolean;
containsWhitespace(seq:$.java.lang.CharSequence):boolean;
/**
* Counts how many times the char appears in the given string.
*
* A {@code null} or empty ("") String input returns {@code 0}.
*
*
* StringUtils.countMatches(null, *) = 0
* StringUtils.countMatches("", *) = 0
* StringUtils.countMatches("abba", 0) = 0
* StringUtils.countMatches("abba", 'a') = 2
* StringUtils.countMatches("abba", 'b') = 2
* StringUtils.countMatches("abba", 'x') = 0
*
*
* @param str the CharSequence to check, may be null
* @param ch the char to count
* @return the number of occurrences, 0 if the CharSequence is {@code null}
* @since 3.4
*/
countMatches(str:$.java.lang.CharSequence,ch:string):number;
/**
* Counts how many times the substring appears in the larger string.
*
* A {@code null} or empty ("") String input returns {@code 0}.
*
*
* StringUtils.countMatches(null, *) = 0
* StringUtils.countMatches("", *) = 0
* StringUtils.countMatches("abba", null) = 0
* StringUtils.countMatches("abba", "") = 0
* StringUtils.countMatches("abba", "a") = 2
* StringUtils.countMatches("abba", "ab") = 1
* StringUtils.countMatches("abba", "xxx") = 0
*
*
* @param str the CharSequence to check, may be null
* @param sub the substring to count, may be null
* @return the number of occurrences, 0 if either CharSequence is {@code null}
* @since 3.0 Changed signature from countMatches(String, String) to countMatches(CharSequence, CharSequence)
*/
countMatches(str:$.java.lang.CharSequence,sub:$.java.lang.CharSequence):number;
defaultIfBlank(arg0:$.java.lang.CharSequence,arg1:$.java.lang.CharSequence):$.java.lang.CharSequence;
defaultIfEmpty(arg0:$.java.lang.CharSequence,arg1:$.java.lang.CharSequence):$.java.lang.CharSequence;
/**
* Returns either the passed in String,
* or if the String is {@code null}, an empty String ("").
*
*
* StringUtils.defaultString(null) = ""
* StringUtils.defaultString("") = ""
* StringUtils.defaultString("bat") = "bat"
*
*
* @see ObjectUtils#toString(Object)
* @see String#valueOf(Object)
* @param str the String to check, may be null
* @return the passed in String, or the empty String if it
* was {@code null}
*/
defaultString(str:string):string;
/**
* Returns either the passed in String, or if the String is
* {@code null}, the value of {@code defaultStr}.
*
*
* StringUtils.defaultString(null, "NULL") = "NULL"
* StringUtils.defaultString("", "NULL") = ""
* StringUtils.defaultString("bat", "NULL") = "bat"
*
*
* @see ObjectUtils#toString(Object,String)
* @see String#valueOf(Object)
* @param str the String to check, may be null
* @param defaultStr the default String to return
* if the input is {@code null}, may be null
* @return the passed in String, or the default if it was {@code null}
*/
defaultString(str:string,defaultStr:string):string;
/**
* Deletes all whitespaces from a String as defined by
* {@link Character#isWhitespace(char)}.
*
*
* StringUtils.deleteWhitespace(null) = null
* StringUtils.deleteWhitespace("") = ""
* StringUtils.deleteWhitespace("abc") = "abc"
* StringUtils.deleteWhitespace(" ab c ") = "abc"
*
*
* @param str the String to delete whitespace from, may be null
* @return the String without whitespaces, {@code null} if null String input
*/
deleteWhitespace(str:string):string;
/**
* Compares two Strings, and returns the portion where they differ.
* More precisely, return the remainder of the second String,
* starting from where it's different from the first. This means that
* the difference between "abc" and "ab" is the empty String and not "c".
*
* For example,
* {@code difference("i am a machine", "i am a robot") -> "robot"}.
*
*
* StringUtils.difference(null, null) = null
* StringUtils.difference("", "") = ""
* StringUtils.difference("", "abc") = "abc"
* StringUtils.difference("abc", "") = ""
* StringUtils.difference("abc", "abc") = ""
* StringUtils.difference("abc", "ab") = ""
* StringUtils.difference("ab", "abxyz") = "xyz"
* StringUtils.difference("abcde", "abxyz") = "xyz"
* StringUtils.difference("abcde", "xyz") = "xyz"
*
*
* @param str1 the first String, may be null
* @param str2 the second String, may be null
* @return the portion of str2 where it differs from str1; returns the
* empty String if they are equal
* @see #indexOfDifference(CharSequence,CharSequence)
* @since 2.0
*/
difference(str1:string,str2:string):string;
/**
* Check if a CharSequence ends with a specified suffix.
*
* {@code null}s are handled without exceptions. Two {@code null}
* references are considered to be equal. The comparison is case sensitive.
*
*
* StringUtils.endsWith(null, null) = true
* StringUtils.endsWith(null, "def") = false
* StringUtils.endsWith("abcdef", null) = false
* StringUtils.endsWith("abcdef", "def") = true
* StringUtils.endsWith("ABCDEF", "def") = false
* StringUtils.endsWith("ABCDEF", "cde") = false
*
*
* @see java.lang.String#endsWith(String)
* @param str the CharSequence to check, may be null
* @param suffix the suffix to find, may be null
* @return {@code true} if the CharSequence ends with the suffix, case sensitive, or
* both {@code null}
* @since 2.4
* @since 3.0 Changed signature from endsWith(String, String) to endsWith(CharSequence, CharSequence)
*/
endsWith(str:$.java.lang.CharSequence,suffix:$.java.lang.CharSequence):boolean;
/**
* Check if a CharSequence ends with any of an array of specified strings.
*
*
* StringUtils.endsWithAny(null, null) = false
* StringUtils.endsWithAny(null, new String[] {"abc"}) = false
* StringUtils.endsWithAny("abcxyz", null) = false
* StringUtils.endsWithAny("abcxyz", new String[] {""}) = true
* StringUtils.endsWithAny("abcxyz", new String[] {"xyz"}) = true
* StringUtils.endsWithAny("abcxyz", new String[] {null, "xyz", "abc"}) = true
*
*
* @param string the CharSequence to check, may be null
* @param searchStrings the CharSequences to find, may be null or empty
* @return {@code true} if the CharSequence ends with any of the the prefixes, case insensitive, or
* both {@code null}
* @since 3.0
*/
endsWithAny(string_arg:$.java.lang.CharSequence,...searchStrings:$.java.lang.CharSequence[]):boolean;
/**
* Case insensitive check if a CharSequence ends with a specified suffix.
*
* {@code null}s are handled without exceptions. Two {@code null}
* references are considered to be equal. The comparison is case insensitive.
*
*
* StringUtils.endsWithIgnoreCase(null, null) = true
* StringUtils.endsWithIgnoreCase(null, "def") = false
* StringUtils.endsWithIgnoreCase("abcdef", null) = false
* StringUtils.endsWithIgnoreCase("abcdef", "def") = true
* StringUtils.endsWithIgnoreCase("ABCDEF", "def") = true
* StringUtils.endsWithIgnoreCase("ABCDEF", "cde") = false
*
*
* @see java.lang.String#endsWith(String)
* @param str the CharSequence to check, may be null
* @param suffix the suffix to find, may be null
* @return {@code true} if the CharSequence ends with the suffix, case insensitive, or
* both {@code null}
* @since 2.4
* @since 3.0 Changed signature from endsWithIgnoreCase(String, String) to endsWithIgnoreCase(CharSequence, CharSequence)
*/
endsWithIgnoreCase(str:$.java.lang.CharSequence,suffix:$.java.lang.CharSequence):boolean;
/**
* Compares two CharSequences, returning {@code true} if they represent
* equal sequences of characters.
*
* {@code null}s are handled without exceptions. Two {@code null}
* references are considered to be equal. The comparison is case sensitive.
*
*
* StringUtils.equals(null, null) = true
* StringUtils.equals(null, "abc") = false
* StringUtils.equals("abc", null) = false
* StringUtils.equals("abc", "abc") = true
* StringUtils.equals("abc", "ABC") = false
*
*
* @see Object#equals(Object)
* @param cs1 the first CharSequence, may be {@code null}
* @param cs2 the second CharSequence, may be {@code null}
* @return {@code true} if the CharSequences are equal (case-sensitive), or both {@code null}
* @since 3.0 Changed signature from equals(String, String) to equals(CharSequence, CharSequence)
*/
equals(cs1:$.java.lang.CharSequence,cs2:$.java.lang.CharSequence):boolean;
/**
* Compares two CharSequences, returning {@code true} if they represent
* equal sequences of characters, ignoring case.
*
* {@code null}s are handled without exceptions. Two {@code null}
* references are considered equal. Comparison is case insensitive.
*
*
* StringUtils.equalsIgnoreCase(null, null) = true
* StringUtils.equalsIgnoreCase(null, "abc") = false
* StringUtils.equalsIgnoreCase("abc", null) = false
* StringUtils.equalsIgnoreCase("abc", "abc") = true
* StringUtils.equalsIgnoreCase("abc", "ABC") = true
*
*
* @param str1 the first CharSequence, may be null
* @param str2 the second CharSequence, may be null
* @return {@code true} if the CharSequence are equal, case insensitive, or
* both {@code null}
* @since 3.0 Changed signature from equalsIgnoreCase(String, String) to equalsIgnoreCase(CharSequence, CharSequence)
*/
equalsIgnoreCase(str1:$.java.lang.CharSequence,str2:$.java.lang.CharSequence):boolean;
/**
* Compares all Strings in an array and returns the initial sequence of
* characters that is common to all of them.
*
* For example,
* getCommonPrefix(new String[] {"i am a machine", "i am a robot"}) -> "i am a "
*
*
* StringUtils.getCommonPrefix(null) = ""
* StringUtils.getCommonPrefix(new String[] {}) = ""
* StringUtils.getCommonPrefix(new String[] {"abc"}) = "abc"
* StringUtils.getCommonPrefix(new String[] {null, null}) = ""
* StringUtils.getCommonPrefix(new String[] {"", ""}) = ""
* StringUtils.getCommonPrefix(new String[] {"", null}) = ""
* StringUtils.getCommonPrefix(new String[] {"abc", null, null}) = ""
* StringUtils.getCommonPrefix(new String[] {null, null, "abc"}) = ""
* StringUtils.getCommonPrefix(new String[] {"", "abc"}) = ""
* StringUtils.getCommonPrefix(new String[] {"abc", ""}) = ""
* StringUtils.getCommonPrefix(new String[] {"abc", "abc"}) = "abc"
* StringUtils.getCommonPrefix(new String[] {"abc", "a"}) = "a"
* StringUtils.getCommonPrefix(new String[] {"ab", "abxyz"}) = "ab"
* StringUtils.getCommonPrefix(new String[] {"abcde", "abxyz"}) = "ab"
* StringUtils.getCommonPrefix(new String[] {"abcde", "xyz"}) = ""
* StringUtils.getCommonPrefix(new String[] {"xyz", "abcde"}) = ""
* StringUtils.getCommonPrefix(new String[] {"i am a machine", "i am a robot"}) = "i am a "
*
*
* @param strs array of String objects, entries may be null
* @return the initial sequence of characters that are common to all Strings
* in the array; empty String if the array is null, the elements are all null
* or if there is no common prefix.
* @since 2.4
*/
getCommonPrefix(...strs:string[]):string;
/**
* Find the Fuzzy Distance which indicates the similarity score between two Strings.
*
* This string matching algorithm is similar to the algorithms of editors such as Sublime Text,
* TextMate, Atom and others. One point is given for every matched character. Subsequent
* matches yield two bonus points. A higher score indicates a higher similarity.
*
*
* StringUtils.getFuzzyDistance(null, null, null) = IllegalArgumentException
* StringUtils.getFuzzyDistance("", "", Locale.ENGLISH) = 0
* StringUtils.getFuzzyDistance("Workshop", "b", Locale.ENGLISH) = 0
* StringUtils.getFuzzyDistance("Room", "o", Locale.ENGLISH) = 1
* StringUtils.getFuzzyDistance("Workshop", "w", Locale.ENGLISH) = 1
* StringUtils.getFuzzyDistance("Workshop", "ws", Locale.ENGLISH) = 2
* StringUtils.getFuzzyDistance("Workshop", "wo", Locale.ENGLISH) = 4
* StringUtils.getFuzzyDistance("Apache Software Foundation", "asf", Locale.ENGLISH) = 3
*
*
* @param term a full term that should be matched against, must not be null
* @param query the query that will be matched against a term, must not be null
* @param locale This string matching logic is case insensitive. A locale is necessary to normalize
* both Strings to lower case.
* @return result score
* @throws IllegalArgumentException if either String input {@code null} or Locale input {@code null}
* @since 3.4
*/
getFuzzyDistance(term:$.java.lang.CharSequence,query:$.java.lang.CharSequence,locale:$.java.util.Locale):number;
/**
* Find the Jaro Winkler Distance which indicates the similarity score between two Strings.
*
* The Jaro measure is the weighted sum of percentage of matched characters from each file and transposed characters.
* Winkler increased this measure for matching initial characters.
*
* This implementation is based on the Jaro Winkler similarity algorithm
* from http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance.
*
*
* StringUtils.getJaroWinklerDistance(null, null) = IllegalArgumentException
* StringUtils.getJaroWinklerDistance("","") = 0.0
* StringUtils.getJaroWinklerDistance("","a") = 0.0
* StringUtils.getJaroWinklerDistance("aaapppp", "") = 0.0
* StringUtils.getJaroWinklerDistance("frog", "fog") = 0.93
* StringUtils.getJaroWinklerDistance("fly", "ant") = 0.0
* StringUtils.getJaroWinklerDistance("elephant", "hippo") = 0.44
* StringUtils.getJaroWinklerDistance("hippo", "elephant") = 0.44
* StringUtils.getJaroWinklerDistance("hippo", "zzzzzzzz") = 0.0
* StringUtils.getJaroWinklerDistance("hello", "hallo") = 0.88
* StringUtils.getJaroWinklerDistance("ABC Corporation", "ABC Corp") = 0.91
* StringUtils.getJaroWinklerDistance("D N H Enterprises Inc", "D & H Enterprises, Inc.") = 0.93
* StringUtils.getJaroWinklerDistance("My Gym Children's Fitness Center", "My Gym. Childrens Fitness") = 0.94
* StringUtils.getJaroWinklerDistance("PENNSYLVANIA", "PENNCISYLVNIA") = 0.9
*
*
* @param first the first String, must not be null
* @param second the second String, must not be null
* @return result distance
* @throws IllegalArgumentException if either String input {@code null}
* @since 3.3
*/
getJaroWinklerDistance(first:$.java.lang.CharSequence,second:$.java.lang.CharSequence):number;
/**
* Find the Levenshtein distance between two Strings.
*
* This is the number of changes needed to change one String into
* another, where each change is a single character modification (deletion,
* insertion or substitution).
*
* The previous implementation of the Levenshtein distance algorithm
* was from http://www.merriampark.com/ld.htm
*
* Chas Emerick has written an implementation in Java, which avoids an OutOfMemoryError
* which can occur when my Java implementation is used with very large strings.
* This implementation of the Levenshtein distance algorithm
* is from http://www.merriampark.com/ldjava.htm
*
*
* StringUtils.getLevenshteinDistance(null, *) = IllegalArgumentException
* StringUtils.getLevenshteinDistance(*, null) = IllegalArgumentException
* StringUtils.getLevenshteinDistance("","") = 0
* StringUtils.getLevenshteinDistance("","a") = 1
* StringUtils.getLevenshteinDistance("aaapppp", "") = 7
* StringUtils.getLevenshteinDistance("frog", "fog") = 1
* StringUtils.getLevenshteinDistance("fly", "ant") = 3
* StringUtils.getLevenshteinDistance("elephant", "hippo") = 7
* StringUtils.getLevenshteinDistance("hippo", "elephant") = 7
* StringUtils.getLevenshteinDistance("hippo", "zzzzzzzz") = 8
* StringUtils.getLevenshteinDistance("hello", "hallo") = 1
*
*
* @param s the first String, must not be null
* @param t the second String, must not be null
* @return result distance
* @throws IllegalArgumentException if either String input {@code null}
* @since 3.0 Changed signature from getLevenshteinDistance(String, String) to
* getLevenshteinDistance(CharSequence, CharSequence)
*/
getLevenshteinDistance(s:$.java.lang.CharSequence,t:$.java.lang.CharSequence):number;
/**
* Find the Levenshtein distance between two Strings if it's less than or equal to a given
* threshold.
*
* This is the number of changes needed to change one String into
* another, where each change is a single character modification (deletion,
* insertion or substitution).
*
* This implementation follows from Algorithms on Strings, Trees and Sequences by Dan Gusfield
* and Chas Emerick's implementation of the Levenshtein distance algorithm from
* http://www.merriampark.com/ld.htm
*
*
* StringUtils.getLevenshteinDistance(null, *, *) = IllegalArgumentException
* StringUtils.getLevenshteinDistance(*, null, *) = IllegalArgumentException
* StringUtils.getLevenshteinDistance(*, *, -1) = IllegalArgumentException
* StringUtils.getLevenshteinDistance("","", 0) = 0
* StringUtils.getLevenshteinDistance("aaapppp", "", 8) = 7
* StringUtils.getLevenshteinDistance("aaapppp", "", 7) = 7
* StringUtils.getLevenshteinDistance("aaapppp", "", 6)) = -1
* StringUtils.getLevenshteinDistance("elephant", "hippo", 7) = 7
* StringUtils.getLevenshteinDistance("elephant", "hippo", 6) = -1
* StringUtils.getLevenshteinDistance("hippo", "elephant", 7) = 7
* StringUtils.getLevenshteinDistance("hippo", "elephant", 6) = -1
*
*
* @param s the first String, must not be null
* @param t the second String, must not be null
* @param threshold the target threshold, must not be negative
* @return result distance, or {@code -1} if the distance would be greater than the threshold
* @throws IllegalArgumentException if either String input {@code null} or negative threshold
*/
getLevenshteinDistance(s:$.java.lang.CharSequence,t:$.java.lang.CharSequence,threshold:number):number;
/**
* Finds the first index within a CharSequence, handling {@code null}.
* This method uses {@link String#indexOf(String, int)} if possible.
*
* A {@code null} CharSequence will return {@code -1}.
*
*
* StringUtils.indexOf(null, *) = -1
* StringUtils.indexOf(*, null) = -1
* StringUtils.indexOf("", "") = 0
* StringUtils.indexOf("", *) = -1 (except when * = "")
* StringUtils.indexOf("aabaabaa", "a") = 0
* StringUtils.indexOf("aabaabaa", "b") = 2
* StringUtils.indexOf("aabaabaa", "ab") = 1
* StringUtils.indexOf("aabaabaa", "") = 0
*
*
* @param seq the CharSequence to check, may be null
* @param searchSeq the CharSequence to find, may be null
* @return the first index of the search CharSequence,
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from indexOf(String, String) to indexOf(CharSequence, CharSequence)
*/
indexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence):number;
/**
* Finds the first index within a CharSequence, handling {@code null}.
* This method uses {@link String#indexOf(int, int)} if possible.
*
* A {@code null} or empty ("") CharSequence will return {@code INDEX_NOT_FOUND (-1)}.
*
*
* StringUtils.indexOf(null, *) = -1
* StringUtils.indexOf("", *) = -1
* StringUtils.indexOf("aabaabaa", 'a') = 0
* StringUtils.indexOf("aabaabaa", 'b') = 2
*
*
* @param seq the CharSequence to check, may be null
* @param searchChar the character to find
* @return the first index of the search character,
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from indexOf(String, int) to indexOf(CharSequence, int)
*/
indexOf(seq:$.java.lang.CharSequence,searchChar:number):number;
/**
* Finds the first index within a CharSequence, handling {@code null}.
* This method uses {@link String#indexOf(String, int)} if possible.
*
* A {@code null} CharSequence will return {@code -1}.
* A negative start position is treated as zero.
* An empty ("") search CharSequence always matches.
* A start position greater than the string length only matches
* an empty search CharSequence.
*
*
* StringUtils.indexOf(null, *, *) = -1
* StringUtils.indexOf(*, null, *) = -1
* StringUtils.indexOf("", "", 0) = 0
* StringUtils.indexOf("", *, 0) = -1 (except when * = "")
* StringUtils.indexOf("aabaabaa", "a", 0) = 0
* StringUtils.indexOf("aabaabaa", "b", 0) = 2
* StringUtils.indexOf("aabaabaa", "ab", 0) = 1
* StringUtils.indexOf("aabaabaa", "b", 3) = 5
* StringUtils.indexOf("aabaabaa", "b", 9) = -1
* StringUtils.indexOf("aabaabaa", "b", -1) = 2
* StringUtils.indexOf("aabaabaa", "", 2) = 2
* StringUtils.indexOf("abc", "", 9) = 3
*
*
* @param seq the CharSequence to check, may be null
* @param searchSeq the CharSequence to find, may be null
* @param startPos the start position, negative treated as zero
* @return the first index of the search CharSequence (always ≥ startPos),
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from indexOf(String, String, int) to indexOf(CharSequence, CharSequence, int)
*/
indexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence,startPos:number):number;
/**
* Finds the first index within a CharSequence from a start position,
* handling {@code null}.
* This method uses {@link String#indexOf(int, int)} if possible.
*
* A {@code null} or empty ("") CharSequence will return {@code (INDEX_NOT_FOUND) -1}.
* A negative start position is treated as zero.
* A start position greater than the string length returns {@code -1}.
*
*
* StringUtils.indexOf(null, *, *) = -1
* StringUtils.indexOf("", *, *) = -1
* StringUtils.indexOf("aabaabaa", 'b', 0) = 2
* StringUtils.indexOf("aabaabaa", 'b', 3) = 5
* StringUtils.indexOf("aabaabaa", 'b', 9) = -1
* StringUtils.indexOf("aabaabaa", 'b', -1) = 2
*
*
* @param seq the CharSequence to check, may be null
* @param searchChar the character to find
* @param startPos the start position, negative treated as zero
* @return the first index of the search character (always ≥ startPos),
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from indexOf(String, int, int) to indexOf(CharSequence, int, int)
*/
indexOf(seq:$.java.lang.CharSequence,searchChar:number,startPos:number):number;
/**
* Find the first index of any of a set of potential substrings.
*
* A {@code null} CharSequence will return {@code -1}.
* A {@code null} or zero length search array will return {@code -1}.
* A {@code null} search array entry will be ignored, but a search
* array containing "" will return {@code 0} if {@code str} is not
* null. This method uses {@link String#indexOf(String)} if possible.
*
*
* StringUtils.indexOfAny(null, *) = -1
* StringUtils.indexOfAny(*, null) = -1
* StringUtils.indexOfAny(*, []) = -1
* StringUtils.indexOfAny("zzabyycdxx", ["ab","cd"]) = 2
* StringUtils.indexOfAny("zzabyycdxx", ["cd","ab"]) = 2
* StringUtils.indexOfAny("zzabyycdxx", ["mn","op"]) = -1
* StringUtils.indexOfAny("zzabyycdxx", ["zab","aby"]) = 1
* StringUtils.indexOfAny("zzabyycdxx", [""]) = 0
* StringUtils.indexOfAny("", [""]) = 0
* StringUtils.indexOfAny("", ["a"]) = -1
*
*
* @param str the CharSequence to check, may be null
* @param searchStrs the CharSequences to search for, may be null
* @return the first index of any of the searchStrs in str, -1 if no match
* @since 3.0 Changed signature from indexOfAny(String, String[]) to indexOfAny(CharSequence, CharSequence...)
*/
indexOfAny(str:$.java.lang.CharSequence,...searchStrs:$.java.lang.CharSequence[]):number;
/**
* Search a CharSequence to find the first index of any
* character not in the given set of characters.
*
* A {@code null} CharSequence will return {@code -1}.
* A {@code null} or empty search string will return {@code -1}.
*
*
* StringUtils.indexOfAnyBut(null, *) = -1
* StringUtils.indexOfAnyBut("", *) = -1
* StringUtils.indexOfAnyBut(*, null) = -1
* StringUtils.indexOfAnyBut(*, "") = -1
* StringUtils.indexOfAnyBut("zzabyycdxx", "za") = 3
* StringUtils.indexOfAnyBut("zzabyycdxx", "") = -1
* StringUtils.indexOfAnyBut("aba","ab") = -1
*
*
* @param seq the CharSequence to check, may be null
* @param searchChars the chars to search for, may be null
* @return the index of any of the chars, -1 if no match or null input
* @since 2.0
* @since 3.0 Changed signature from indexOfAnyBut(String, String) to indexOfAnyBut(CharSequence, CharSequence)
*/
indexOfAnyBut(seq:$.java.lang.CharSequence,searchChars:$.java.lang.CharSequence):number;
/**
* Compares all CharSequences in an array and returns the index at which the
* CharSequences begin to differ.
*
* For example,
* indexOfDifference(new String[] {"i am a machine", "i am a robot"}) -> 7
*
*
* StringUtils.indexOfDifference(null) = -1
* StringUtils.indexOfDifference(new String[] {}) = -1
* StringUtils.indexOfDifference(new String[] {"abc"}) = -1
* StringUtils.indexOfDifference(new String[] {null, null}) = -1
* StringUtils.indexOfDifference(new String[] {"", ""}) = -1
* StringUtils.indexOfDifference(new String[] {"", null}) = 0
* StringUtils.indexOfDifference(new String[] {"abc", null, null}) = 0
* StringUtils.indexOfDifference(new String[] {null, null, "abc"}) = 0
* StringUtils.indexOfDifference(new String[] {"", "abc"}) = 0
* StringUtils.indexOfDifference(new String[] {"abc", ""}) = 0
* StringUtils.indexOfDifference(new String[] {"abc", "abc"}) = -1
* StringUtils.indexOfDifference(new String[] {"abc", "a"}) = 1
* StringUtils.indexOfDifference(new String[] {"ab", "abxyz"}) = 2
* StringUtils.indexOfDifference(new String[] {"abcde", "abxyz"}) = 2
* StringUtils.indexOfDifference(new String[] {"abcde", "xyz"}) = 0
* StringUtils.indexOfDifference(new String[] {"xyz", "abcde"}) = 0
* StringUtils.indexOfDifference(new String[] {"i am a machine", "i am a robot"}) = 7
*
*
* @param css array of CharSequences, entries may be null
* @return the index where the strings begin to differ; -1 if they are all equal
* @since 2.4
* @since 3.0 Changed signature from indexOfDifference(String...) to indexOfDifference(CharSequence...)
*/
indexOfDifference(...css:$.java.lang.CharSequence[]):number;
/**
* Compares two CharSequences, and returns the index at which the
* CharSequences begin to differ.
*
* For example,
* {@code indexOfDifference("i am a machine", "i am a robot") -> 7}
*
*
* StringUtils.indexOfDifference(null, null) = -1
* StringUtils.indexOfDifference("", "") = -1
* StringUtils.indexOfDifference("", "abc") = 0
* StringUtils.indexOfDifference("abc", "") = 0
* StringUtils.indexOfDifference("abc", "abc") = -1
* StringUtils.indexOfDifference("ab", "abxyz") = 2
* StringUtils.indexOfDifference("abcde", "abxyz") = 2
* StringUtils.indexOfDifference("abcde", "xyz") = 0
*
*
* @param cs1 the first CharSequence, may be null
* @param cs2 the second CharSequence, may be null
* @return the index where cs1 and cs2 begin to differ; -1 if they are equal
* @since 2.0
* @since 3.0 Changed signature from indexOfDifference(String, String) to
* indexOfDifference(CharSequence, CharSequence)
*/
indexOfDifference(cs1:$.java.lang.CharSequence,cs2:$.java.lang.CharSequence):number;
/**
* Case in-sensitive find of the first index within a CharSequence.
*
* A {@code null} CharSequence will return {@code -1}.
* A negative start position is treated as zero.
* An empty ("") search CharSequence always matches.
* A start position greater than the string length only matches
* an empty search CharSequence.
*
*
* StringUtils.indexOfIgnoreCase(null, *) = -1
* StringUtils.indexOfIgnoreCase(*, null) = -1
* StringUtils.indexOfIgnoreCase("", "") = 0
* StringUtils.indexOfIgnoreCase("aabaabaa", "a") = 0
* StringUtils.indexOfIgnoreCase("aabaabaa", "b") = 2
* StringUtils.indexOfIgnoreCase("aabaabaa", "ab") = 1
*
*
* @param str the CharSequence to check, may be null
* @param searchStr the CharSequence to find, may be null
* @return the first index of the search CharSequence,
* -1 if no match or {@code null} string input
* @since 2.5
* @since 3.0 Changed signature from indexOfIgnoreCase(String, String) to indexOfIgnoreCase(CharSequence, CharSequence)
*/
indexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence):number;
/**
* Case in-sensitive find of the first index within a CharSequence
* from the specified position.
*
* A {@code null} CharSequence will return {@code -1}.
* A negative start position is treated as zero.
* An empty ("") search CharSequence always matches.
* A start position greater than the string length only matches
* an empty search CharSequence.
*
*
* StringUtils.indexOfIgnoreCase(null, *, *) = -1
* StringUtils.indexOfIgnoreCase(*, null, *) = -1
* StringUtils.indexOfIgnoreCase("", "", 0) = 0
* StringUtils.indexOfIgnoreCase("aabaabaa", "A", 0) = 0
* StringUtils.indexOfIgnoreCase("aabaabaa", "B", 0) = 2
* StringUtils.indexOfIgnoreCase("aabaabaa", "AB", 0) = 1
* StringUtils.indexOfIgnoreCase("aabaabaa", "B", 3) = 5
* StringUtils.indexOfIgnoreCase("aabaabaa", "B", 9) = -1
* StringUtils.indexOfIgnoreCase("aabaabaa", "B", -1) = 2
* StringUtils.indexOfIgnoreCase("aabaabaa", "", 2) = 2
* StringUtils.indexOfIgnoreCase("abc", "", 9) = 3
*
*
* @param str the CharSequence to check, may be null
* @param searchStr the CharSequence to find, may be null
* @param startPos the start position, negative treated as zero
* @return the first index of the search CharSequence (always ≥ startPos),
* -1 if no match or {@code null} string input
* @since 2.5
* @since 3.0 Changed signature from indexOfIgnoreCase(String, String, int) to indexOfIgnoreCase(CharSequence, CharSequence, int)
*/
indexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,startPos:number):number;
/**
* Checks if the CharSequence contains only lowercase characters.
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code false}.
*
*
* StringUtils.isAllLowerCase(null) = false
* StringUtils.isAllLowerCase("") = false
* StringUtils.isAllLowerCase(" ") = false
* StringUtils.isAllLowerCase("abc") = true
* StringUtils.isAllLowerCase("abC") = false
* StringUtils.isAllLowerCase("ab c") = false
* StringUtils.isAllLowerCase("ab1c") = false
* StringUtils.isAllLowerCase("ab/c") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains lowercase characters, and is non-null
* @since 2.5
* @since 3.0 Changed signature from isAllLowerCase(String) to isAllLowerCase(CharSequence)
*/
isAllLowerCase(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only uppercase characters.
*
* {@code null} will return {@code false}.
* An empty String (length()=0) will return {@code false}.
*
*
* StringUtils.isAllUpperCase(null) = false
* StringUtils.isAllUpperCase("") = false
* StringUtils.isAllUpperCase(" ") = false
* StringUtils.isAllUpperCase("ABC") = true
* StringUtils.isAllUpperCase("aBC") = false
* StringUtils.isAllUpperCase("A C") = false
* StringUtils.isAllUpperCase("A1C") = false
* StringUtils.isAllUpperCase("A/C") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains uppercase characters, and is non-null
* @since 2.5
* @since 3.0 Changed signature from isAllUpperCase(String) to isAllUpperCase(CharSequence)
*/
isAllUpperCase(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only Unicode letters.
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code false}.
*
*
* StringUtils.isAlpha(null) = false
* StringUtils.isAlpha("") = false
* StringUtils.isAlpha(" ") = false
* StringUtils.isAlpha("abc") = true
* StringUtils.isAlpha("ab2c") = false
* StringUtils.isAlpha("ab-c") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains letters, and is non-null
* @since 3.0 Changed signature from isAlpha(String) to isAlpha(CharSequence)
* @since 3.0 Changed "" to return false and not true
*/
isAlpha(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only Unicode letters and
* space (' ').
*
* {@code null} will return {@code false}
* An empty CharSequence (length()=0) will return {@code true}.
*
*
* StringUtils.isAlphaSpace(null) = false
* StringUtils.isAlphaSpace("") = true
* StringUtils.isAlphaSpace(" ") = true
* StringUtils.isAlphaSpace("abc") = true
* StringUtils.isAlphaSpace("ab c") = true
* StringUtils.isAlphaSpace("ab2c") = false
* StringUtils.isAlphaSpace("ab-c") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains letters and space,
* and is non-null
* @since 3.0 Changed signature from isAlphaSpace(String) to isAlphaSpace(CharSequence)
*/
isAlphaSpace(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only Unicode letters or digits.
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code false}.
*
*
* StringUtils.isAlphanumeric(null) = false
* StringUtils.isAlphanumeric("") = false
* StringUtils.isAlphanumeric(" ") = false
* StringUtils.isAlphanumeric("abc") = true
* StringUtils.isAlphanumeric("ab c") = false
* StringUtils.isAlphanumeric("ab2c") = true
* StringUtils.isAlphanumeric("ab-c") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains letters or digits,
* and is non-null
* @since 3.0 Changed signature from isAlphanumeric(String) to isAlphanumeric(CharSequence)
* @since 3.0 Changed "" to return false and not true
*/
isAlphanumeric(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only Unicode letters, digits
* or space ({@code ' '}).
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code true}.
*
*
* StringUtils.isAlphanumericSpace(null) = false
* StringUtils.isAlphanumericSpace("") = true
* StringUtils.isAlphanumericSpace(" ") = true
* StringUtils.isAlphanumericSpace("abc") = true
* StringUtils.isAlphanumericSpace("ab c") = true
* StringUtils.isAlphanumericSpace("ab2c") = true
* StringUtils.isAlphanumericSpace("ab-c") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains letters, digits or space,
* and is non-null
* @since 3.0 Changed signature from isAlphanumericSpace(String) to isAlphanumericSpace(CharSequence)
*/
isAlphanumericSpace(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only ASCII printable characters.
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code true}.
*
*
* StringUtils.isAsciiPrintable(null) = false
* StringUtils.isAsciiPrintable("") = true
* StringUtils.isAsciiPrintable(" ") = true
* StringUtils.isAsciiPrintable("Ceki") = true
* StringUtils.isAsciiPrintable("ab2c") = true
* StringUtils.isAsciiPrintable("!ab-c~") = true
* StringUtils.isAsciiPrintable("\u0020") = true
* StringUtils.isAsciiPrintable("\u0021") = true
* StringUtils.isAsciiPrintable("\u007e") = true
* StringUtils.isAsciiPrintable("\u007f") = false
* StringUtils.isAsciiPrintable("Ceki G\u00fclc\u00fc") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if every character is in the range
* 32 thru 126
* @since 2.1
* @since 3.0 Changed signature from isAsciiPrintable(String) to isAsciiPrintable(CharSequence)
*/
isAsciiPrintable(cs:$.java.lang.CharSequence):boolean;
isBlank(cs:any):boolean;
/**
* Checks if a CharSequence is whitespace, empty ("") or null.
*
*
* StringUtils.isBlank(null) = true
* StringUtils.isBlank("") = true
* StringUtils.isBlank(" ") = true
* StringUtils.isBlank("bob") = false
* StringUtils.isBlank(" bob ") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is null, empty or whitespace
* @since 2.0
* @since 3.0 Changed signature from isBlank(String) to isBlank(CharSequence)
*/
isBlank(cs:$.java.lang.CharSequence):boolean;
/**
* 判断邮箱格式是否正确
*
* @param email
* :email
* @return
*/
isEmail(email:string):boolean;
/**
* Checks if a CharSequence is empty ("") or null.
*
*
* StringUtils.isEmpty(null) = true
* StringUtils.isEmpty("") = true
* StringUtils.isEmpty(" ") = false
* StringUtils.isEmpty("bob") = false
* StringUtils.isEmpty(" bob ") = false
*
*
* NOTE: This method changed in Lang version 2.0.
* It no longer trims the CharSequence.
* That functionality is available in isBlank().
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is empty or null
* @since 3.0 Changed signature from isEmpty(String) to isEmpty(CharSequence)
*/
isEmpty(cs:$.java.lang.CharSequence):boolean;
isJavaIdentifier(s:string):boolean;
isNotBlank(cs:any):boolean;
/**
* Checks if a CharSequence is not empty (""), not null and not whitespace only.
*
*
* StringUtils.isNotBlank(null) = false
* StringUtils.isNotBlank("") = false
* StringUtils.isNotBlank(" ") = false
* StringUtils.isNotBlank("bob") = true
* StringUtils.isNotBlank(" bob ") = true
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is
* not empty and not null and not whitespace
* @since 2.0
* @since 3.0 Changed signature from isNotBlank(String) to isNotBlank(CharSequence)
*/
isNotBlank(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if a CharSequence is not empty ("") and not null.
*
*
* StringUtils.isNotEmpty(null) = false
* StringUtils.isNotEmpty("") = false
* StringUtils.isNotEmpty(" ") = true
* StringUtils.isNotEmpty("bob") = true
* StringUtils.isNotEmpty(" bob ") = true
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is not empty and not null
* @since 3.0 Changed signature from isNotEmpty(String) to isNotEmpty(CharSequence)
*/
isNotEmpty(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only Unicode digits.
* A decimal point is not a Unicode digit and returns false.
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code false}.
*
* Note that the method does not allow for a leading sign, either positive or negative.
* Also, if a String passes the numeric test, it may still generate a NumberFormatException
* when parsed by Integer.parseInt or Long.parseLong, e.g. if the value is outside the range
* for int or long respectively.
*
*
* StringUtils.isNumeric(null) = false
* StringUtils.isNumeric("") = false
* StringUtils.isNumeric(" ") = false
* StringUtils.isNumeric("123") = true
* StringUtils.isNumeric("\u0967\u0968\u0969") = true
* StringUtils.isNumeric("12 3") = false
* StringUtils.isNumeric("ab2c") = false
* StringUtils.isNumeric("12-3") = false
* StringUtils.isNumeric("12.3") = false
* StringUtils.isNumeric("-123") = false
* StringUtils.isNumeric("+123") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains digits, and is non-null
* @since 3.0 Changed signature from isNumeric(String) to isNumeric(CharSequence)
* @since 3.0 Changed "" to return false and not true
*/
isNumeric(cs:$.java.lang.CharSequence):boolean;
/**
* Checks if the CharSequence contains only Unicode digits or space
* ({@code ' '}).
* A decimal point is not a Unicode digit and returns false.
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code true}.
*
*
* StringUtils.isNumericSpace(null) = false
* StringUtils.isNumericSpace("") = true
* StringUtils.isNumericSpace(" ") = true
* StringUtils.isNumericSpace("123") = true
* StringUtils.isNumericSpace("12 3") = true
* StringUtils.isNumeric("\u0967\u0968\u0969") = true
* StringUtils.isNumeric("\u0967\u0968 \u0969") = true
* StringUtils.isNumericSpace("ab2c") = false
* StringUtils.isNumericSpace("12-3") = false
* StringUtils.isNumericSpace("12.3") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains digits or space,
* and is non-null
* @since 3.0 Changed signature from isNumericSpace(String) to isNumericSpace(CharSequence)
*/
isNumericSpace(cs:$.java.lang.CharSequence):boolean;
/**
* 判断电话号码格式是否正确
*
* @param String
* phoneNumber:电话号码
* @return
*/
isPhoneNumberValid(phoneNumber:string):boolean;
/**
* Checks if the CharSequence contains only whitespace.
*
* {@code null} will return {@code false}.
* An empty CharSequence (length()=0) will return {@code true}.
*
*
* StringUtils.isWhitespace(null) = false
* StringUtils.isWhitespace("") = true
* StringUtils.isWhitespace(" ") = true
* StringUtils.isWhitespace("abc") = false
* StringUtils.isWhitespace("ab2c") = false
* StringUtils.isWhitespace("ab-c") = false
*
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if only contains whitespace, and is non-null
* @since 2.0
* @since 3.0 Changed signature from isWhitespace(String) to isWhitespace(CharSequence)
*/
isWhitespace(cs:$.java.lang.CharSequence):boolean;
join(...arg0:any[]):string;
/**
*
* Joins the elements of the provided array into a single String containing the provided list of elements.
*
*
*
* No delimiter is added before or after the list. Null objects or empty strings within the array are represented
* by empty strings.
*
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join([1, 2, 3], ';') = "1;2;3"
* StringUtils.join([1, 2, 3], null) = "123"
*
*
* @param array
* the array of values to join together, may be null
* @param separator
* the separator character to use
* @return the joined String, {@code null} if null array input
* @since 3.2
*/
join(array:long[],separator:string):string;
/**
*
* Joins the elements of the provided array into a single String containing the provided list of elements.
*
*
*
* No delimiter is added before or after the list. Null objects or empty strings within the array are represented
* by empty strings.
*
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join([1, 2, 3], ';') = "1;2;3"
* StringUtils.join([1, 2, 3], null) = "123"
*
*
* @param array
* the array of values to join together, may be null
* @param separator
* the separator character to use
* @return the joined String, {@code null} if null array input
* @since 3.2
*/
join(array:number[],separator:string):string;
/**
* Joins the elements of the provided array into a single String
* containing the provided list of elements.
*
* No delimiter is added before or after the list.
* A {@code null} separator is the same as an empty String ("").
* Null objects or empty strings within the array are represented by
* empty strings.
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join(["a", "b", "c"], "--") = "a--b--c"
* StringUtils.join(["a", "b", "c"], null) = "abc"
* StringUtils.join(["a", "b", "c"], "") = "abc"
* StringUtils.join([null, "", "a"], ',') = ",,a"
*
*
* @param array the array of values to join together, may be null
* @param separator the separator character to use, null treated as ""
* @return the joined String, {@code null} if null array input
*/
join(array:any[],separator:string):string;
/**
*
* Joins the elements of the provided array into a single String containing the provided list of elements.
*
*
*
* No delimiter is added before or after the list. Null objects or empty strings within the array are represented
* by empty strings.
*
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join([1, 2, 3], ';') = "1;2;3"
* StringUtils.join([1, 2, 3], null) = "123"
*
*
* @param array
* the array of values to join together, may be null
* @param separator
* the separator character to use
* @return the joined String, {@code null} if null array input
* @since 3.2
*/
join(array:string[],separator:string):string;
/**
* Joins the elements of the provided array into a single String
* containing the provided list of elements.
*
* No delimiter is added before or after the list.
* Null objects or empty strings within the array are represented by
* empty strings.
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join(["a", "b", "c"], ';') = "a;b;c"
* StringUtils.join(["a", "b", "c"], null) = "abc"
* StringUtils.join([null, "", "a"], ';') = ";;a"
*
*
* @param array the array of values to join together, may be null
* @param separator the separator character to use
* @return the joined String, {@code null} if null array input
* @since 2.0
*/
join(array:any[],separator:string):string;
/**
* Joins the elements of the provided {@code Iterable} into
* a single String containing the provided elements.
*
* No delimiter is added before or after the list.
* A {@code null} separator is the same as an empty String ("").
*
* See the examples here: {@link #join(Object[],String)}.
*
* @param iterable the {@code Iterable} providing the values to join together, may be null
* @param separator the separator character to use, null treated as ""
* @return the joined String, {@code null} if null iterator input
* @since 2.3
*/
join(iterable:$.java.lang.Iterable,separator:string):string;
/**
* Joins the elements of the provided {@code Iterable} into
* a single String containing the provided elements.
*
* No delimiter is added before or after the list. Null objects or empty
* strings within the iteration are represented by empty strings.
*
* See the examples here: {@link #join(Object[],char)}.
*
* @param iterable the {@code Iterable} providing the values to join together, may be null
* @param separator the separator character to use
* @return the joined String, {@code null} if null iterator input
* @since 2.3
*/
join(iterable:$.java.lang.Iterable,separator:string):string;
/**
* Joins the elements of the provided array into a single String
* containing the provided list of elements.
*
* No delimiter is added before or after the list.
* Null objects or empty strings within the array are represented by
* empty strings.
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join(["a", "b", "c"], ';') = "a;b;c"
* StringUtils.join(["a", "b", "c"], null) = "abc"
* StringUtils.join([null, "", "a"], ';') = ";;a"
*
*
* @param array the array of values to join together, may be null
* @param separator the separator character to use
* @param startIndex the first index to start joining from. It is
* an error to pass in an end index past the end of the array
* @param endIndex the index to stop joining from (exclusive). It is
* an error to pass in an end index past the end of the array
* @return the joined String, {@code null} if null array input
* @since 2.0
*/
join(array:any[],separator:string,startIndex:number,endIndex:number):string;
/**
*
* Joins the elements of the provided array into a single String containing the provided list of elements.
*
*
*
* No delimiter is added before or after the list. Null objects or empty strings within the array are represented
* by empty strings.
*
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join([1, 2, 3], ';') = "1;2;3"
* StringUtils.join([1, 2, 3], null) = "123"
*
*
* @param array
* the array of values to join together, may be null
* @param separator
* the separator character to use
* @param startIndex
* the first index to start joining from. It is an error to pass in an end index past the end of the
* array
* @param endIndex
* the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
* the array
* @return the joined String, {@code null} if null array input
* @since 3.2
*/
join(array:number[],separator:string,startIndex:number,endIndex:number):string;
/**
* Joins the elements of the provided array into a single String
* containing the provided list of elements.
*
* No delimiter is added before or after the list.
* A {@code null} separator is the same as an empty String ("").
* Null objects or empty strings within the array are represented by
* empty strings.
*
*
* StringUtils.join(null, *, *, *) = null
* StringUtils.join([], *, *, *) = ""
* StringUtils.join([null], *, *, *) = ""
* StringUtils.join(["a", "b", "c"], "--", 0, 3) = "a--b--c"
* StringUtils.join(["a", "b", "c"], "--", 1, 3) = "b--c"
* StringUtils.join(["a", "b", "c"], "--", 2, 3) = "c"
* StringUtils.join(["a", "b", "c"], "--", 2, 2) = ""
* StringUtils.join(["a", "b", "c"], null, 0, 3) = "abc"
* StringUtils.join(["a", "b", "c"], "", 0, 3) = "abc"
* StringUtils.join([null, "", "a"], ',', 0, 3) = ",,a"
*
*
* @param array the array of values to join together, may be null
* @param separator the separator character to use, null treated as ""
* @param startIndex the first index to start joining from.
* @param endIndex the index to stop joining from (exclusive).
* @return the joined String, {@code null} if null array input; or the empty string
* if {@code endIndex - startIndex <= 0}. The number of joined entries is given by
* {@code endIndex - startIndex}
* @throws ArrayIndexOutOfBoundsException ife
* {@code startIndex < 0} or
* {@code startIndex >= array.length()} or
* {@code endIndex < 0} or
* {@code endIndex > array.length()}
*/
join(array:any[],separator:string,startIndex:number,endIndex:number):string;
/**
*
* Joins the elements of the provided array into a single String containing the provided list of elements.
*
*
*
* No delimiter is added before or after the list. Null objects or empty strings within the array are represented
* by empty strings.
*
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join([1, 2, 3], ';') = "1;2;3"
* StringUtils.join([1, 2, 3], null) = "123"
*
*
* @param array
* the array of values to join together, may be null
* @param separator
* the separator character to use
* @param startIndex
* the first index to start joining from. It is an error to pass in an end index past the end of the
* array
* @param endIndex
* the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
* the array
* @return the joined String, {@code null} if null array input
* @since 3.2
*/
join(array:long[],separator:string,startIndex:number,endIndex:number):string;
/**
*
* Joins the elements of the provided array into a single String containing the provided list of elements.
*
*
*
* No delimiter is added before or after the list. Null objects or empty strings within the array are represented
* by empty strings.
*
*
*
* StringUtils.join(null, *) = null
* StringUtils.join([], *) = ""
* StringUtils.join([null], *) = ""
* StringUtils.join([1, 2, 3], ';') = "1;2;3"
* StringUtils.join([1, 2, 3], null) = "123"
*
*
* @param array
* the array of values to join together, may be null
* @param separator
* the separator character to use
* @param startIndex
* the first index to start joining from. It is an error to pass in an end index past the end of the
* array
* @param endIndex
* the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
* the array
* @return the joined String, {@code null} if null array input
* @since 3.2
*/
join(array:string[],separator:string,startIndex:number,endIndex:number):string;
/**
* Finds the last index within a CharSequence, handling {@code null}.
* This method uses {@link String#lastIndexOf(String)} if possible.
*
* A {@code null} CharSequence will return {@code -1}.
*
*
* StringUtils.lastIndexOf(null, *) = -1
* StringUtils.lastIndexOf(*, null) = -1
* StringUtils.lastIndexOf("", "") = 0
* StringUtils.lastIndexOf("aabaabaa", "a") = 7
* StringUtils.lastIndexOf("aabaabaa", "b") = 5
* StringUtils.lastIndexOf("aabaabaa", "ab") = 4
* StringUtils.lastIndexOf("aabaabaa", "") = 8
*
*
* @param seq the CharSequence to check, may be null
* @param searchSeq the CharSequence to find, may be null
* @return the last index of the search String,
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from lastIndexOf(String, String) to lastIndexOf(CharSequence, CharSequence)
*/
lastIndexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence):number;
/**
* Finds the last index within a CharSequence, handling {@code null}.
* This method uses {@link String#lastIndexOf(int)} if possible.
*
* A {@code null} or empty ("") CharSequence will return {@code -1}.
*
*
* StringUtils.lastIndexOf(null, *) = -1
* StringUtils.lastIndexOf("", *) = -1
* StringUtils.lastIndexOf("aabaabaa", 'a') = 7
* StringUtils.lastIndexOf("aabaabaa", 'b') = 5
*
*
* @param seq the CharSequence to check, may be null
* @param searchChar the character to find
* @return the last index of the search character,
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from lastIndexOf(String, int) to lastIndexOf(CharSequence, int)
*/
lastIndexOf(seq:$.java.lang.CharSequence,searchChar:number):number;
/**
* Finds the last index within a CharSequence, handling {@code null}.
* This method uses {@link String#lastIndexOf(String, int)} if possible.
*
* A {@code null} CharSequence will return {@code -1}.
* A negative start position returns {@code -1}.
* An empty ("") search CharSequence always matches unless the start position is negative.
* A start position greater than the string length searches the whole string.
* The search starts at the startPos and works backwards; matches starting after the start
* position are ignored.
*
*
*
* StringUtils.lastIndexOf(null, *, *) = -1
* StringUtils.lastIndexOf(*, null, *) = -1
* StringUtils.lastIndexOf("aabaabaa", "a", 8) = 7
* StringUtils.lastIndexOf("aabaabaa", "b", 8) = 5
* StringUtils.lastIndexOf("aabaabaa", "ab", 8) = 4
* StringUtils.lastIndexOf("aabaabaa", "b", 9) = 5
* StringUtils.lastIndexOf("aabaabaa", "b", -1) = -1
* StringUtils.lastIndexOf("aabaabaa", "a", 0) = 0
* StringUtils.lastIndexOf("aabaabaa", "b", 0) = -1
* StringUtils.lastIndexOf("aabaabaa", "b", 1) = -1
* StringUtils.lastIndexOf("aabaabaa", "b", 2) = 2
* StringUtils.lastIndexOf("aabaabaa", "ba", 2) = -1
* StringUtils.lastIndexOf("aabaabaa", "ba", 2) = 2
*
*
* @param seq the CharSequence to check, may be null
* @param searchSeq the CharSequence to find, may be null
* @param startPos the start position, negative treated as zero
* @return the last index of the search CharSequence (always ≤ startPos),
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from lastIndexOf(String, String, int) to lastIndexOf(CharSequence, CharSequence, int)
*/
lastIndexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence,startPos:number):number;
/**
* Finds the last index within a CharSequence from a start position,
* handling {@code null}.
* This method uses {@link String#lastIndexOf(int, int)} if possible.
*
* A {@code null} or empty ("") CharSequence will return {@code -1}.
* A negative start position returns {@code -1}.
* A start position greater than the string length searches the whole string.
* The search starts at the startPos and works backwards; matches starting after the start
* position are ignored.
*
*
*
* StringUtils.lastIndexOf(null, *, *) = -1
* StringUtils.lastIndexOf("", *, *) = -1
* StringUtils.lastIndexOf("aabaabaa", 'b', 8) = 5
* StringUtils.lastIndexOf("aabaabaa", 'b', 4) = 2
* StringUtils.lastIndexOf("aabaabaa", 'b', 0) = -1
* StringUtils.lastIndexOf("aabaabaa", 'b', 9) = 5
* StringUtils.lastIndexOf("aabaabaa", 'b', -1) = -1
* StringUtils.lastIndexOf("aabaabaa", 'a', 0) = 0
*
*
* @param seq the CharSequence to check, may be null
* @param searchChar the character to find
* @param startPos the start position
* @return the last index of the search character (always ≤ startPos),
* -1 if no match or {@code null} string input
* @since 2.0
* @since 3.0 Changed signature from lastIndexOf(String, int, int) to lastIndexOf(CharSequence, int, int)
*/
lastIndexOf(seq:$.java.lang.CharSequence,searchChar:number,startPos:number):number;
/**
* Find the latest index of any of a set of potential substrings.
*
* A {@code null} CharSequence will return {@code -1}.
* A {@code null} search array will return {@code -1}.
* A {@code null} or zero length search array entry will be ignored,
* but a search array containing "" will return the length of {@code str}
* if {@code str} is not null. This method uses {@link String#indexOf(String)} if possible
*
*
* StringUtils.lastIndexOfAny(null, *) = -1
* StringUtils.lastIndexOfAny(*, null) = -1
* StringUtils.lastIndexOfAny(*, []) = -1
* StringUtils.lastIndexOfAny(*, [null]) = -1
* StringUtils.lastIndexOfAny("zzabyycdxx", ["ab","cd"]) = 6
* StringUtils.lastIndexOfAny("zzabyycdxx", ["cd","ab"]) = 6
* StringUtils.lastIndexOfAny("zzabyycdxx", ["mn","op"]) = -1
* StringUtils.lastIndexOfAny("zzabyycdxx", ["mn","op"]) = -1
* StringUtils.lastIndexOfAny("zzabyycdxx", ["mn",""]) = 10
*
*
* @param str the CharSequence to check, may be null
* @param searchStrs the CharSequences to search for, may be null
* @return the last index of any of the CharSequences, -1 if no match
* @since 3.0 Changed signature from lastIndexOfAny(String, String[]) to lastIndexOfAny(CharSequence, CharSequence)
*/
lastIndexOfAny(str:$.java.lang.CharSequence,...searchStrs:$.java.lang.CharSequence[]):number;
/**
* Case in-sensitive find of the last index within a CharSequence.
*
* A {@code null} CharSequence will return {@code -1}.
* A negative start position returns {@code -1}.
* An empty ("") search CharSequence always matches unless the start position is negative.
* A start position greater than the string length searches the whole string.
*
*
* StringUtils.lastIndexOfIgnoreCase(null, *) = -1
* StringUtils.lastIndexOfIgnoreCase(*, null) = -1
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A") = 7
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B") = 5
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "AB") = 4
*
*
* @param str the CharSequence to check, may be null
* @param searchStr the CharSequence to find, may be null
* @return the first index of the search CharSequence,
* -1 if no match or {@code null} string input
* @since 2.5
* @since 3.0 Changed signature from lastIndexOfIgnoreCase(String, String) to lastIndexOfIgnoreCase(CharSequence, CharSequence)
*/
lastIndexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence):number;
/**
* Case in-sensitive find of the last index within a CharSequence
* from the specified position.
*
* A {@code null} CharSequence will return {@code -1}.
* A negative start position returns {@code -1}.
* An empty ("") search CharSequence always matches unless the start position is negative.
* A start position greater than the string length searches the whole string.
* The search starts at the startPos and works backwards; matches starting after the start
* position are ignored.
*
*
*
* StringUtils.lastIndexOfIgnoreCase(null, *, *) = -1
* StringUtils.lastIndexOfIgnoreCase(*, null, *) = -1
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A", 8) = 7
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 8) = 5
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "AB", 8) = 4
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 9) = 5
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", -1) = -1
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A", 0) = 0
* StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 0) = -1
*
*
* @param str the CharSequence to check, may be null
* @param searchStr the CharSequence to find, may be null
* @param startPos the start position
* @return the last index of the search CharSequence (always ≤ startPos),
* -1 if no match or {@code null} input
* @since 2.5
* @since 3.0 Changed signature from lastIndexOfIgnoreCase(String, String, int) to lastIndexOfIgnoreCase(CharSequence, CharSequence, int)
*/
lastIndexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,startPos:number):number;
/**
* Finds the n-th last index within a String, handling {@code null}.
* This method uses {@link String#lastIndexOf(String)}.
*
* A {@code null} String will return {@code -1}.
*
*
* StringUtils.lastOrdinalIndexOf(null, *, *) = -1
* StringUtils.lastOrdinalIndexOf(*, null, *) = -1
* StringUtils.lastOrdinalIndexOf("", "", *) = 0
* StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 1) = 7
* StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 2) = 6
* StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 1) = 5
* StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 2) = 2
* StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 1) = 4
* StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 2) = 1
* StringUtils.lastOrdinalIndexOf("aabaabaa", "", 1) = 8
* StringUtils.lastOrdinalIndexOf("aabaabaa", "", 2) = 8
*
*
* Note that 'tail(CharSequence str, int n)' may be implemented as:
*
*
* str.substring(lastOrdinalIndexOf(str, "\n", n) + 1)
*
*
* @param str the CharSequence to check, may be null
* @param searchStr the CharSequence to find, may be null
* @param ordinal the n-th last {@code searchStr} to find
* @return the n-th last index of the search CharSequence,
* {@code -1} ({@code INDEX_NOT_FOUND}) if no match or {@code null} string input
* @since 2.5
* @since 3.0 Changed signature from lastOrdinalIndexOf(String, String, int) to lastOrdinalIndexOf(CharSequence, CharSequence, int)
*/
lastOrdinalIndexOf(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,ordinal:number):number;
/**
* Gets the leftmost {@code len} characters of a String.
*
* If {@code len} characters are not available, or the
* String is {@code null}, the String will be returned without
* an exception. An empty String is returned if len is negative.
*
*
* StringUtils.left(null, *) = null
* StringUtils.left(*, -ve) = ""
* StringUtils.left("", *) = ""
* StringUtils.left("abc", 0) = ""
* StringUtils.left("abc", 2) = "ab"
* StringUtils.left("abc", 4) = "abc"
*
*
* @param str the String to get the leftmost characters from, may be null
* @param len the length of the required String
* @return the leftmost characters, {@code null} if null String input
*/
left(str:string,len:number):string;
/**
* Left pad a String with spaces (' ').
*
* The String is padded to the size of {@code size}.
*
*
* StringUtils.leftPad(null, *) = null
* StringUtils.leftPad("", 3) = " "
* StringUtils.leftPad("bat", 3) = "bat"
* StringUtils.leftPad("bat", 5) = " bat"
* StringUtils.leftPad("bat", 1) = "bat"
* StringUtils.leftPad("bat", -1) = "bat"
*
*
* @param str the String to pad out, may be null
* @param size the size to pad to
* @return left padded String or original String if no padding is necessary,
* {@code null} if null String input
*/
leftPad(str:string,size:number):string;
/**
* Left pad a String with a specified character.
*
* Pad to a size of {@code size}.
*
*
* StringUtils.leftPad(null, *, *) = null
* StringUtils.leftPad("", 3, 'z') = "zzz"
* StringUtils.leftPad("bat", 3, 'z') = "bat"
* StringUtils.leftPad("bat", 5, 'z') = "zzbat"
* StringUtils.leftPad("bat", 1, 'z') = "bat"
* StringUtils.leftPad("bat", -1, 'z') = "bat"
*
*
* @param str the String to pad out, may be null
* @param size the size to pad to
* @param padChar the character to pad with
* @return left padded String or original String if no padding is necessary,
* {@code null} if null String input
* @since 2.0
*/
leftPad(str:string,size:number,padChar:string):string;
/**
* Left pad a String with a specified String.
*
* Pad to a size of {@code size}.
*
*
* StringUtils.leftPad(null, *, *) = null
* StringUtils.leftPad("", 3, "z") = "zzz"
* StringUtils.leftPad("bat", 3, "yz") = "bat"
* StringUtils.leftPad("bat", 5, "yz") = "yzbat"
* StringUtils.leftPad("bat", 8, "yz") = "yzyzybat"
* StringUtils.leftPad("bat", 1, "yz") = "bat"
* StringUtils.leftPad("bat", -1, "yz") = "bat"
* StringUtils.leftPad("bat", 5, null) = " bat"
* StringUtils.leftPad("bat", 5, "") = " bat"
*
*
* @param str the String to pad out, may be null
* @param size the size to pad to
* @param padStr the String to pad with, null or empty treated as single space
* @return left padded String or original String if no padding is necessary,
* {@code null} if null String input
*/
leftPad(str:string,size:number,padStr:string):string;
/**
* Gets a CharSequence length or {@code 0} if the CharSequence is
* {@code null}.
*
* @param cs
* a CharSequence or {@code null}
* @return CharSequence length or {@code 0} if the CharSequence is
* {@code null}.
* @since 2.4
* @since 3.0 Changed signature from length(String) to length(CharSequence)
*/
length(cs:$.java.lang.CharSequence):number;
/**
* Converts a String to lower case as per {@link String#toLowerCase()}.
*
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.lowerCase(null) = null
* StringUtils.lowerCase("") = ""
* StringUtils.lowerCase("aBc") = "abc"
*
*
* Note: As described in the documentation for {@link String#toLowerCase()},
* the result of this method is affected by the current locale.
* For platform-independent case transformations, the method {@link #lowerCase(String, Locale)}
* should be used with a specific locale (e.g. {@link Locale#ENGLISH}).
*
* @param str the String to lower case, may be null
* @return the lower cased String, {@code null} if null String input
*/
lowerCase(str:string):string;
/**
* Converts a String to lower case as per {@link String#toLowerCase(Locale)}.
*
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.lowerCase(null, Locale.ENGLISH) = null
* StringUtils.lowerCase("", Locale.ENGLISH) = ""
* StringUtils.lowerCase("aBc", Locale.ENGLISH) = "abc"
*
*
* @param str the String to lower case, may be null
* @param locale the locale that defines the case transformation rules, must not be null
* @return the lower cased String, {@code null} if null String input
* @since 2.5
*/
lowerCase(str:string,locale:$.java.util.Locale):string;
/**
* Gets {@code len} characters from the middle of a String.
*
* If {@code len} characters are not available, the remainder
* of the String will be returned without an exception. If the
* String is {@code null}, {@code null} will be returned.
* An empty String is returned if len is negative or exceeds the
* length of {@code str}.
*
*
* StringUtils.mid(null, *, *) = null
* StringUtils.mid(*, *, -ve) = ""
* StringUtils.mid("", 0, *) = ""
* StringUtils.mid("abc", 0, 2) = "ab"
* StringUtils.mid("abc", 0, 4) = "abc"
* StringUtils.mid("abc", 2, 4) = "c"
* StringUtils.mid("abc", 4, 2) = ""
* StringUtils.mid("abc", -2, 2) = "ab"
*
*
* @param str the String to get the characters from, may be null
* @param pos the position to start from, negative treated as zero
* @param len the length of the required String
* @return the middle characters, {@code null} if null String input
*/
mid(str:string,pos:number,len:number):string;
/**
*
* Similar to http://www.w3.org/TR/xpath/#function-normalize
* -space
*
*
* The function returns the argument string with whitespace normalized by using
* {@link #trim(String)}
to remove leading and trailing whitespace
* and then replacing sequences of whitespace characters by a single space.
*
* In XML Whitespace characters are the same as those allowed by the S production, which is S ::= (#x20 | #x9 | #xD | #xA)+
*
* Java's regexp pattern \s defines whitespace as [ \t\n\x0B\f\r]
*
*
For reference:
*
* - \x0B = vertical tab
* - \f = #xC = form feed
* - #x20 = space
* - #x9 = \t
* - #xA = \n
* - #xD = \r
*
*
*
* The difference is that Java's whitespace includes vertical tab and form feed, which this functional will also
* normalize. Additionally {@link #trim(String)}
removes control characters (char <= 32) from both
* ends of this String.
*
*
* @see Pattern
* @see #trim(String)
* @see http://www.w3.org/TR/xpath/#function-normalize-space
* @param str the source String to normalize whitespaces from, may be null
* @return the modified string with whitespace normalized, {@code null} if null String input
*
* @since 3.0
*/
normalizeSpace(str:string):string;
/**
* Finds the n-th index within a CharSequence, handling {@code null}.
* This method uses {@link String#indexOf(String)} if possible.
*
* A {@code null} CharSequence will return {@code -1}.
*
*
* StringUtils.ordinalIndexOf(null, *, *) = -1
* StringUtils.ordinalIndexOf(*, null, *) = -1
* StringUtils.ordinalIndexOf("", "", *) = 0
* StringUtils.ordinalIndexOf("aabaabaa", "a", 1) = 0
* StringUtils.ordinalIndexOf("aabaabaa", "a", 2) = 1
* StringUtils.ordinalIndexOf("aabaabaa", "b", 1) = 2
* StringUtils.ordinalIndexOf("aabaabaa", "b", 2) = 5
* StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1
* StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4
* StringUtils.ordinalIndexOf("aabaabaa", "", 1) = 0
* StringUtils.ordinalIndexOf("aabaabaa", "", 2) = 0
*
*
* Note that 'head(CharSequence str, int n)' may be implemented as:
*
*
* str.substring(0, lastOrdinalIndexOf(str, "\n", n))
*
*
* @param str the CharSequence to check, may be null
* @param searchStr the CharSequence to find, may be null
* @param ordinal the n-th {@code searchStr} to find
* @return the n-th index of the search CharSequence,
* {@code -1} ({@code INDEX_NOT_FOUND}) if no match or {@code null} string input
* @since 2.1
* @since 3.0 Changed signature from ordinalIndexOf(String, String, int) to ordinalIndexOf(CharSequence, CharSequence, int)
*/
ordinalIndexOf(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,ordinal:number):number;
/**
* Overlays part of a String with another String.
*
* A {@code null} string input returns {@code null}.
* A negative index is treated as zero.
* An index greater than the string length is treated as the string length.
* The start index is always the smaller of the two indices.
*
*
* StringUtils.overlay(null, *, *, *) = null
* StringUtils.overlay("", "abc", 0, 0) = "abc"
* StringUtils.overlay("abcdef", null, 2, 4) = "abef"
* StringUtils.overlay("abcdef", "", 2, 4) = "abef"
* StringUtils.overlay("abcdef", "", 4, 2) = "abef"
* StringUtils.overlay("abcdef", "zzzz", 2, 4) = "abzzzzef"
* StringUtils.overlay("abcdef", "zzzz", 4, 2) = "abzzzzef"
* StringUtils.overlay("abcdef", "zzzz", -1, 4) = "zzzzef"
* StringUtils.overlay("abcdef", "zzzz", 2, 8) = "abzzzz"
* StringUtils.overlay("abcdef", "zzzz", -2, -3) = "zzzzabcdef"
* StringUtils.overlay("abcdef", "zzzz", 8, 10) = "abcdefzzzz"
*
*
* @param str the String to do overlaying in, may be null
* @param overlay the String to overlay, may be null
* @param start the position to start overlaying at
* @param end the position to stop overlaying before
* @return overlayed String, {@code null} if null String input
* @since 2.0
*/
overlay(str:string,overlay:string,start:number,end:number):string;
/**
* Prepends the prefix to the start of the string if the string does not
* already start with any of the prefixes.
*
*
* StringUtils.prependIfMissing(null, null) = null
* StringUtils.prependIfMissing("abc", null) = "abc"
* StringUtils.prependIfMissing("", "xyz") = "xyz"
* StringUtils.prependIfMissing("abc", "xyz") = "xyzabc"
* StringUtils.prependIfMissing("xyzabc", "xyz") = "xyzabc"
* StringUtils.prependIfMissing("XYZabc", "xyz") = "xyzXYZabc"
*
* With additional prefixes,
*
* StringUtils.prependIfMissing(null, null, null) = null
* StringUtils.prependIfMissing("abc", null, null) = "abc"
* StringUtils.prependIfMissing("", "xyz", null) = "xyz"
* StringUtils.prependIfMissing("abc", "xyz", new CharSequence[]{null}) = "xyzabc"
* StringUtils.prependIfMissing("abc", "xyz", "") = "abc"
* StringUtils.prependIfMissing("abc", "xyz", "mno") = "xyzabc"
* StringUtils.prependIfMissing("xyzabc", "xyz", "mno") = "xyzabc"
* StringUtils.prependIfMissing("mnoabc", "xyz", "mno") = "mnoabc"
* StringUtils.prependIfMissing("XYZabc", "xyz", "mno") = "xyzXYZabc"
* StringUtils.prependIfMissing("MNOabc", "xyz", "mno") = "xyzMNOabc"
*
*
* @param str The string.
* @param prefix The prefix to prepend to the start of the string.
* @param prefixes Additional prefixes that are valid.
*
* @return A new String if prefix was prepended, the same string otherwise.
*
* @since 3.2
*/
prependIfMissing(str:string,prefix:$.java.lang.CharSequence,...prefixes:$.java.lang.CharSequence[]):string;
/**
* Prepends the prefix to the start of the string if the string does not
* already start, case insensitive, with any of the prefixes.
*
*
* StringUtils.prependIfMissingIgnoreCase(null, null) = null
* StringUtils.prependIfMissingIgnoreCase("abc", null) = "abc"
* StringUtils.prependIfMissingIgnoreCase("", "xyz") = "xyz"
* StringUtils.prependIfMissingIgnoreCase("abc", "xyz") = "xyzabc"
* StringUtils.prependIfMissingIgnoreCase("xyzabc", "xyz") = "xyzabc"
* StringUtils.prependIfMissingIgnoreCase("XYZabc", "xyz") = "XYZabc"
*
* With additional prefixes,
*
* StringUtils.prependIfMissingIgnoreCase(null, null, null) = null
* StringUtils.prependIfMissingIgnoreCase("abc", null, null) = "abc"
* StringUtils.prependIfMissingIgnoreCase("", "xyz", null) = "xyz"
* StringUtils.prependIfMissingIgnoreCase("abc", "xyz", new CharSequence[]{null}) = "xyzabc"
* StringUtils.prependIfMissingIgnoreCase("abc", "xyz", "") = "abc"
* StringUtils.prependIfMissingIgnoreCase("abc", "xyz", "mno") = "xyzabc"
* StringUtils.prependIfMissingIgnoreCase("xyzabc", "xyz", "mno") = "xyzabc"
* StringUtils.prependIfMissingIgnoreCase("mnoabc", "xyz", "mno") = "mnoabc"
* StringUtils.prependIfMissingIgnoreCase("XYZabc", "xyz", "mno") = "XYZabc"
* StringUtils.prependIfMissingIgnoreCase("MNOabc", "xyz", "mno") = "MNOabc"
*
*
* @param str The string.
* @param prefix The prefix to prepend to the start of the string.
* @param prefixes Additional prefixes that are valid (optional).
*
* @return A new String if prefix was prepended, the same string otherwise.
*
* @since 3.2
*/
prependIfMissingIgnoreCase(str:string,prefix:$.java.lang.CharSequence,...prefixes:$.java.lang.CharSequence[]):string;
/**
* Removes all occurrences of a character from within the source string.
*
* A {@code null} source string will return {@code null}.
* An empty ("") source string will return the empty string.
*
*
* StringUtils.remove(null, *) = null
* StringUtils.remove("", *) = ""
* StringUtils.remove("queued", 'u') = "qeed"
* StringUtils.remove("queued", 'z') = "queued"
*
*
* @param str the source String to search, may be null
* @param remove the char to search for and remove, may be null
* @return the substring with the char removed if found,
* {@code null} if null String input
* @since 2.1
*/
remove(str:string,remove:string):string;
/**
* Removes all occurrences of a substring from within the source string.
*
* A {@code null} source string will return {@code null}.
* An empty ("") source string will return the empty string.
* A {@code null} remove string will return the source string.
* An empty ("") remove string will return the source string.
*
*
* StringUtils.remove(null, *) = null
* StringUtils.remove("", *) = ""
* StringUtils.remove(*, null) = *
* StringUtils.remove(*, "") = *
* StringUtils.remove("queued", "ue") = "qd"
* StringUtils.remove("queued", "zz") = "queued"
*
*
* @param str the source String to search, may be null
* @param remove the String to search for and remove, may be null
* @return the substring with the string removed if found,
* {@code null} if null String input
* @since 2.1
*/
remove(str:string,remove:string):string;
/**
* Removes a substring only if it is at the end of a source string,
* otherwise returns the source string.
*
* A {@code null} source string will return {@code null}.
* An empty ("") source string will return the empty string.
* A {@code null} search string will return the source string.
*
*
* StringUtils.removeEnd(null, *) = null
* StringUtils.removeEnd("", *) = ""
* StringUtils.removeEnd(*, null) = *
* StringUtils.removeEnd("www.domain.com", ".com.") = "www.domain.com"
* StringUtils.removeEnd("www.domain.com", ".com") = "www.domain"
* StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
* StringUtils.removeEnd("abc", "") = "abc"
*
*
* @param str the source String to search, may be null
* @param remove the String to search for and remove, may be null
* @return the substring with the string removed if found,
* {@code null} if null String input
* @since 2.1
*/
removeEnd(str:string,remove:string):string;
/**
* Case insensitive removal of a substring if it is at the end of a source string,
* otherwise returns the source string.
*
* A {@code null} source string will return {@code null}.
* An empty ("") source string will return the empty string.
* A {@code null} search string will return the source string.
*
*
* StringUtils.removeEndIgnoreCase(null, *) = null
* StringUtils.removeEndIgnoreCase("", *) = ""
* StringUtils.removeEndIgnoreCase(*, null) = *
* StringUtils.removeEndIgnoreCase("www.domain.com", ".com.") = "www.domain.com"
* StringUtils.removeEndIgnoreCase("www.domain.com", ".com") = "www.domain"
* StringUtils.removeEndIgnoreCase("www.domain.com", "domain") = "www.domain.com"
* StringUtils.removeEndIgnoreCase("abc", "") = "abc"
* StringUtils.removeEndIgnoreCase("www.domain.com", ".COM") = "www.domain")
* StringUtils.removeEndIgnoreCase("www.domain.COM", ".com") = "www.domain")
*
*
* @param str the source String to search, may be null
* @param remove the String to search for (case insensitive) and remove, may be null
* @return the substring with the string removed if found,
* {@code null} if null String input
* @since 2.4
*/
removeEndIgnoreCase(str:string,remove:string):string;
/**
* Removes each substring of the source String that matches the given regular expression using the DOTALL option.
*
* @param source
* the source string
* @param regex
* the regular expression to which this string is to be matched
* @return The resulting {@code String}
* @see String#replaceAll(String, String)
* @see Pattern#DOTALL
* @since 3.2
*/
removePattern(source:string,regex:string):string;
/**
* Removes a substring only if it is at the beginning of a source string,
* otherwise returns the source string.
*
* A {@code null} source string will return {@code null}.
* An empty ("") source string will return the empty string.
* A {@code null} search string will return the source string.
*
*
* StringUtils.removeStart(null, *) = null
* StringUtils.removeStart("", *) = ""
* StringUtils.removeStart(*, null) = *
* StringUtils.removeStart("www.domain.com", "www.") = "domain.com"
* StringUtils.removeStart("domain.com", "www.") = "domain.com"
* StringUtils.removeStart("www.domain.com", "domain") = "www.domain.com"
* StringUtils.removeStart("abc", "") = "abc"
*
*
* @param str the source String to search, may be null
* @param remove the String to search for and remove, may be null
* @return the substring with the string removed if found,
* {@code null} if null String input
* @since 2.1
*/
removeStart(str:string,remove:string):string;
/**
* Case insensitive removal of a substring if it is at the beginning of a source string,
* otherwise returns the source string.
*
* A {@code null} source string will return {@code null}.
* An empty ("") source string will return the empty string.
* A {@code null} search string will return the source string.
*
*
* StringUtils.removeStartIgnoreCase(null, *) = null
* StringUtils.removeStartIgnoreCase("", *) = ""
* StringUtils.removeStartIgnoreCase(*, null) = *
* StringUtils.removeStartIgnoreCase("www.domain.com", "www.") = "domain.com"
* StringUtils.removeStartIgnoreCase("www.domain.com", "WWW.") = "domain.com"
* StringUtils.removeStartIgnoreCase("domain.com", "www.") = "domain.com"
* StringUtils.removeStartIgnoreCase("www.domain.com", "domain") = "www.domain.com"
* StringUtils.removeStartIgnoreCase("abc", "") = "abc"
*
*
* @param str the source String to search, may be null
* @param remove the String to search for (case insensitive) and remove, may be null
* @return the substring with the string removed if found,
* {@code null} if null String input
* @since 2.4
*/
removeStartIgnoreCase(str:string,remove:string):string;
/**
* Returns padding using the specified delimiter repeated
* to a given length.
*
*
* StringUtils.repeat('e', 0) = ""
* StringUtils.repeat('e', 3) = "eee"
* StringUtils.repeat('e', -2) = ""
*
*
* Note: this method doesn't not support padding with
* Unicode Supplementary Characters
* as they require a pair of {@code char}s to be represented.
* If you are needing to support full I18N of your applications
* consider using {@link #repeat(String, int)} instead.
*
*
* @param ch character to repeat
* @param repeat number of times to repeat char, negative treated as zero
* @return String with repeated character
* @see #repeat(String, int)
*/
repeat(ch:string,repeat:number):string;
/**
* Repeat a String {@code repeat} times to form a
* new String.
*
*
* StringUtils.repeat(null, 2) = null
* StringUtils.repeat("", 0) = ""
* StringUtils.repeat("", 2) = ""
* StringUtils.repeat("a", 3) = "aaa"
* StringUtils.repeat("ab", 2) = "abab"
* StringUtils.repeat("a", -2) = ""
*
*
* @param str the String to repeat, may be null
* @param repeat number of times to repeat str, negative treated as zero
* @return a new String consisting of the original String repeated,
* {@code null} if null String input
*/
repeat(str:string,repeat:number):string;
/**
* Repeat a String {@code repeat} times to form a
* new String, with a String separator injected each time.
*
*
* StringUtils.repeat(null, null, 2) = null
* StringUtils.repeat(null, "x", 2) = null
* StringUtils.repeat("", null, 0) = ""
* StringUtils.repeat("", "", 2) = ""
* StringUtils.repeat("", "x", 3) = "xxx"
* StringUtils.repeat("?", ", ", 3) = "?, ?, ?"
*
*
* @param str the String to repeat, may be null
* @param separator the String to inject, may be null
* @param repeat number of times to repeat str, negative treated as zero
* @return a new String consisting of the original String repeated,
* {@code null} if null String input
* @since 2.5
*/
repeat(str:string,separator:string,repeat:number):string;
/**
* Replaces all occurrences of a String within another String.
*
* A {@code null} reference passed to this method is a no-op.
*
*
* StringUtils.replace(null, *, *) = null
* StringUtils.replace("", *, *) = ""
* StringUtils.replace("any", null, *) = "any"
* StringUtils.replace("any", *, null) = "any"
* StringUtils.replace("any", "", *) = "any"
* StringUtils.replace("aba", "a", null) = "aba"
* StringUtils.replace("aba", "a", "") = "b"
* StringUtils.replace("aba", "a", "z") = "zbz"
*
*
* @see #replace(String text, String searchString, String replacement, int max)
* @param text text to search and replace in, may be null
* @param searchString the String to search for, may be null
* @param replacement the String to replace it with, may be null
* @return the text with any replacements processed,
* {@code null} if null String input
*/
replace(text:string,searchString:string,replacement:string):string;
/**
* Replaces a String with another String inside a larger String,
* for the first {@code max} values of the search String.
*
* A {@code null} reference passed to this method is a no-op.
*
*
* StringUtils.replace(null, *, *, *) = null
* StringUtils.replace("", *, *, *) = ""
* StringUtils.replace("any", null, *, *) = "any"
* StringUtils.replace("any", *, null, *) = "any"
* StringUtils.replace("any", "", *, *) = "any"
* StringUtils.replace("any", *, *, 0) = "any"
* StringUtils.replace("abaa", "a", null, -1) = "abaa"
* StringUtils.replace("abaa", "a", "", -1) = "b"
* StringUtils.replace("abaa", "a", "z", 0) = "abaa"
* StringUtils.replace("abaa", "a", "z", 1) = "zbaa"
* StringUtils.replace("abaa", "a", "z", 2) = "zbza"
* StringUtils.replace("abaa", "a", "z", -1) = "zbzz"
*
*
* @param text text to search and replace in, may be null
* @param searchString the String to search for, may be null
* @param replacement the String to replace it with, may be null
* @param max maximum number of values to replace, or {@code -1} if no maximum
* @return the text with any replacements processed,
* {@code null} if null String input
*/
replace(text:string,searchString:string,replacement:string,max:number):string;
/**
* Replaces all occurrences of a character in a String with another.
* This is a null-safe version of {@link String#replace(char, char)}.
*
* A {@code null} string input returns {@code null}.
* An empty ("") string input returns an empty string.
*
*
* StringUtils.replaceChars(null, *, *) = null
* StringUtils.replaceChars("", *, *) = ""
* StringUtils.replaceChars("abcba", 'b', 'y') = "aycya"
* StringUtils.replaceChars("abcba", 'z', 'y') = "abcba"
*
*
* @param str String to replace characters in, may be null
* @param searchChar the character to search for, may be null
* @param replaceChar the character to replace, may be null
* @return modified String, {@code null} if null string input
* @since 2.0
*/
replaceChars(str:string,searchChar:string,replaceChar:string):string;
/**
* Replaces multiple characters in a String in one go.
* This method can also be used to delete characters.
*
* For example:
* replaceChars("hello", "ho", "jy") = jelly
.
*
* A {@code null} string input returns {@code null}.
* An empty ("") string input returns an empty string.
* A null or empty set of search characters returns the input string.
*
* The length of the search characters should normally equal the length
* of the replace characters.
* If the search characters is longer, then the extra search characters
* are deleted.
* If the search characters is shorter, then the extra replace characters
* are ignored.
*
*
* StringUtils.replaceChars(null, *, *) = null
* StringUtils.replaceChars("", *, *) = ""
* StringUtils.replaceChars("abc", null, *) = "abc"
* StringUtils.replaceChars("abc", "", *) = "abc"
* StringUtils.replaceChars("abc", "b", null) = "ac"
* StringUtils.replaceChars("abc", "b", "") = "ac"
* StringUtils.replaceChars("abcba", "bc", "yz") = "ayzya"
* StringUtils.replaceChars("abcba", "bc", "y") = "ayya"
* StringUtils.replaceChars("abcba", "bc", "yzx") = "ayzya"
*
*
* @param str String to replace characters in, may be null
* @param searchChars a set of characters to search for, may be null
* @param replaceChars a set of characters to replace, may be null
* @return modified String, {@code null} if null string input
* @since 2.0
*/
replaceChars(str:string,searchChars:string,replaceChars:string):string;
/**
*
* Replaces all occurrences of Strings within another String.
*
*
*
* A {@code null} reference passed to this method is a no-op, or if
* any "search string" or "string to replace" is null, that replace will be
* ignored. This will not repeat. For repeating replaces, call the
* overloaded method.
*
*
*
* StringUtils.replaceEach(null, *, *) = null
* StringUtils.replaceEach("", *, *) = ""
* StringUtils.replaceEach("aba", null, null) = "aba"
* StringUtils.replaceEach("aba", new String[0], null) = "aba"
* StringUtils.replaceEach("aba", null, new String[0]) = "aba"
* StringUtils.replaceEach("aba", new String[]{"a"}, null) = "aba"
* StringUtils.replaceEach("aba", new String[]{"a"}, new String[]{""}) = "b"
* StringUtils.replaceEach("aba", new String[]{null}, new String[]{"a"}) = "aba"
* StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte"
* (example of how it does not repeat)
* StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "dcte"
*
*
* @param text
* text to search and replace in, no-op if null
* @param searchList
* the Strings to search for, no-op if null
* @param replacementList
* the Strings to replace them with, no-op if null
* @return the text with any replacements processed, {@code null} if
* null String input
* @throws IllegalArgumentException
* if the lengths of the arrays are not the same (null is ok,
* and/or size 0)
* @since 2.4
*/
replaceEach(text:string,searchList:string[],replacementList:string[]):string;
/**
*
* Replaces all occurrences of Strings within another String.
*
*
*
* A {@code null} reference passed to this method is a no-op, or if
* any "search string" or "string to replace" is null, that replace will be
* ignored.
*
*
*
* StringUtils.replaceEachRepeatedly(null, *, *) = null
* StringUtils.replaceEachRepeatedly("", *, *) = ""
* StringUtils.replaceEachRepeatedly("aba", null, null) = "aba"
* StringUtils.replaceEachRepeatedly("aba", new String[0], null) = "aba"
* StringUtils.replaceEachRepeatedly("aba", null, new String[0]) = "aba"
* StringUtils.replaceEachRepeatedly("aba", new String[]{"a"}, null) = "aba"
* StringUtils.replaceEachRepeatedly("aba", new String[]{"a"}, new String[]{""}) = "b"
* StringUtils.replaceEachRepeatedly("aba", new String[]{null}, new String[]{"a"}) = "aba"
* StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte"
* (example of how it repeats)
* StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "tcte"
* StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"d", "ab"}) = IllegalStateException
*
*
* @param text
* text to search and replace in, no-op if null
* @param searchList
* the Strings to search for, no-op if null
* @param replacementList
* the Strings to replace them with, no-op if null
* @return the text with any replacements processed, {@code null} if
* null String input
* @throws IllegalStateException
* if the search is repeating and there is an endless loop due
* to outputs of one being inputs to another
* @throws IllegalArgumentException
* if the lengths of the arrays are not the same (null is ok,
* and/or size 0)
* @since 2.4
*/
replaceEachRepeatedly(text:string,searchList:string[],replacementList:string[]):string;
/**
* Replaces a String with another String inside a larger String, once.
*
* A {@code null} reference passed to this method is a no-op.
*
*
* StringUtils.replaceOnce(null, *, *) = null
* StringUtils.replaceOnce("", *, *) = ""
* StringUtils.replaceOnce("any", null, *) = "any"
* StringUtils.replaceOnce("any", *, null) = "any"
* StringUtils.replaceOnce("any", "", *) = "any"
* StringUtils.replaceOnce("aba", "a", null) = "aba"
* StringUtils.replaceOnce("aba", "a", "") = "ba"
* StringUtils.replaceOnce("aba", "a", "z") = "zba"
*
*
* @see #replace(String text, String searchString, String replacement, int max)
* @param text text to search and replace in, may be null
* @param searchString the String to search for, may be null
* @param replacement the String to replace with, may be null
* @return the text with any replacements processed,
* {@code null} if null String input
*/
replaceOnce(text:string,searchString:string,replacement:string):string;
/**
* Replaces each substring of the source String that matches the given regular expression with the given
* replacement using the {@link Pattern#DOTALL} option. DOTALL is also know as single-line mode in Perl. This call
* is also equivalent to:
*
* - {@code source.replaceAll("(?s)" + regex, replacement)}
* - {@code Pattern.compile(regex, Pattern.DOTALL).matcher(source).replaceAll(replacement)}
*
*
* @param source
* the source string
* @param regex
* the regular expression to which this string is to be matched
* @param replacement
* the string to be substituted for each match
* @return The resulting {@code String}
* @see String#replaceAll(String, String)
* @see Pattern#DOTALL
* @since 3.2
*/
replacePattern(source:string,regex:string,replacement:string):string;
/**
* Reverses a String as per {@link StringBuilder#reverse()}.
*
* A {@code null} String returns {@code null}.
*
*
* StringUtils.reverse(null) = null
* StringUtils.reverse("") = ""
* StringUtils.reverse("bat") = "tab"
*
*
* @param str the String to reverse, may be null
* @return the reversed String, {@code null} if null String input
*/
reverse(str:string):string;
/**
* Gets the rightmost {@code len} characters of a String.
*
* If {@code len} characters are not available, or the String
* is {@code null}, the String will be returned without an
* an exception. An empty String is returned if len is negative.
*
*
* StringUtils.right(null, *) = null
* StringUtils.right(*, -ve) = ""
* StringUtils.right("", *) = ""
* StringUtils.right("abc", 0) = ""
* StringUtils.right("abc", 2) = "bc"
* StringUtils.right("abc", 4) = "abc"
*
*
* @param str the String to get the rightmost characters from, may be null
* @param len the length of the required String
* @return the rightmost characters, {@code null} if null String input
*/
right(str:string,len:number):string;
/**
* Right pad a String with spaces (' ').
*
* The String is padded to the size of {@code size}.
*
*
* StringUtils.rightPad(null, *) = null
* StringUtils.rightPad("", 3) = " "
* StringUtils.rightPad("bat", 3) = "bat"
* StringUtils.rightPad("bat", 5) = "bat "
* StringUtils.rightPad("bat", 1) = "bat"
* StringUtils.rightPad("bat", -1) = "bat"
*
*
* @param str the String to pad out, may be null
* @param size the size to pad to
* @return right padded String or original String if no padding is necessary,
* {@code null} if null String input
*/
rightPad(str:string,size:number):string;
/**
* Right pad a String with a specified character.
*
* The String is padded to the size of {@code size}.
*
*
* StringUtils.rightPad(null, *, *) = null
* StringUtils.rightPad("", 3, 'z') = "zzz"
* StringUtils.rightPad("bat", 3, 'z') = "bat"
* StringUtils.rightPad("bat", 5, 'z') = "batzz"
* StringUtils.rightPad("bat", 1, 'z') = "bat"
* StringUtils.rightPad("bat", -1, 'z') = "bat"
*
*
* @param str the String to pad out, may be null
* @param size the size to pad to
* @param padChar the character to pad with
* @return right padded String or original String if no padding is necessary,
* {@code null} if null String input
* @since 2.0
*/
rightPad(str:string,size:number,padChar:string):string;
/**
* Right pad a String with a specified String.
*
* The String is padded to the size of {@code size}.
*
*
* StringUtils.rightPad(null, *, *) = null
* StringUtils.rightPad("", 3, "z") = "zzz"
* StringUtils.rightPad("bat", 3, "yz") = "bat"
* StringUtils.rightPad("bat", 5, "yz") = "batyz"
* StringUtils.rightPad("bat", 8, "yz") = "batyzyzy"
* StringUtils.rightPad("bat", 1, "yz") = "bat"
* StringUtils.rightPad("bat", -1, "yz") = "bat"
* StringUtils.rightPad("bat", 5, null) = "bat "
* StringUtils.rightPad("bat", 5, "") = "bat "
*
*
* @param str the String to pad out, may be null
* @param size the size to pad to
* @param padStr the String to pad with, null or empty treated as single space
* @return right padded String or original String if no padding is necessary,
* {@code null} if null String input
*/
rightPad(str:string,size:number,padStr:string):string;
/**
* Splits the provided text into an array, using whitespace as the
* separator.
* Whitespace is defined by {@link Character#isWhitespace(char)}.
*
* The separator is not included in the returned String array.
* Adjacent separators are treated as one separator.
* For more control over the split use the StrTokenizer class.
*
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.split(null) = null
* StringUtils.split("") = []
* StringUtils.split("abc def") = ["abc", "def"]
* StringUtils.split("abc def") = ["abc", "def"]
* StringUtils.split(" abc ") = ["abc"]
*
*
* @param str the String to parse, may be null
* @return an array of parsed Strings, {@code null} if null String input
*/
split(str:string):string[];
/**
* Splits the provided text into an array, separators specified.
* This is an alternative to using StringTokenizer.
*
* The separator is not included in the returned String array.
* Adjacent separators are treated as one separator.
* For more control over the split use the StrTokenizer class.
*
* A {@code null} input String returns {@code null}.
* A {@code null} separatorChars splits on whitespace.
*
*
* StringUtils.split(null, *) = null
* StringUtils.split("", *) = []
* StringUtils.split("abc def", null) = ["abc", "def"]
* StringUtils.split("abc def", " ") = ["abc", "def"]
* StringUtils.split("abc def", " ") = ["abc", "def"]
* StringUtils.split("ab:cd:ef", ":") = ["ab", "cd", "ef"]
*
*
* @param str the String to parse, may be null
* @param separatorChars the characters used as the delimiters,
* {@code null} splits on whitespace
* @return an array of parsed Strings, {@code null} if null String input
*/
split(str:string,separatorChars:string):string[];
/**
* Splits the provided text into an array with a maximum length,
* separators specified.
*
* The separator is not included in the returned String array.
* Adjacent separators are treated as one separator.
*
* A {@code null} input String returns {@code null}.
* A {@code null} separatorChars splits on whitespace.
*
* If more than {@code max} delimited substrings are found, the last
* returned string includes all characters after the first {@code max - 1}
* returned strings (including separator characters).
*
*
* StringUtils.split(null, *, *) = null
* StringUtils.split("", *, *) = []
* StringUtils.split("ab cd ef", null, 0) = ["ab", "cd", "ef"]
* StringUtils.split("ab cd ef", null, 0) = ["ab", "cd", "ef"]
* StringUtils.split("ab:cd:ef", ":", 0) = ["ab", "cd", "ef"]
* StringUtils.split("ab:cd:ef", ":", 2) = ["ab", "cd:ef"]
*
*
* @param str the String to parse, may be null
* @param separatorChars the characters used as the delimiters,
* {@code null} splits on whitespace
* @param max the maximum number of elements to include in the
* array. A zero or negative value implies no limit
* @return an array of parsed Strings, {@code null} if null String input
*/
split(str:string,separatorChars:string,max:number):string[];
/**
* Splits a String by Character type as returned by
* {@code java.lang.Character.getType(char)}. Groups of contiguous
* characters of the same type are returned as complete tokens.
*
* StringUtils.splitByCharacterType(null) = null
* StringUtils.splitByCharacterType("") = []
* StringUtils.splitByCharacterType("ab de fg") = ["ab", " ", "de", " ", "fg"]
* StringUtils.splitByCharacterType("ab de fg") = ["ab", " ", "de", " ", "fg"]
* StringUtils.splitByCharacterType("ab:cd:ef") = ["ab", ":", "cd", ":", "ef"]
* StringUtils.splitByCharacterType("number5") = ["number", "5"]
* StringUtils.splitByCharacterType("fooBar") = ["foo", "B", "ar"]
* StringUtils.splitByCharacterType("foo200Bar") = ["foo", "200", "B", "ar"]
* StringUtils.splitByCharacterType("ASFRules") = ["ASFR", "ules"]
*
* @param str the String to split, may be {@code null}
* @return an array of parsed Strings, {@code null} if null String input
* @since 2.4
*/
splitByCharacterType(str:string):string[];
/**
* Splits a String by Character type as returned by
* {@code java.lang.Character.getType(char)}. Groups of contiguous
* characters of the same type are returned as complete tokens, with the
* following exception: the character of type
* {@code Character.UPPERCASE_LETTER}, if any, immediately
* preceding a token of type {@code Character.LOWERCASE_LETTER}
* will belong to the following token rather than to the preceding, if any,
* {@code Character.UPPERCASE_LETTER} token.
*
* StringUtils.splitByCharacterTypeCamelCase(null) = null
* StringUtils.splitByCharacterTypeCamelCase("") = []
* StringUtils.splitByCharacterTypeCamelCase("ab de fg") = ["ab", " ", "de", " ", "fg"]
* StringUtils.splitByCharacterTypeCamelCase("ab de fg") = ["ab", " ", "de", " ", "fg"]
* StringUtils.splitByCharacterTypeCamelCase("ab:cd:ef") = ["ab", ":", "cd", ":", "ef"]
* StringUtils.splitByCharacterTypeCamelCase("number5") = ["number", "5"]
* StringUtils.splitByCharacterTypeCamelCase("fooBar") = ["foo", "Bar"]
* StringUtils.splitByCharacterTypeCamelCase("foo200Bar") = ["foo", "200", "Bar"]
* StringUtils.splitByCharacterTypeCamelCase("ASFRules") = ["ASF", "Rules"]
*
* @param str the String to split, may be {@code null}
* @return an array of parsed Strings, {@code null} if null String input
* @since 2.4
*/
splitByCharacterTypeCamelCase(str:string):string[];
/**
* Splits the provided text into an array, using whitespace as the
* separator, preserving all tokens, including empty tokens created by
* adjacent separators. This is an alternative to using StringTokenizer.
* Whitespace is defined by {@link Character#isWhitespace(char)}.
*
* The separator is not included in the returned String array.
* Adjacent separators are treated as separators for empty tokens.
* For more control over the split use the StrTokenizer class.
*
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.splitPreserveAllTokens(null) = null
* StringUtils.splitPreserveAllTokens("") = []
* StringUtils.splitPreserveAllTokens("abc def") = ["abc", "def"]
* StringUtils.splitPreserveAllTokens("abc def") = ["abc", "", "def"]
* StringUtils.splitPreserveAllTokens(" abc ") = ["", "abc", ""]
*
*
* @param str the String to parse, may be {@code null}
* @return an array of parsed Strings, {@code null} if null String input
* @since 2.1
*/
splitPreserveAllTokens(str:string):string[];
/**
* Splits the provided text into an array, separators specified,
* preserving all tokens, including empty tokens created by adjacent
* separators. This is an alternative to using StringTokenizer.
*
* The separator is not included in the returned String array.
* Adjacent separators are treated as separators for empty tokens.
* For more control over the split use the StrTokenizer class.
*
* A {@code null} input String returns {@code null}.
* A {@code null} separatorChars splits on whitespace.
*
*
* StringUtils.splitPreserveAllTokens(null, *) = null
* StringUtils.splitPreserveAllTokens("", *) = []
* StringUtils.splitPreserveAllTokens("abc def", null) = ["abc", "def"]
* StringUtils.splitPreserveAllTokens("abc def", " ") = ["abc", "def"]
* StringUtils.splitPreserveAllTokens("abc def", " ") = ["abc", "", def"]
* StringUtils.splitPreserveAllTokens("ab:cd:ef", ":") = ["ab", "cd", "ef"]
* StringUtils.splitPreserveAllTokens("ab:cd:ef:", ":") = ["ab", "cd", "ef", ""]
* StringUtils.splitPreserveAllTokens("ab:cd:ef::", ":") = ["ab", "cd", "ef", "", ""]
* StringUtils.splitPreserveAllTokens("ab::cd:ef", ":") = ["ab", "", cd", "ef"]
* StringUtils.splitPreserveAllTokens(":cd:ef", ":") = ["", cd", "ef"]
* StringUtils.splitPreserveAllTokens("::cd:ef", ":") = ["", "", cd", "ef"]
* StringUtils.splitPreserveAllTokens(":cd:ef:", ":") = ["", cd", "ef", ""]
*
*
* @param str the String to parse, may be {@code null}
* @param separatorChars the characters used as the delimiters,
* {@code null} splits on whitespace
* @return an array of parsed Strings, {@code null} if null String input
* @since 2.1
*/
splitPreserveAllTokens(str:string,separatorChars:string):string[];
/**
* Splits the provided text into an array with a maximum length,
* separators specified, preserving all tokens, including empty tokens
* created by adjacent separators.
*
* The separator is not included in the returned String array.
* Adjacent separators are treated as separators for empty tokens.
* Adjacent separators are treated as one separator.
*
* A {@code null} input String returns {@code null}.
* A {@code null} separatorChars splits on whitespace.
*
* If more than {@code max} delimited substrings are found, the last
* returned string includes all characters after the first {@code max - 1}
* returned strings (including separator characters).
*
*
* StringUtils.splitPreserveAllTokens(null, *, *) = null
* StringUtils.splitPreserveAllTokens("", *, *) = []
* StringUtils.splitPreserveAllTokens("ab de fg", null, 0) = ["ab", "cd", "ef"]
* StringUtils.splitPreserveAllTokens("ab de fg", null, 0) = ["ab", "cd", "ef"]
* StringUtils.splitPreserveAllTokens("ab:cd:ef", ":", 0) = ["ab", "cd", "ef"]
* StringUtils.splitPreserveAllTokens("ab:cd:ef", ":", 2) = ["ab", "cd:ef"]
* StringUtils.splitPreserveAllTokens("ab de fg", null, 2) = ["ab", " de fg"]
* StringUtils.splitPreserveAllTokens("ab de fg", null, 3) = ["ab", "", " de fg"]
* StringUtils.splitPreserveAllTokens("ab de fg", null, 4) = ["ab", "", "", "de fg"]
*
*
* @param str the String to parse, may be {@code null}
* @param separatorChars the characters used as the delimiters,
* {@code null} splits on whitespace
* @param max the maximum number of elements to include in the
* array. A zero or negative value implies no limit
* @return an array of parsed Strings, {@code null} if null String input
* @since 2.1
*/
splitPreserveAllTokens(str:string,separatorChars:string,max:number):string[];
/**
* Check if a CharSequence starts with a specified prefix.
*
* {@code null}s are handled without exceptions. Two {@code null}
* references are considered to be equal. The comparison is case sensitive.
*
*
* StringUtils.startsWith(null, null) = true
* StringUtils.startsWith(null, "abc") = false
* StringUtils.startsWith("abcdef", null) = false
* StringUtils.startsWith("abcdef", "abc") = true
* StringUtils.startsWith("ABCDEF", "abc") = false
*
*
* @see java.lang.String#startsWith(String)
* @param str the CharSequence to check, may be null
* @param prefix the prefix to find, may be null
* @return {@code true} if the CharSequence starts with the prefix, case sensitive, or
* both {@code null}
* @since 2.4
* @since 3.0 Changed signature from startsWith(String, String) to startsWith(CharSequence, CharSequence)
*/
startsWith(str:$.java.lang.CharSequence,prefix:$.java.lang.CharSequence):boolean;
/**
* Check if a CharSequence starts with any of an array of specified strings.
*
*
* StringUtils.startsWithAny(null, null) = false
* StringUtils.startsWithAny(null, new String[] {"abc"}) = false
* StringUtils.startsWithAny("abcxyz", null) = false
* StringUtils.startsWithAny("abcxyz", new String[] {""}) = false
* StringUtils.startsWithAny("abcxyz", new String[] {"abc"}) = true
* StringUtils.startsWithAny("abcxyz", new String[] {null, "xyz", "abc"}) = true
*
*
* @param string the CharSequence to check, may be null
* @param searchStrings the CharSequences to find, may be null or empty
* @return {@code true} if the CharSequence starts with any of the the prefixes, case insensitive, or
* both {@code null}
* @since 2.5
* @since 3.0 Changed signature from startsWithAny(String, String[]) to startsWithAny(CharSequence, CharSequence...)
*/
startsWithAny(string_arg:$.java.lang.CharSequence,...searchStrings:$.java.lang.CharSequence[]):boolean;
/**
* Case insensitive check if a CharSequence starts with a specified prefix.
*
* {@code null}s are handled without exceptions. Two {@code null}
* references are considered to be equal. The comparison is case insensitive.
*
*
* StringUtils.startsWithIgnoreCase(null, null) = true
* StringUtils.startsWithIgnoreCase(null, "abc") = false
* StringUtils.startsWithIgnoreCase("abcdef", null) = false
* StringUtils.startsWithIgnoreCase("abcdef", "abc") = true
* StringUtils.startsWithIgnoreCase("ABCDEF", "abc") = true
*
*
* @see java.lang.String#startsWith(String)
* @param str the CharSequence to check, may be null
* @param prefix the prefix to find, may be null
* @return {@code true} if the CharSequence starts with the prefix, case insensitive, or
* both {@code null}
* @since 2.4
* @since 3.0 Changed signature from startsWithIgnoreCase(String, String) to startsWithIgnoreCase(CharSequence, CharSequence)
*/
startsWithIgnoreCase(str:$.java.lang.CharSequence,prefix:$.java.lang.CharSequence):boolean;
/**
* Strips whitespace from the start and end of a String.
*
* This is similar to {@link #trim(String)} but removes whitespace.
* Whitespace is defined by {@link Character#isWhitespace(char)}.
*
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.strip(null) = null
* StringUtils.strip("") = ""
* StringUtils.strip(" ") = ""
* StringUtils.strip("abc") = "abc"
* StringUtils.strip(" abc") = "abc"
* StringUtils.strip("abc ") = "abc"
* StringUtils.strip(" abc ") = "abc"
* StringUtils.strip(" ab c ") = "ab c"
*
*
* @param str the String to remove whitespace from, may be null
* @return the stripped String, {@code null} if null String input
*/
strip(str:string):string;
/**
* Strips any of a set of characters from the start and end of a String.
* This is similar to {@link String#trim()} but allows the characters
* to be stripped to be controlled.
*
* A {@code null} input String returns {@code null}.
* An empty string ("") input returns the empty string.
*
* If the stripChars String is {@code null}, whitespace is
* stripped as defined by {@link Character#isWhitespace(char)}.
* Alternatively use {@link #strip(String)}.
*
*
* StringUtils.strip(null, *) = null
* StringUtils.strip("", *) = ""
* StringUtils.strip("abc", null) = "abc"
* StringUtils.strip(" abc", null) = "abc"
* StringUtils.strip("abc ", null) = "abc"
* StringUtils.strip(" abc ", null) = "abc"
* StringUtils.strip(" abcyx", "xyz") = " abc"
*
*
* @param str the String to remove characters from, may be null
* @param stripChars the characters to remove, null treated as whitespace
* @return the stripped String, {@code null} if null String input
*/
strip(str:string,stripChars:string):string;
stripAccents(input:string):string;
/**
* Strips whitespace from the start and end of every String in an array.
* Whitespace is defined by {@link Character#isWhitespace(char)}.
*
* A new array is returned each time, except for length zero.
* A {@code null} array will return {@code null}.
* An empty array will return itself.
* A {@code null} array entry will be ignored.
*
*
* StringUtils.stripAll(null) = null
* StringUtils.stripAll([]) = []
* StringUtils.stripAll(["abc", " abc"]) = ["abc", "abc"]
* StringUtils.stripAll(["abc ", null]) = ["abc", null]
*
*
* @param strs the array to remove whitespace from, may be null
* @return the stripped Strings, {@code null} if null array input
*/
stripAll(...strs:string[]):string[];
/**
* Strips any of a set of characters from the start and end of every
* String in an array.
* Whitespace is defined by {@link Character#isWhitespace(char)}.
*
* A new array is returned each time, except for length zero.
* A {@code null} array will return {@code null}.
* An empty array will return itself.
* A {@code null} array entry will be ignored.
* A {@code null} stripChars will strip whitespace as defined by
* {@link Character#isWhitespace(char)}.
*
*
* StringUtils.stripAll(null, *) = null
* StringUtils.stripAll([], *) = []
* StringUtils.stripAll(["abc", " abc"], null) = ["abc", "abc"]
* StringUtils.stripAll(["abc ", null], null) = ["abc", null]
* StringUtils.stripAll(["abc ", null], "yz") = ["abc ", null]
* StringUtils.stripAll(["yabcz", null], "yz") = ["abc", null]
*
*
* @param strs the array to remove characters from, may be null
* @param stripChars the characters to remove, null treated as whitespace
* @return the stripped Strings, {@code null} if null array input
*/
stripAll(strs:string[],stripChars:string):string[];
/**
* Strips any of a set of characters from the end of a String.
*
* A {@code null} input String returns {@code null}.
* An empty string ("") input returns the empty string.
*
* If the stripChars String is {@code null}, whitespace is
* stripped as defined by {@link Character#isWhitespace(char)}.
*
*
* StringUtils.stripEnd(null, *) = null
* StringUtils.stripEnd("", *) = ""
* StringUtils.stripEnd("abc", "") = "abc"
* StringUtils.stripEnd("abc", null) = "abc"
* StringUtils.stripEnd(" abc", null) = " abc"
* StringUtils.stripEnd("abc ", null) = "abc"
* StringUtils.stripEnd(" abc ", null) = " abc"
* StringUtils.stripEnd(" abcyx", "xyz") = " abc"
* StringUtils.stripEnd("120.00", ".0") = "12"
*
*
* @param str the String to remove characters from, may be null
* @param stripChars the set of characters to remove, null treated as whitespace
* @return the stripped String, {@code null} if null String input
*/
stripEnd(str:string,stripChars:string):string;
/**
* Strips any of a set of characters from the start of a String.
*
* A {@code null} input String returns {@code null}.
* An empty string ("") input returns the empty string.
*
* If the stripChars String is {@code null}, whitespace is
* stripped as defined by {@link Character#isWhitespace(char)}.
*
*
* StringUtils.stripStart(null, *) = null
* StringUtils.stripStart("", *) = ""
* StringUtils.stripStart("abc", "") = "abc"
* StringUtils.stripStart("abc", null) = "abc"
* StringUtils.stripStart(" abc", null) = "abc"
* StringUtils.stripStart("abc ", null) = "abc "
* StringUtils.stripStart(" abc ", null) = "abc "
* StringUtils.stripStart("yxabc ", "xyz") = "abc "
*
*
* @param str the String to remove characters from, may be null
* @param stripChars the characters to remove, null treated as whitespace
* @return the stripped String, {@code null} if null String input
*/
stripStart(str:string,stripChars:string):string;
/**
* Strips whitespace from the start and end of a String returning
* an empty String if {@code null} input.
*
* This is similar to {@link #trimToEmpty(String)} but removes whitespace.
* Whitespace is defined by {@link Character#isWhitespace(char)}.
*
*
* StringUtils.stripToEmpty(null) = ""
* StringUtils.stripToEmpty("") = ""
* StringUtils.stripToEmpty(" ") = ""
* StringUtils.stripToEmpty("abc") = "abc"
* StringUtils.stripToEmpty(" abc") = "abc"
* StringUtils.stripToEmpty("abc ") = "abc"
* StringUtils.stripToEmpty(" abc ") = "abc"
* StringUtils.stripToEmpty(" ab c ") = "ab c"
*
*
* @param str the String to be stripped, may be null
* @return the trimmed String, or an empty String if {@code null} input
* @since 2.0
*/
stripToEmpty(str:string):string;
/**
* Strips whitespace from the start and end of a String returning
* {@code null} if the String is empty ("") after the strip.
*
* This is similar to {@link #trimToNull(String)} but removes whitespace.
* Whitespace is defined by {@link Character#isWhitespace(char)}.
*
*
* StringUtils.stripToNull(null) = null
* StringUtils.stripToNull("") = null
* StringUtils.stripToNull(" ") = null
* StringUtils.stripToNull("abc") = "abc"
* StringUtils.stripToNull(" abc") = "abc"
* StringUtils.stripToNull("abc ") = "abc"
* StringUtils.stripToNull(" abc ") = "abc"
* StringUtils.stripToNull(" ab c ") = "ab c"
*
*
* @param str the String to be stripped, may be null
* @return the stripped String,
* {@code null} if whitespace, empty or null String input
* @since 2.0
*/
stripToNull(str:string):string;
/**
* Gets a substring from the specified String avoiding exceptions.
*
* A negative start position can be used to start {@code n}
* characters from the end of the String.
*
* A {@code null} String will return {@code null}.
* An empty ("") String will return "".
*
*
* StringUtils.substring(null, *) = null
* StringUtils.substring("", *) = ""
* StringUtils.substring("abc", 0) = "abc"
* StringUtils.substring("abc", 2) = "c"
* StringUtils.substring("abc", 4) = ""
* StringUtils.substring("abc", -2) = "bc"
* StringUtils.substring("abc", -4) = "abc"
*
*
* @param str the String to get the substring from, may be null
* @param start the position to start from, negative means
* count back from the end of the String by this many characters
* @return substring from start position, {@code null} if null String input
*/
substring(str:string,start:number):string;
/**
* Gets a substring from the specified String avoiding exceptions.
*
* A negative start position can be used to start/end {@code n}
* characters from the end of the String.
*
* The returned substring starts with the character in the {@code start}
* position and ends before the {@code end} position. All position counting is
* zero-based -- i.e., to start at the beginning of the string use
* {@code start = 0}. Negative start and end positions can be used to
* specify offsets relative to the end of the String.
*
* If {@code start} is not strictly to the left of {@code end}, ""
* is returned.
*
*
* StringUtils.substring(null, *, *) = null
* StringUtils.substring("", * , *) = "";
* StringUtils.substring("abc", 0, 2) = "ab"
* StringUtils.substring("abc", 2, 0) = ""
* StringUtils.substring("abc", 2, 4) = "c"
* StringUtils.substring("abc", 4, 6) = ""
* StringUtils.substring("abc", 2, 2) = ""
* StringUtils.substring("abc", -2, -1) = "b"
* StringUtils.substring("abc", -4, 2) = "ab"
*
*
* @param str the String to get the substring from, may be null
* @param start the position to start from, negative means
* count back from the end of the String by this many characters
* @param end the position to end at (exclusive), negative means
* count back from the end of the String by this many characters
* @return substring from start position to end position,
* {@code null} if null String input
*/
substring(str:string,start:number,end:number):string;
/**
* Gets the substring after the first occurrence of a separator.
* The separator is not returned.
*
* A {@code null} string input will return {@code null}.
* An empty ("") string input will return the empty string.
* A {@code null} separator will return the empty string if the
* input string is not {@code null}.
*
* If nothing is found, the empty string is returned.
*
*
* StringUtils.substringAfter(null, *) = null
* StringUtils.substringAfter("", *) = ""
* StringUtils.substringAfter(*, null) = ""
* StringUtils.substringAfter("abc", "a") = "bc"
* StringUtils.substringAfter("abcba", "b") = "cba"
* StringUtils.substringAfter("abc", "c") = ""
* StringUtils.substringAfter("abc", "d") = ""
* StringUtils.substringAfter("abc", "") = "abc"
*
*
* @param str the String to get a substring from, may be null
* @param separator the String to search for, may be null
* @return the substring after the first occurrence of the separator,
* {@code null} if null String input
* @since 2.0
*/
substringAfter(str:string,separator:string):string;
/**
* Gets the substring after the last occurrence of a separator.
* The separator is not returned.
*
* A {@code null} string input will return {@code null}.
* An empty ("") string input will return the empty string.
* An empty or {@code null} separator will return the empty string if
* the input string is not {@code null}.
*
* If nothing is found, the empty string is returned.
*
*
* StringUtils.substringAfterLast(null, *) = null
* StringUtils.substringAfterLast("", *) = ""
* StringUtils.substringAfterLast(*, "") = ""
* StringUtils.substringAfterLast(*, null) = ""
* StringUtils.substringAfterLast("abc", "a") = "bc"
* StringUtils.substringAfterLast("abcba", "b") = "a"
* StringUtils.substringAfterLast("abc", "c") = ""
* StringUtils.substringAfterLast("a", "a") = ""
* StringUtils.substringAfterLast("a", "z") = ""
*
*
* @param str the String to get a substring from, may be null
* @param separator the String to search for, may be null
* @return the substring after the last occurrence of the separator,
* {@code null} if null String input
* @since 2.0
*/
substringAfterLast(str:string,separator:string):string;
/**
* Gets the substring before the first occurrence of a separator.
* The separator is not returned.
*
* A {@code null} string input will return {@code null}.
* An empty ("") string input will return the empty string.
* A {@code null} separator will return the input string.
*
* If nothing is found, the string input is returned.
*
*
* StringUtils.substringBefore(null, *) = null
* StringUtils.substringBefore("", *) = ""
* StringUtils.substringBefore("abc", "a") = ""
* StringUtils.substringBefore("abcba", "b") = "a"
* StringUtils.substringBefore("abc", "c") = "ab"
* StringUtils.substringBefore("abc", "d") = "abc"
* StringUtils.substringBefore("abc", "") = ""
* StringUtils.substringBefore("abc", null) = "abc"
*
*
* @param str the String to get a substring from, may be null
* @param separator the String to search for, may be null
* @return the substring before the first occurrence of the separator,
* {@code null} if null String input
* @since 2.0
*/
substringBefore(str:string,separator:string):string;
/**
* Gets the substring before the last occurrence of a separator.
* The separator is not returned.
*
* A {@code null} string input will return {@code null}.
* An empty ("") string input will return the empty string.
* An empty or {@code null} separator will return the input string.
*
* If nothing is found, the string input is returned.
*
*
* StringUtils.substringBeforeLast(null, *) = null
* StringUtils.substringBeforeLast("", *) = ""
* StringUtils.substringBeforeLast("abcba", "b") = "abc"
* StringUtils.substringBeforeLast("abc", "c") = "ab"
* StringUtils.substringBeforeLast("a", "a") = ""
* StringUtils.substringBeforeLast("a", "z") = "a"
* StringUtils.substringBeforeLast("a", null) = "a"
* StringUtils.substringBeforeLast("a", "") = "a"
*
*
* @param str the String to get a substring from, may be null
* @param separator the String to search for, may be null
* @return the substring before the last occurrence of the separator,
* {@code null} if null String input
* @since 2.0
*/
substringBeforeLast(str:string,separator:string):string;
/**
* Gets the String that is nested in between two instances of the
* same String.
*
* A {@code null} input String returns {@code null}.
* A {@code null} tag returns {@code null}.
*
*
* StringUtils.substringBetween(null, *) = null
* StringUtils.substringBetween("", "") = ""
* StringUtils.substringBetween("", "tag") = null
* StringUtils.substringBetween("tagabctag", null) = null
* StringUtils.substringBetween("tagabctag", "") = ""
* StringUtils.substringBetween("tagabctag", "tag") = "abc"
*
*
* @param str the String containing the substring, may be null
* @param tag the String before and after the substring, may be null
* @return the substring, {@code null} if no match
* @since 2.0
*/
substringBetween(str:string,tag:string):string;
/**
* Gets the String that is nested in between two Strings.
* Only the first match is returned.
*
* A {@code null} input String returns {@code null}.
* A {@code null} open/close returns {@code null} (no match).
* An empty ("") open and close returns an empty string.
*
*
* StringUtils.substringBetween("wx[b]yz", "[", "]") = "b"
* StringUtils.substringBetween(null, *, *) = null
* StringUtils.substringBetween(*, null, *) = null
* StringUtils.substringBetween(*, *, null) = null
* StringUtils.substringBetween("", "", "") = ""
* StringUtils.substringBetween("", "", "]") = null
* StringUtils.substringBetween("", "[", "]") = null
* StringUtils.substringBetween("yabcz", "", "") = ""
* StringUtils.substringBetween("yabcz", "y", "z") = "abc"
* StringUtils.substringBetween("yabczyabcz", "y", "z") = "abc"
*
*
* @param str the String containing the substring, may be null
* @param open the String before the substring, may be null
* @param close the String after the substring, may be null
* @return the substring, {@code null} if no match
* @since 2.0
*/
substringBetween(str:string,open:string,close:string):string;
/**
* Swaps the case of a String changing upper and title case to
* lower case, and lower case to upper case.
*
*
* - Upper case character converts to Lower case
* - Title case character converts to Lower case
* - Lower case character converts to Upper case
*
*
* For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#swapCase(String)}.
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.swapCase(null) = null
* StringUtils.swapCase("") = ""
* StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
*
*
* NOTE: This method changed in Lang version 2.0.
* It no longer performs a word based algorithm.
* If you only use ASCII, you will notice no change.
* That functionality is available in org.apache.commons.lang3.text.WordUtils.
*
* @param str the String to swap case, may be null
* @return the changed String, {@code null} if null String input
*/
swapCase(str:string):string;
/**
* Converts a byte[]
to a String using the specified character encoding.
*
* @param bytes
* the byte array to read from
* @param charset
* the encoding to use, if null then use the platform default
* @return a new String
* @throws NullPointerException
* if {@code bytes} is null
* @since 3.2
* @since 3.3 No longer throws {@link UnsupportedEncodingException}.
*/
toEncodedString(bytes:number[],charset:$.java.nio.charset.Charset):string;
/**
* Removes control characters (char <= 32) from both
* ends of this String, handling {@code null} by returning
* {@code null}.
*
* The String is trimmed using {@link String#trim()}.
* Trim removes start and end characters <= 32.
* To strip whitespace use {@link #strip(String)}.
*
* To trim your choice of characters, use the
* {@link #strip(String, String)} methods.
*
*
* StringUtils.trim(null) = null
* StringUtils.trim("") = ""
* StringUtils.trim(" ") = ""
* StringUtils.trim("abc") = "abc"
* StringUtils.trim(" abc ") = "abc"
*
*
* @param str the String to be trimmed, may be null
* @return the trimmed string, {@code null} if null String input
*/
trim(str:string):string;
/**
* Removes control characters (char <= 32) from both
* ends of this String returning an empty String ("") if the String
* is empty ("") after the trim or if it is {@code null}.
*
*
The String is trimmed using {@link String#trim()}.
* Trim removes start and end characters <= 32.
* To strip whitespace use {@link #stripToEmpty(String)}.
*
*
* StringUtils.trimToEmpty(null) = ""
* StringUtils.trimToEmpty("") = ""
* StringUtils.trimToEmpty(" ") = ""
* StringUtils.trimToEmpty("abc") = "abc"
* StringUtils.trimToEmpty(" abc ") = "abc"
*
*
* @param str the String to be trimmed, may be null
* @return the trimmed String, or an empty String if {@code null} input
* @since 2.0
*/
trimToEmpty(str:string):string;
/**
* Removes control characters (char <= 32) from both
* ends of this String returning {@code null} if the String is
* empty ("") after the trim or if it is {@code null}.
*
*
The String is trimmed using {@link String#trim()}.
* Trim removes start and end characters <= 32.
* To strip whitespace use {@link #stripToNull(String)}.
*
*
* StringUtils.trimToNull(null) = null
* StringUtils.trimToNull("") = null
* StringUtils.trimToNull(" ") = null
* StringUtils.trimToNull("abc") = "abc"
* StringUtils.trimToNull(" abc ") = "abc"
*
*
* @param str the String to be trimmed, may be null
* @return the trimmed String,
* {@code null} if only chars <= 32, empty or null String input
* @since 2.0
*/
trimToNull(str:string):string;
/**
* Uncapitalizes a String changing the first letter to title case as
* per {@link Character#toLowerCase(char)}. No other letters are changed.
*
* For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#uncapitalize(String)}.
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.uncapitalize(null) = null
* StringUtils.uncapitalize("") = ""
* StringUtils.uncapitalize("Cat") = "cat"
* StringUtils.uncapitalize("CAT") = "cAT"
*
*
* @param str the String to uncapitalize, may be null
* @return the uncapitalized String, {@code null} if null String input
* @see org.apache.commons.lang3.text.WordUtils#uncapitalize(String)
* @see #capitalize(String)
* @since 2.0
*/
uncapitalize(str:string):string;
/**
* Converts a String to upper case as per {@link String#toUpperCase()}.
*
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.upperCase(null) = null
* StringUtils.upperCase("") = ""
* StringUtils.upperCase("aBc") = "ABC"
*
*
* Note: As described in the documentation for {@link String#toUpperCase()},
* the result of this method is affected by the current locale.
* For platform-independent case transformations, the method {@link #lowerCase(String, Locale)}
* should be used with a specific locale (e.g. {@link Locale#ENGLISH}).
*
* @param str the String to upper case, may be null
* @return the upper cased String, {@code null} if null String input
*/
upperCase(str:string):string;
/**
* Converts a String to upper case as per {@link String#toUpperCase(Locale)}.
*
* A {@code null} input String returns {@code null}.
*
*
* StringUtils.upperCase(null, Locale.ENGLISH) = null
* StringUtils.upperCase("", Locale.ENGLISH) = ""
* StringUtils.upperCase("aBc", Locale.ENGLISH) = "ABC"
*
*
* @param str the String to upper case, may be null
* @param locale the locale that defines the case transformation rules, must not be null
* @return the upper cased String, {@code null} if null String input
* @since 2.5
*/
upperCase(str:string,locale:$.java.util.Locale):string;
/**
*
* Wraps a string with a char.
*
*
*
* StringUtils.wrap(null, *) = null
* StringUtils.wrap("", *) = ""
* StringUtils.wrap("ab", '\0') = "ab"
* StringUtils.wrap("ab", 'x') = "xabx"
* StringUtils.wrap("ab", '\'') = "'ab'"
* StringUtils.wrap("\"ab\"", '\"') = "\"\"ab\"\""
*
*
* @param str
* the string to be wrapped, may be {@code null}
* @param wrapWith
* the char that will wrap {@code str}
* @return the wrapped string, or {@code null} if {@code str==null}
* @since 3.4
*/
wrap(str:string,wrapWith:string):string;
/**
*
* Wraps a String with another String.
*
*
*
* A {@code null} input String returns {@code null}.
*
*
*
* StringUtils.wrap(null, *) = null
* StringUtils.wrap("", *) = ""
* StringUtils.wrap("ab", null) = "ab"
* StringUtils.wrap("ab", "x") = "xabx"
* StringUtils.wrap("ab", "\"") = "\"ab\""
* StringUtils.wrap("\"ab\"", "\"") = "\"\"ab\"\""
* StringUtils.wrap("ab", "'") = "'ab'"
* StringUtils.wrap("'abcd'", "'") = "''abcd''"
* StringUtils.wrap("\"abcd\"", "'") = "'\"abcd\"'"
* StringUtils.wrap("'abcd'", "\"") = "\"'abcd'\""
*
*
* @param str
* the String to be wrapper, may be null
* @param wrapWith
* the String that will wrap str
* @return wrapped String, {@code null} if null String input
* @since 3.4
*/
wrap(str:string,wrapWith:string):string;
}
interface StringUtils_C extends StringUtils_S {
/**
* {@code StringUtils} instances should NOT be constructed in
* standard programming. Instead, the class should be used as
* {@code StringUtils.trim(" foo ");}.
*
* This constructor is public to permit tools that require a JavaBean
* instance to operate.
*/
new():StringUtils;
}
interface StringUtils$ {
}
type StringUtils_T = StringUtils_S & StringUtils$;
interface StringUtils extends StringUtils_T {
}
interface CharUtils_S {
readonly CR:string;
readonly LF:string;
/**
* Compares two {@code char} values numerically. This is the same functionality as provided in Java 7.
*
* @param x the first {@code char} to compare
* @param y the second {@code char} to compare
* @return the value {@code 0} if {@code x == y};
* a value less than {@code 0} if {@code x < y}; and
* a value greater than {@code 0} if {@code x > y}
* @since 3.4
*/
compare(x:string,y:string):number;
/**
* Checks whether the character is ASCII 7 bit.
*
*
* CharUtils.isAscii('a') = true
* CharUtils.isAscii('A') = true
* CharUtils.isAscii('3') = true
* CharUtils.isAscii('-') = true
* CharUtils.isAscii('\n') = true
* CharUtils.isAscii('©') = false
*
*
* @param ch the character to check
* @return true if less than 128
*/
isAscii(ch:string):boolean;
/**
* Checks whether the character is ASCII 7 bit alphabetic.
*
*
* CharUtils.isAsciiAlpha('a') = true
* CharUtils.isAsciiAlpha('A') = true
* CharUtils.isAsciiAlpha('3') = false
* CharUtils.isAsciiAlpha('-') = false
* CharUtils.isAsciiAlpha('\n') = false
* CharUtils.isAsciiAlpha('©') = false
*
*
* @param ch the character to check
* @return true if between 65 and 90 or 97 and 122 inclusive
*/
isAsciiAlpha(ch:string):boolean;
/**
* Checks whether the character is ASCII 7 bit alphabetic lower case.
*
*
* CharUtils.isAsciiAlphaLower('a') = true
* CharUtils.isAsciiAlphaLower('A') = false
* CharUtils.isAsciiAlphaLower('3') = false
* CharUtils.isAsciiAlphaLower('-') = false
* CharUtils.isAsciiAlphaLower('\n') = false
* CharUtils.isAsciiAlphaLower('©') = false
*
*
* @param ch the character to check
* @return true if between 97 and 122 inclusive
*/
isAsciiAlphaLower(ch:string):boolean;
/**
* Checks whether the character is ASCII 7 bit alphabetic upper case.
*
*
* CharUtils.isAsciiAlphaUpper('a') = false
* CharUtils.isAsciiAlphaUpper('A') = true
* CharUtils.isAsciiAlphaUpper('3') = false
* CharUtils.isAsciiAlphaUpper('-') = false
* CharUtils.isAsciiAlphaUpper('\n') = false
* CharUtils.isAsciiAlphaUpper('©') = false
*
*
* @param ch the character to check
* @return true if between 65 and 90 inclusive
*/
isAsciiAlphaUpper(ch:string):boolean;
/**
* Checks whether the character is ASCII 7 bit numeric.
*
*
* CharUtils.isAsciiAlphanumeric('a') = true
* CharUtils.isAsciiAlphanumeric('A') = true
* CharUtils.isAsciiAlphanumeric('3') = true
* CharUtils.isAsciiAlphanumeric('-') = false
* CharUtils.isAsciiAlphanumeric('\n') = false
* CharUtils.isAsciiAlphanumeric('©') = false
*
*
* @param ch the character to check
* @return true if between 48 and 57 or 65 and 90 or 97 and 122 inclusive
*/
isAsciiAlphanumeric(ch:string):boolean;
/**
* Checks whether the character is ASCII 7 bit control.
*
*
* CharUtils.isAsciiControl('a') = false
* CharUtils.isAsciiControl('A') = false
* CharUtils.isAsciiControl('3') = false
* CharUtils.isAsciiControl('-') = false
* CharUtils.isAsciiControl('\n') = true
* CharUtils.isAsciiControl('©') = false
*
*
* @param ch the character to check
* @return true if less than 32 or equals 127
*/
isAsciiControl(ch:string):boolean;
/**
* Checks whether the character is ASCII 7 bit numeric.
*
*
* CharUtils.isAsciiNumeric('a') = false
* CharUtils.isAsciiNumeric('A') = false
* CharUtils.isAsciiNumeric('3') = true
* CharUtils.isAsciiNumeric('-') = false
* CharUtils.isAsciiNumeric('\n') = false
* CharUtils.isAsciiNumeric('©') = false
*
*
* @param ch the character to check
* @return true if between 48 and 57 inclusive
*/
isAsciiNumeric(ch:string):boolean;
/**
* Checks whether the character is ASCII 7 bit printable.
*
*
* CharUtils.isAsciiPrintable('a') = true
* CharUtils.isAsciiPrintable('A') = true
* CharUtils.isAsciiPrintable('3') = true
* CharUtils.isAsciiPrintable('-') = true
* CharUtils.isAsciiPrintable('\n') = false
* CharUtils.isAsciiPrintable('©') = false
*
*
* @param ch the character to check
* @return true if between 32 and 126 inclusive
*/
isAsciiPrintable(ch:string):boolean;
/**
* Converts the Character to a char throwing an exception for {@code null}.
*
*
* CharUtils.toChar(' ') = ' '
* CharUtils.toChar('A') = 'A'
* CharUtils.toChar(null) throws IllegalArgumentException
*
*
* @param ch the character to convert
* @return the char value of the Character
* @throws IllegalArgumentException if the Character is null
*/
toChar(ch:string):string;
/**
* Converts the String to a char using the first character, throwing
* an exception on empty Strings.
*
*
* CharUtils.toChar("A") = 'A'
* CharUtils.toChar("BA") = 'B'
* CharUtils.toChar(null) throws IllegalArgumentException
* CharUtils.toChar("") throws IllegalArgumentException
*
*
* @param str the character to convert
* @return the char value of the first letter of the String
* @throws IllegalArgumentException if the String is empty
*/
toChar(str:string):string;
/**
* Converts the Character to a char handling {@code null}.
*
*
* CharUtils.toChar(null, 'X') = 'X'
* CharUtils.toChar(' ', 'X') = ' '
* CharUtils.toChar('A', 'X') = 'A'
*
*
* @param ch the character to convert
* @param defaultValue the value to use if the Character is null
* @return the char value of the Character or the default if null
*/
toChar(ch:string,defaultValue:string):string;
/**
* Converts the String to a char using the first character, defaulting
* the value on empty Strings.
*
*
* CharUtils.toChar(null, 'X') = 'X'
* CharUtils.toChar("", 'X') = 'X'
* CharUtils.toChar("A", 'X') = 'A'
* CharUtils.toChar("BA", 'X') = 'B'
*
*
* @param str the character to convert
* @param defaultValue the value to use if the Character is null
* @return the char value of the first letter of the String or the default if null
*/
toChar(str:string,defaultValue:string):string;
/**
* Converts the String to a Character using the first character, returning
* null for empty Strings.
*
* For ASCII 7 bit characters, this uses a cache that will return the
* same Character object each time.
*
*
* CharUtils.toCharacterObject(null) = null
* CharUtils.toCharacterObject("") = null
* CharUtils.toCharacterObject("A") = 'A'
* CharUtils.toCharacterObject("BA") = 'B'
*
*
* @param str the character to convert
* @return the Character value of the first letter of the String
*/
toCharacterObject(str:string):string;
/**
* Converts the character to the Integer it represents, throwing an
* exception if the character is not numeric.
*
* This method coverts the char '1' to the int 1 and so on.
*
*
* CharUtils.toIntValue('3') = 3
* CharUtils.toIntValue(null) throws IllegalArgumentException
* CharUtils.toIntValue('A') throws IllegalArgumentException
*
*
* @param ch the character to convert, not null
* @return the int value of the character
* @throws IllegalArgumentException if the Character is not ASCII numeric or is null
*/
toIntValue(ch:string):number;
/**
* Converts the character to the Integer it represents, throwing an
* exception if the character is not numeric.
*
* This method coverts the char '1' to the int 1 and so on.
*
*
* CharUtils.toIntValue('3') = 3
* CharUtils.toIntValue('A') throws IllegalArgumentException
*
*
* @param ch the character to convert
* @return the int value of the character
* @throws IllegalArgumentException if the character is not ASCII numeric
*/
toIntValue(ch:string):number;
/**
* Converts the character to the Integer it represents, throwing an
* exception if the character is not numeric.
*
* This method coverts the char '1' to the int 1 and so on.
*
*
* CharUtils.toIntValue(null, -1) = -1
* CharUtils.toIntValue('3', -1) = 3
* CharUtils.toIntValue('A', -1) = -1
*
*
* @param ch the character to convert
* @param defaultValue the default value to use if the character is not numeric
* @return the int value of the character
*/
toIntValue(ch:string,defaultValue:number):number;
/**
* Converts the character to the Integer it represents, throwing an
* exception if the character is not numeric.
*
* This method coverts the char '1' to the int 1 and so on.
*
*
* CharUtils.toIntValue('3', -1) = 3
* CharUtils.toIntValue('A', -1) = -1
*
*
* @param ch the character to convert
* @param defaultValue the default value to use if the character is not numeric
* @return the int value of the character
*/
toIntValue(ch:string,defaultValue:number):number;
/**
* Converts the character to a String that contains the one character.
*
* For ASCII 7 bit characters, this uses a cache that will return the
* same String object each time.
*
* If {@code null} is passed in, {@code null} will be returned.
*
*
* CharUtils.toString(null) = null
* CharUtils.toString(' ') = " "
* CharUtils.toString('A') = "A"
*
*
* @param ch the character to convert
* @return a String containing the one specified character
*/
toString(ch:string):string;
/**
* Converts the character to a String that contains the one character.
*
* For ASCII 7 bit characters, this uses a cache that will return the
* same String object each time.
*
*
* CharUtils.toString(' ') = " "
* CharUtils.toString('A') = "A"
*
*
* @param ch the character to convert
* @return a String containing the one specified character
*/
toString(ch:string):string;
/**
* Converts the string to the Unicode format '\u0020'.
*
* This format is the Java source code format.
*
* If {@code null} is passed in, {@code null} will be returned.
*
*
* CharUtils.unicodeEscaped(null) = null
* CharUtils.unicodeEscaped(' ') = "\u0020"
* CharUtils.unicodeEscaped('A') = "\u0041"
*
*
* @param ch the character to convert, may be null
* @return the escaped Unicode string, null if null input
*/
unicodeEscaped(ch:string):string;
/**
* Converts the string to the Unicode format '\u0020'.
*
* This format is the Java source code format.
*
*
* CharUtils.unicodeEscaped(' ') = "\u0020"
* CharUtils.unicodeEscaped('A') = "\u0041"
*
*
* @param ch the character to convert
* @return the escaped Unicode string
*/
unicodeEscaped(ch:string):string;
}
interface CharUtils_C extends CharUtils_S {
/**
* {@code CharUtils} instances should NOT be constructed in standard programming.
* Instead, the class should be used as {@code CharUtils.toString('c');}.
*
* This constructor is public to permit tools that require a JavaBean instance
* to operate.
*/
new():CharUtils;
}
interface CharUtils$ {
}
type CharUtils_T = CharUtils_S & CharUtils$;
interface CharUtils extends CharUtils_T {
}
interface ArrayUtils_S {
readonly EMPTY_BOOLEAN_ARRAY:boolean[];
readonly EMPTY_BOOLEAN_OBJECT_ARRAY:boolean[];
readonly EMPTY_BYTE_ARRAY:number[];
readonly EMPTY_BYTE_OBJECT_ARRAY:number[];
readonly EMPTY_CHARACTER_OBJECT_ARRAY:string[];
readonly EMPTY_CHAR_ARRAY:string[];
readonly EMPTY_CLASS_ARRAY:$.java.lang.Class[];
readonly EMPTY_DOUBLE_ARRAY:number[];
readonly EMPTY_DOUBLE_OBJECT_ARRAY:number[];
readonly EMPTY_FLOAT_ARRAY:number[];
readonly EMPTY_FLOAT_OBJECT_ARRAY:number[];
readonly EMPTY_INTEGER_OBJECT_ARRAY:number[];
readonly EMPTY_INT_ARRAY:number[];
readonly EMPTY_LONG_ARRAY:long[];
readonly EMPTY_LONG_OBJECT_ARRAY:long[];
readonly EMPTY_OBJECT_ARRAY:any[];
readonly EMPTY_SHORT_ARRAY:number[];
readonly EMPTY_SHORT_OBJECT_ARRAY:number[];
readonly EMPTY_STRING_ARRAY:string[];
readonly INDEX_NOT_FOUND:number;
add(arg0:any[],arg1:any):any[];
/**
* Copies the given array and adds the given element at the end of the new array.
*
* The new array contains the same elements of the input
* array plus the given element in the last position. The component type of
* the new array is the same as that of the input array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add(null, 0) = [0]
* ArrayUtils.add([1], 0) = [1, 0]
* ArrayUtils.add([1, 0], 1) = [1, 0, 1]
*
*
* @param array the array to copy and add the element to, may be {@code null}
* @param element the object to add at the last index of the new array
* @return A new array containing the existing elements plus the new element
* @since 2.1
*/
add(array:number[],element:number):number[];
/**
* Copies the given array and adds the given element at the end of the new array.
*
* The new array contains the same elements of the input
* array plus the given element in the last position. The component type of
* the new array is the same as that of the input array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add(null, true) = [true]
* ArrayUtils.add([true], false) = [true, false]
* ArrayUtils.add([true, false], true) = [true, false, true]
*
*
* @param array the array to copy and add the element to, may be {@code null}
* @param element the object to add at the last index of the new array
* @return A new array containing the existing elements plus the new element
* @since 2.1
*/
add(array:boolean[],element:boolean):boolean[];
/**
* Copies the given array and adds the given element at the end of the new array.
*
* The new array contains the same elements of the input
* array plus the given element in the last position. The component type of
* the new array is the same as that of the input array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add(null, '0') = ['0']
* ArrayUtils.add(['1'], '0') = ['1', '0']
* ArrayUtils.add(['1', '0'], '1') = ['1', '0', '1']
*
*
* @param array the array to copy and add the element to, may be {@code null}
* @param element the object to add at the last index of the new array
* @return A new array containing the existing elements plus the new element
* @since 2.1
*/
add(array:string[],element:string):string[];
/**
* Copies the given array and adds the given element at the end of the new array.
*
* The new array contains the same elements of the input
* array plus the given element in the last position. The component type of
* the new array is the same as that of the input array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add(null, 0) = [0]
* ArrayUtils.add([1], 0) = [1, 0]
* ArrayUtils.add([1, 0], 1) = [1, 0, 1]
*
*
* @param array the array to copy and add the element to, may be {@code null}
* @param element the object to add at the last index of the new array
* @return A new array containing the existing elements plus the new element
* @since 2.1
*/
add(array:long[],element:long):long[];
add(arg0:any[],arg1:number,arg2:any):any[];
/**
* Inserts the specified element at the specified position in the array.
* Shifts the element currently at that position (if any) and any subsequent
* elements to the right (adds one to their indices).
*
* This method returns a new array with the same elements of the input
* array plus the given element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add([1.1], 0, 2.2) = [2.2, 1.1]
* ArrayUtils.add([2.3, 6.4], 2, 10.5) = [2.3, 6.4, 10.5]
* ArrayUtils.add([2.6, 6.7], 0, -4.8) = [-4.8, 2.6, 6.7]
* ArrayUtils.add([2.9, 6.0, 0.3], 2, 1.0) = [2.9, 6.0, 1.0, 0.3]
*
*
* @param array the array to add the element to, may be {@code null}
* @param index the position of the new object
* @param element the object to add
* @return A new array containing the existing elements and the new element
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index > array.length).
*/
add(array:number[],index:number,element:number):number[];
/**
* Inserts the specified element at the specified position in the array.
* Shifts the element currently at that position (if any) and any subsequent
* elements to the right (adds one to their indices).
*
* This method returns a new array with the same elements of the input
* array plus the given element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add([1], 0, 2) = [2, 1]
* ArrayUtils.add([2, 6], 2, 10) = [2, 6, 10]
* ArrayUtils.add([2, 6], 0, -4) = [-4, 2, 6]
* ArrayUtils.add([2, 6, 3], 2, 1) = [2, 6, 1, 3]
*
*
* @param array the array to add the element to, may be {@code null}
* @param index the position of the new object
* @param element the object to add
* @return A new array containing the existing elements and the new element
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index > array.length).
*/
add(array:number[],index:number,element:number):number[];
/**
* Inserts the specified element at the specified position in the array.
* Shifts the element currently at that position (if any) and any subsequent
* elements to the right (adds one to their indices).
*
* This method returns a new array with the same elements of the input
* array plus the given element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add(null, 0, true) = [true]
* ArrayUtils.add([true], 0, false) = [false, true]
* ArrayUtils.add([false], 1, true) = [false, true]
* ArrayUtils.add([true, false], 1, true) = [true, true, false]
*
*
* @param array the array to add the element to, may be {@code null}
* @param index the position of the new object
* @param element the object to add
* @return A new array containing the existing elements and the new element
* @throws IndexOutOfBoundsException if the index is out of range (index < 0 || index > array.length).
*/
add(array:boolean[],index:number,element:boolean):boolean[];
/**
* Inserts the specified element at the specified position in the array.
* Shifts the element currently at that position (if any) and any subsequent
* elements to the right (adds one to their indices).
*
* This method returns a new array with the same elements of the input
* array plus the given element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add(null, 0, 'a') = ['a']
* ArrayUtils.add(['a'], 0, 'b') = ['b', 'a']
* ArrayUtils.add(['a', 'b'], 0, 'c') = ['c', 'a', 'b']
* ArrayUtils.add(['a', 'b'], 1, 'k') = ['a', 'k', 'b']
* ArrayUtils.add(['a', 'b', 'c'], 1, 't') = ['a', 't', 'b', 'c']
*
*
* @param array the array to add the element to, may be {@code null}
* @param index the position of the new object
* @param element the object to add
* @return A new array containing the existing elements and the new element
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index > array.length).
*/
add(array:string[],index:number,element:string):string[];
/**
* Inserts the specified element at the specified position in the array.
* Shifts the element currently at that position (if any) and any subsequent
* elements to the right (adds one to their indices).
*
* This method returns a new array with the same elements of the input
* array plus the given element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add([1.1f], 0, 2.2f) = [2.2f, 1.1f]
* ArrayUtils.add([2.3f, 6.4f], 2, 10.5f) = [2.3f, 6.4f, 10.5f]
* ArrayUtils.add([2.6f, 6.7f], 0, -4.8f) = [-4.8f, 2.6f, 6.7f]
* ArrayUtils.add([2.9f, 6.0f, 0.3f], 2, 1.0f) = [2.9f, 6.0f, 1.0f, 0.3f]
*
*
* @param array the array to add the element to, may be {@code null}
* @param index the position of the new object
* @param element the object to add
* @return A new array containing the existing elements and the new element
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index > array.length).
*/
add(array:number[],index:number,element:number):number[];
/**
* Inserts the specified element at the specified position in the array.
* Shifts the element currently at that position (if any) and any subsequent
* elements to the right (adds one to their indices).
*
* This method returns a new array with the same elements of the input
* array plus the given element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add([1L], 0, 2L) = [2L, 1L]
* ArrayUtils.add([2L, 6L], 2, 10L) = [2L, 6L, 10L]
* ArrayUtils.add([2L, 6L], 0, -4L) = [-4L, 2L, 6L]
* ArrayUtils.add([2L, 6L, 3L], 2, 1L) = [2L, 6L, 1L, 3L]
*
*
* @param array the array to add the element to, may be {@code null}
* @param index the position of the new object
* @param element the object to add
* @return A new array containing the existing elements and the new element
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index > array.length).
*/
add(array:long[],index:number,element:long):long[];
/**
* Inserts the specified element at the specified position in the array.
* Shifts the element currently at that position (if any) and any subsequent
* elements to the right (adds one to their indices).
*
* This method returns a new array with the same elements of the input
* array plus the given element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, a new one element array is returned
* whose component type is the same as the element.
*
*
* ArrayUtils.add([1], 0, 2) = [2, 1]
* ArrayUtils.add([2, 6], 2, 3) = [2, 6, 3]
* ArrayUtils.add([2, 6], 0, 1) = [1, 2, 6]
* ArrayUtils.add([2, 6, 3], 2, 1) = [2, 6, 1, 3]
*
*
* @param array the array to add the element to, may be {@code null}
* @param index the position of the new object
* @param element the object to add
* @return A new array containing the existing elements and the new element
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index > array.length).
*/
add(array:number[],index:number,element:number):number[];
addAll(arg0:any[],...arg1:any[]):any[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new float[] array.
* @since 2.1
*/
addAll(array1:number[],...array2:number[]):number[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new boolean[] array.
* @since 2.1
*/
addAll(array1:boolean[],...array2:boolean[]):boolean[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new long[] array.
* @since 2.1
*/
addAll(array1:long[],...array2:long[]):long[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new short[] array.
* @since 2.1
*/
addAll(array1:number[],...array2:number[]):number[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new byte[] array.
* @since 2.1
*/
addAll(array1:number[],...array2:number[]):number[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new char[] array.
* @since 2.1
*/
addAll(array1:string[],...array2:string[]):string[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new double[] array.
* @since 2.1
*/
addAll(array1:number[],...array2:number[]):number[];
/**
* Adds all the elements of the given arrays into a new array.
* The new array contains all of the element of {@code array1} followed
* by all of the elements {@code array2}. When an array is returned, it is always
* a new array.
*
*
* ArrayUtils.addAll(array1, null) = cloned copy of array1
* ArrayUtils.addAll(null, array2) = cloned copy of array2
* ArrayUtils.addAll([], []) = []
*
*
* @param array1 the first array whose elements are added to the new array.
* @param array2 the second array whose elements are added to the new array.
* @return The new int[] array.
* @since 2.1
*/
addAll(array1:number[],...array2:number[]):number[];
clone(arg0:any[]):any[];
/**
* Clones an array returning a typecast result and handling
* {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array the array to clone, may be {@code null}
* @return the cloned array, {@code null} if {@code null} input
*/
clone(array:string[]):string[];
/**
* Clones an array returning a typecast result and handling
* {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array the array to clone, may be {@code null}
* @return the cloned array, {@code null} if {@code null} input
*/
clone(array:boolean[]):boolean[];
/**
* Clones an array returning a typecast result and handling
* {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array the array to clone, may be {@code null}
* @return the cloned array, {@code null} if {@code null} input
*/
clone(array:number[]):number[];
/**
* Clones an array returning a typecast result and handling
* {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array the array to clone, may be {@code null}
* @return the cloned array, {@code null} if {@code null} input
*/
clone(array:long[]):long[];
/**
* Checks if the value is in the given array.
*
* The method returns {@code false} if a {@code null} array is passed in.
*
* @param array the array to search through
* @param valueToFind the value to find
* @return {@code true} if the array contains the object
*/
contains(array:long[],valueToFind:long):boolean;
/**
* Checks if the value is in the given array.
*
* The method returns {@code false} if a {@code null} array is passed in.
*
* @param array the array to search through
* @param valueToFind the value to find
* @return {@code true} if the array contains the object
*/
contains(array:boolean[],valueToFind:boolean):boolean;
/**
* Checks if the value is in the given array.
*
* The method returns {@code false} if a {@code null} array is passed in.
*
* @param array the array to search through
* @param valueToFind the value to find
* @return {@code true} if the array contains the object
*/
contains(array:number[],valueToFind:number):boolean;
/**
* Checks if the object is in the given array.
*
* The method returns {@code false} if a {@code null} array is passed in.
*
* @param array the array to search through
* @param objectToFind the object to find
* @return {@code true} if the array contains the object
*/
contains(array:any[],objectToFind:any):boolean;
/**
* Checks if the value is in the given array.
*
* The method returns {@code false} if a {@code null} array is passed in.
*
* @param array the array to search through
* @param valueToFind the value to find
* @return {@code true} if the array contains the object
* @since 2.1
*/
contains(array:string[],valueToFind:string):boolean;
/**
* Checks if a value falling within the given tolerance is in the
* given array. If the array contains a value within the inclusive range
* defined by (value - tolerance) to (value + tolerance).
*
* The method returns {@code false} if a {@code null} array
* is passed in.
*
* @param array the array to search
* @param valueToFind the value to find
* @param tolerance the array contains the tolerance of the search
* @return true if value falling within tolerance is in array
*/
contains(array:number[],valueToFind:number,tolerance:number):boolean;
/**
* Returns the length of the specified array.
* This method can deal with {@code Object} arrays and with primitive arrays.
*
* If the input array is {@code null}, {@code 0} is returned.
*
*
* ArrayUtils.getLength(null) = 0
* ArrayUtils.getLength([]) = 0
* ArrayUtils.getLength([null]) = 1
* ArrayUtils.getLength([true, false]) = 2
* ArrayUtils.getLength([1, 2, 3]) = 3
* ArrayUtils.getLength(["a", "b", "c"]) = 3
*
*
* @param array the array to retrieve the length from, may be null
* @return The length of the array, or {@code 0} if the array is {@code null}
* @throws IllegalArgumentException if the object argument is not an array.
* @since 2.1
*/
getLength(array:any):number;
/**
* Get a hash code for an array handling multi-dimensional arrays correctly.
*
* Multi-dimensional primitive arrays are also handled correctly by this method.
*
* @param array the array to get a hash code for, {@code null} returns zero
* @return a hash code for the array
*/
hashCode(array:any):number;
/**
* Finds the index of the given value in the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
* @since 2.1
*/
indexOf(array:string[],valueToFind:string):number;
/**
* Finds the index of the given object in the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to search through for the object, may be {@code null}
* @param objectToFind the object to find, may be {@code null}
* @return the index of the object within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:any[],objectToFind:any):number;
/**
* Finds the index of the given value in the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:long[],valueToFind:long):number;
/**
* Finds the index of the given value in the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:number[],valueToFind:number):number;
/**
* Finds the index of the given value in the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:boolean[],valueToFind:boolean):number;
/**
* Finds the index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex is treated as zero. A startIndex larger than the array
* length will return {@link #INDEX_NOT_FOUND} ({@code -1}).
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the index to start searching at
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
* @since 2.1
*/
indexOf(array:string[],valueToFind:string,startIndex:number):number;
/**
* Finds the index of the given object in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex is treated as zero. A startIndex larger than the array
* length will return {@link #INDEX_NOT_FOUND} ({@code -1}).
*
* @param array the array to search through for the object, may be {@code null}
* @param objectToFind the object to find, may be {@code null}
* @param startIndex the index to start searching at
* @return the index of the object within the array starting at the index,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:any[],objectToFind:any,startIndex:number):number;
/**
* Finds the index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex is treated as zero. A startIndex larger than the array
* length will return {@link #INDEX_NOT_FOUND} ({@code -1}).
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the index to start searching at
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:long[],valueToFind:long,startIndex:number):number;
/**
* Finds the index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex is treated as zero. A startIndex larger than the array
* length will return {@link #INDEX_NOT_FOUND} ({@code -1}).
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the index to start searching at
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:number[],valueToFind:number,startIndex:number):number;
/**
* Finds the index of the given value within a given tolerance in the array.
* This method will return the index of the first value which falls between the region
* defined by valueToFind - tolerance and valueToFind + tolerance.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @param tolerance tolerance of the search
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:number[],valueToFind:number,tolerance:number):number;
/**
* Finds the index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex is treated as zero. A startIndex larger than the array
* length will return {@link #INDEX_NOT_FOUND} ({@code -1}).
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the index to start searching at
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null}
* array input
*/
indexOf(array:boolean[],valueToFind:boolean,startIndex:number):number;
/**
* Finds the index of the given value in the array starting at the given index.
* This method will return the index of the first value which falls between the region
* defined by valueToFind - tolerance and valueToFind + tolerance.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex is treated as zero. A startIndex larger than the array
* length will return {@link #INDEX_NOT_FOUND} ({@code -1}).
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the index to start searching at
* @param tolerance tolerance of the search
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
indexOf(array:number[],valueToFind:number,startIndex:number,tolerance:number):number;
/**
* Checks if an array of Objects is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:any[]):boolean;
/**
* Checks if an array of primitive chars is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:string[]):boolean;
/**
* Checks if an array of primitive shorts is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive floats is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive longs is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:long[]):boolean;
/**
* Checks if an array of primitive doubles is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive bytes is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive booleans is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:boolean[]):boolean;
/**
* Checks if an array of primitive ints is empty or {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is empty or {@code null}
* @since 2.1
*/
isEmpty(array:number[]):boolean;
isNotEmpty(arg0:any[]):boolean;
/**
* Checks if an array of primitive ints is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive shorts is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive longs is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:long[]):boolean;
/**
* Checks if an array of primitive chars is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:string[]):boolean;
/**
* Checks if an array of primitive floats is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive doubles is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive bytes is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:number[]):boolean;
/**
* Checks if an array of primitive booleans is not empty or not {@code null}.
*
* @param array the array to test
* @return {@code true} if the array is not empty or not {@code null}
* @since 2.5
*/
isNotEmpty(array:boolean[]):boolean;
/**
* Checks whether two arrays are the same length, treating
* {@code null} arrays as length {@code 0}.
*
* @param array1 the first array, may be {@code null}
* @param array2 the second array, may be {@code null}
* @return {@code true} if length of arrays matches, treating
* {@code null} as an empty array
*/
isSameLength(array1:boolean[],array2:boolean[]):boolean;
/**
* Checks whether two arrays are the same length, treating
* {@code null} arrays as length {@code 0}.
*
*
Any multi-dimensional aspects of the arrays are ignored.
*
* @param array1 the first array, may be {@code null}
* @param array2 the second array, may be {@code null}
* @return {@code true} if length of arrays matches, treating
* {@code null} as an empty array
*/
isSameLength(array1:any[],array2:any[]):boolean;
/**
* Checks whether two arrays are the same length, treating
* {@code null} arrays as length {@code 0}.
*
* @param array1 the first array, may be {@code null}
* @param array2 the second array, may be {@code null}
* @return {@code true} if length of arrays matches, treating
* {@code null} as an empty array
*/
isSameLength(array1:long[],array2:long[]):boolean;
/**
* Checks whether two arrays are the same length, treating
* {@code null} arrays as length {@code 0}.
*
* @param array1 the first array, may be {@code null}
* @param array2 the second array, may be {@code null}
* @return {@code true} if length of arrays matches, treating
* {@code null} as an empty array
*/
isSameLength(array1:number[],array2:number[]):boolean;
/**
* Checks whether two arrays are the same length, treating
* {@code null} arrays as length {@code 0}.
*
* @param array1 the first array, may be {@code null}
* @param array2 the second array, may be {@code null}
* @return {@code true} if length of arrays matches, treating
* {@code null} as an empty array
*/
isSameLength(array1:string[],array2:string[]):boolean;
isSameType(array1:any,array2:any):boolean;
/**
* Finds the last index of the given value within the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to travers backwords looking for the object, may be {@code null}
* @param valueToFind the object to find
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
* @since 2.1
*/
lastIndexOf(array:string[],valueToFind:string):number;
/**
* Finds the last index of the given value within the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to travers backwords looking for the object, may be {@code null}
* @param valueToFind the object to find
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:long[],valueToFind:long):number;
/**
* Finds the last index of the given object within the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to travers backwords looking for the object, may be {@code null}
* @param objectToFind the object to find, may be {@code null}
* @return the last index of the object within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:any[],objectToFind:any):number;
/**
* Finds the last index of the given value within the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) if
* {@code null} array input.
*
* @param array the array to travers backwords looking for the object, may be {@code null}
* @param valueToFind the object to find
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:boolean[],valueToFind:boolean):number;
/**
* Finds the last index of the given value within the array.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to travers backwords looking for the object, may be {@code null}
* @param valueToFind the object to find
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:number[],valueToFind:number):number;
/**
* Finds the last index of the given object in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than
* the array length will search from the end of the array.
*
* @param array the array to traverse for looking for the object, may be {@code null}
* @param objectToFind the object to find, may be {@code null}
* @param startIndex the start index to travers backwards from
* @return the last index of the object within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:any[],objectToFind:any,startIndex:number):number;
/**
* Finds the last index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
* array length will search from the end of the array.
*
* @param array the array to traverse for looking for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the start index to travers backwards from
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:long[],valueToFind:long,startIndex:number):number;
/**
* Finds the last index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
* array length will search from the end of the array.
*
* @param array the array to traverse for looking for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the start index to travers backwards from
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
* @since 2.1
*/
lastIndexOf(array:string[],valueToFind:string,startIndex:number):number;
/**
* Finds the last index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
* array length will search from the end of the array.
*
* @param array the array to traverse for looking for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the start index to travers backwards from
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:number[],valueToFind:number,startIndex:number):number;
/**
* Finds the last index of the given value in the array starting at the given index.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than
* the array length will search from the end of the array.
*
* @param array the array to traverse for looking for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the start index to travers backwards from
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:boolean[],valueToFind:boolean,startIndex:number):number;
/**
* Finds the last index of the given value within a given tolerance in the array.
* This method will return the index of the last value which falls between the region
* defined by valueToFind - tolerance and valueToFind + tolerance.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* @param array the array to search through for the object, may be {@code null}
* @param valueToFind the value to find
* @param tolerance tolerance of the search
* @return the index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:number[],valueToFind:number,tolerance:number):number;
/**
* Finds the last index of the given value in the array starting at the given index.
* This method will return the index of the last value which falls between the region
* defined by valueToFind - tolerance and valueToFind + tolerance.
*
* This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.
*
* A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
* array length will search from the end of the array.
*
* @param array the array to traverse for looking for the object, may be {@code null}
* @param valueToFind the value to find
* @param startIndex the start index to travers backwards from
* @param tolerance search for value within plus/minus this amount
* @return the last index of the value within the array,
* {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
*/
lastIndexOf(array:number[],valueToFind:number,startIndex:number,tolerance:number):number;
nullToEmpty(arg0:$.java.lang.Class[]):$.java.lang.Class[];
/**
* Defensive programming technique to change a {@code null}
* reference to an empty one.
*
* This method returns an empty array for a {@code null} input array.
*
* As a memory optimizing technique an empty array passed in will be overridden with
* the empty {@code public static} references in this class.
*
* @param array the array to check for {@code null} or empty
* @return the same array, {@code public static} empty array if {@code null} or empty input
* @since 2.5
*/
nullToEmpty(array:number[]):number[];
/**
* Defensive programming technique to change a {@code null}
* reference to an empty one.
*
* This method returns an empty array for a {@code null} input array.
*
* As a memory optimizing technique an empty array passed in will be overridden with
* the empty {@code public static} references in this class.
*
* @param array the array to check for {@code null} or empty
* @return the same array, {@code public static} empty array if {@code null} or empty input
* @since 2.5
*/
nullToEmpty(array:long[]):long[];
/**
* Defensive programming technique to change a {@code null}
* reference to an empty one.
*
* This method returns an empty array for a {@code null} input array.
*
* As a memory optimizing technique an empty array passed in will be overridden with
* the empty {@code public static} references in this class.
*
* @param array the array to check for {@code null} or empty
* @return the same array, {@code public static} empty array if {@code null} or empty input
* @since 2.5
*/
nullToEmpty(array:string[]):string[];
/**
* Defensive programming technique to change a {@code null}
* reference to an empty one.
*
* This method returns an empty array for a {@code null} input array.
*
* As a memory optimizing technique an empty array passed in will be overridden with
* the empty {@code public static} references in this class.
*
* @param array the array to check for {@code null} or empty
* @return the same array, {@code public static} empty array if {@code null} or empty input
* @since 2.5
*/
nullToEmpty(array:any[]):any[];
/**
* Defensive programming technique to change a {@code null}
* reference to an empty one.
*
* This method returns an empty array for a {@code null} input array.
*
* As a memory optimizing technique an empty array passed in will be overridden with
* the empty {@code public static} references in this class.
*
* @param array the array to check for {@code null} or empty
* @return the same array, {@code public static} empty array if {@code null} or empty input
* @since 2.5
*/
nullToEmpty(array:boolean[]):boolean[];
remove(arg0:any[],arg1:number):any[];
/**
* Removes the element at the specified position from the specified array.
* All subsequent elements are shifted to the left (subtracts one from
* their indices).
*
* This method returns a new array with the same elements of the input
* array except the element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, an IndexOutOfBoundsException
* will be thrown, because in that case no valid index can be specified.
*
*
* ArrayUtils.remove([1], 0) = []
* ArrayUtils.remove([2, 6], 0) = [6]
* ArrayUtils.remove([2, 6], 1) = [2]
* ArrayUtils.remove([2, 6, 3], 1) = [2, 3]
*
*
* @param array the array to remove the element from, may not be {@code null}
* @param index the position of the element to be removed
* @return A new array containing the existing elements except the element
* at the specified position.
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index >= array.length), or if the array is {@code null}.
* @since 2.1
*/
remove(array:number[],index:number):number[];
/**
* Removes the element at the specified position from the specified array.
* All subsequent elements are shifted to the left (subtracts one from
* their indices).
*
* This method returns a new array with the same elements of the input
* array except the element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, an IndexOutOfBoundsException
* will be thrown, because in that case no valid index can be specified.
*
*
* ArrayUtils.remove([true], 0) = []
* ArrayUtils.remove([true, false], 0) = [false]
* ArrayUtils.remove([true, false], 1) = [true]
* ArrayUtils.remove([true, true, false], 1) = [true, false]
*
*
* @param array the array to remove the element from, may not be {@code null}
* @param index the position of the element to be removed
* @return A new array containing the existing elements except the element
* at the specified position.
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index >= array.length), or if the array is {@code null}.
* @since 2.1
*/
remove(array:boolean[],index:number):boolean[];
/**
* Removes the element at the specified position from the specified array.
* All subsequent elements are shifted to the left (subtracts one from
* their indices).
*
* This method returns a new array with the same elements of the input
* array except the element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, an IndexOutOfBoundsException
* will be thrown, because in that case no valid index can be specified.
*
*
* ArrayUtils.remove([1], 0) = []
* ArrayUtils.remove([1, 0], 0) = [0]
* ArrayUtils.remove([1, 0], 1) = [1]
* ArrayUtils.remove([1, 0, 1], 1) = [1, 1]
*
*
* @param array the array to remove the element from, may not be {@code null}
* @param index the position of the element to be removed
* @return A new array containing the existing elements except the element
* at the specified position.
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index >= array.length), or if the array is {@code null}.
* @since 2.1
*/
remove(array:number[],index:number):number[];
/**
* Removes the element at the specified position from the specified array.
* All subsequent elements are shifted to the left (subtracts one from
* their indices).
*
* This method returns a new array with the same elements of the input
* array except the element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, an IndexOutOfBoundsException
* will be thrown, because in that case no valid index can be specified.
*
*
* ArrayUtils.remove(['a'], 0) = []
* ArrayUtils.remove(['a', 'b'], 0) = ['b']
* ArrayUtils.remove(['a', 'b'], 1) = ['a']
* ArrayUtils.remove(['a', 'b', 'c'], 1) = ['a', 'c']
*
*
* @param array the array to remove the element from, may not be {@code null}
* @param index the position of the element to be removed
* @return A new array containing the existing elements except the element
* at the specified position.
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index >= array.length), or if the array is {@code null}.
* @since 2.1
*/
remove(array:string[],index:number):string[];
/**
* Removes the element at the specified position from the specified array.
* All subsequent elements are shifted to the left (subtracts one from
* their indices).
*
* This method returns a new array with the same elements of the input
* array except the element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, an IndexOutOfBoundsException
* will be thrown, because in that case no valid index can be specified.
*
*
* ArrayUtils.remove([1], 0) = []
* ArrayUtils.remove([2, 6], 0) = [6]
* ArrayUtils.remove([2, 6], 1) = [2]
* ArrayUtils.remove([2, 6, 3], 1) = [2, 3]
*
*
* @param array the array to remove the element from, may not be {@code null}
* @param index the position of the element to be removed
* @return A new array containing the existing elements except the element
* at the specified position.
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index >= array.length), or if the array is {@code null}.
* @since 2.1
*/
remove(array:long[],index:number):long[];
/**
* Removes the element at the specified position from the specified array.
* All subsequent elements are shifted to the left (subtracts one from
* their indices).
*
* This method returns a new array with the same elements of the input
* array except the element on the specified position. The component
* type of the returned array is always the same as that of the input
* array.
*
* If the input array is {@code null}, an IndexOutOfBoundsException
* will be thrown, because in that case no valid index can be specified.
*
*
* ArrayUtils.remove([1.1], 0) = []
* ArrayUtils.remove([2.5, 6.0], 0) = [6.0]
* ArrayUtils.remove([2.5, 6.0], 1) = [2.5]
* ArrayUtils.remove([2.5, 6.0, 3.8], 1) = [2.5, 3.8]
*
*
* @param array the array to remove the element from, may not be {@code null}
* @param index the position of the element to be removed
* @return A new array containing the existing elements except the element
* at the specified position.
* @throws IndexOutOfBoundsException if the index is out of range
* (index < 0 || index >= array.length), or if the array is {@code null}.
* @since 2.1
*/
remove(array:number[],index:number):number[];
removeElement(arg0:any[],arg1:any):any[];
/**
* Removes the first occurrence of the specified element from the
* specified array. All subsequent elements are shifted to the left
* (subtracts one from their indices). If the array doesn't contains
* such an element, no elements are removed from the array.
*
* This method returns a new array with the same elements of the input
* array except the first occurrence of the specified element. The component
* type of the returned array is always the same as that of the input
* array.
*
*
* ArrayUtils.removeElement(null, 1) = null
* ArrayUtils.removeElement([], 1) = []
* ArrayUtils.removeElement([1], 2) = [1]
* ArrayUtils.removeElement([1, 3], 1) = [3]
* ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
*
*
* @param array the array to remove the element from, may be {@code null}
* @param element the element to be removed
* @return A new array containing the existing elements except the first
* occurrence of the specified element.
* @since 2.1
*/
removeElement(array:long[],element:long):long[];
/**
* Removes the first occurrence of the specified element from the
* specified array. All subsequent elements are shifted to the left
* (subtracts one from their indices). If the array doesn't contains
* such an element, no elements are removed from the array.
*
* This method returns a new array with the same elements of the input
* array except the first occurrence of the specified element. The component
* type of the returned array is always the same as that of the input
* array.
*
*
* ArrayUtils.removeElement(null, 1.1) = null
* ArrayUtils.removeElement([], 1.1) = []
* ArrayUtils.removeElement([1.1], 1.2) = [1.1]
* ArrayUtils.removeElement([1.1, 2.3], 1.1) = [2.3]
* ArrayUtils.removeElement([1.1, 2.3, 1.1], 1.1) = [2.3, 1.1]
*
*
* @param array the array to remove the element from, may be {@code null}
* @param element the element to be removed
* @return A new array containing the existing elements except the first
* occurrence of the specified element.
* @since 2.1
*/
removeElement(array:number[],element:number):number[];
/**
* Removes the first occurrence of the specified element from the
* specified array. All subsequent elements are shifted to the left
* (subtracts one from their indices). If the array doesn't contains
* such an element, no elements are removed from the array.
*
* This method returns a new array with the same elements of the input
* array except the first occurrence of the specified element. The component
* type of the returned array is always the same as that of the input
* array.
*
*
* ArrayUtils.removeElement(null, 1) = null
* ArrayUtils.removeElement([], 1) = []
* ArrayUtils.removeElement([1], 2) = [1]
* ArrayUtils.removeElement([1, 3], 1) = [3]
* ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
*
*
* @param array the array to remove the element from, may be {@code null}
* @param element the element to be removed
* @return A new array containing the existing elements except the first
* occurrence of the specified element.
* @since 2.1
*/
removeElement(array:number[],element:number):number[];
/**
* Removes the first occurrence of the specified element from the
* specified array. All subsequent elements are shifted to the left
* (subtracts one from their indices). If the array doesn't contains
* such an element, no elements are removed from the array.
*
* This method returns a new array with the same elements of the input
* array except the first occurrence of the specified element. The component
* type of the returned array is always the same as that of the input
* array.
*
*
* ArrayUtils.removeElement(null, 'a') = null
* ArrayUtils.removeElement([], 'a') = []
* ArrayUtils.removeElement(['a'], 'b') = ['a']
* ArrayUtils.removeElement(['a', 'b'], 'a') = ['b']
* ArrayUtils.removeElement(['a', 'b', 'a'], 'a') = ['b', 'a']
*
*
* @param array the array to remove the element from, may be {@code null}
* @param element the element to be removed
* @return A new array containing the existing elements except the first
* occurrence of the specified element.
* @since 2.1
*/
removeElement(array:string[],element:string):string[];
/**
* Removes the first occurrence of the specified element from the
* specified array. All subsequent elements are shifted to the left
* (subtracts one from their indices). If the array doesn't contains
* such an element, no elements are removed from the array.
*
* This method returns a new array with the same elements of the input
* array except the first occurrence of the specified element. The component
* type of the returned array is always the same as that of the input
* array.
*
*
* ArrayUtils.removeElement(null, 1) = null
* ArrayUtils.removeElement([], 1) = []
* ArrayUtils.removeElement([1], 0) = [1]
* ArrayUtils.removeElement([1, 0], 0) = [1]
* ArrayUtils.removeElement([1, 0, 1], 1) = [0, 1]
*
*
* @param array the array to remove the element from, may be {@code null}
* @param element the element to be removed
* @return A new array containing the existing elements except the first
* occurrence of the specified element.
* @since 2.1
*/
removeElement(array:number[],element:number):number[];
/**
* Removes the first occurrence of the specified element from the
* specified array. All subsequent elements are shifted to the left
* (subtracts one from their indices). If the array doesn't contains
* such an element, no elements are removed from the array.
*
* This method returns a new array with the same elements of the input
* array except the first occurrence of the specified element. The component
* type of the returned array is always the same as that of the input
* array.
*
*
* ArrayUtils.removeElement(null, true) = null
* ArrayUtils.removeElement([], true) = []
* ArrayUtils.removeElement([true], false) = [true]
* ArrayUtils.removeElement([true, false], false) = [true]
* ArrayUtils.removeElement([true, false, true], true) = [false, true]
*
*
* @param array the array to remove the element from, may be {@code null}
* @param element the element to be removed
* @return A new array containing the existing elements except the first
* occurrence of the specified element.
* @since 2.1
*/
removeElement(array:boolean[],element:boolean):boolean[];
/**
* Reverses the order of the given array.
*
* This method does nothing for a {@code null} input array.
*
* @param array the array to reverse, may be {@code null}
*/
reverse(array:number[]):void;
/**
* Reverses the order of the given array.
*
* This method does nothing for a {@code null} input array.
*
* @param array the array to reverse, may be {@code null}
*/
reverse(array:string[]):void;
/**
* Reverses the order of the given array.
*
* There is no special handling for multi-dimensional arrays.
*
* This method does nothing for a {@code null} input array.
*
* @param array the array to reverse, may be {@code null}
*/
reverse(array:any[]):void;
/**
* Reverses the order of the given array.
*
* This method does nothing for a {@code null} input array.
*
* @param array the array to reverse, may be {@code null}
*/
reverse(array:long[]):void;
/**
* Reverses the order of the given array.
*
* This method does nothing for a {@code null} input array.
*
* @param array the array to reverse, may be {@code null}
*/
reverse(array:boolean[]):void;
/**
*
* Reverses the order of the given array in the given range.
*
*
*
* This method does nothing for a {@code null} input array.
*
*
* @param array
* the array to reverse, may be {@code null}
* @param startIndexInclusive
* the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in no
* change.
* @param endIndexExclusive
* elements up to endIndex-1 are reversed in the array. Undervalue (< start index) results in no
* change. Overvalue (>array.length) is demoted to array length.
* @since 3.2
*/
reverse(array:any[],startIndexInclusive:number,endIndexExclusive:number):void;
/**
*
* Reverses the order of the given array in the given range.
*
*
*
* This method does nothing for a {@code null} input array.
*
*
* @param array
* the array to reverse, may be {@code null}
* @param startIndexInclusive
* the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in no
* change.
* @param endIndexExclusive
* elements up to endIndex-1 are reversed in the array. Undervalue (< start index) results in no
* change. Overvalue (>array.length) is demoted to array length.
* @since 3.2
*/
reverse(array:string[],startIndexInclusive:number,endIndexExclusive:number):void;
/**
*
* Reverses the order of the given array in the given range.
*
*
*
* This method does nothing for a {@code null} input array.
*
*
* @param array
* the array to reverse, may be {@code null}
* @param startIndexInclusive
* the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in no
* change.
* @param endIndexExclusive
* elements up to endIndex-1 are reversed in the array. Undervalue (< start index) results in no
* change. Overvalue (>array.length) is demoted to array length.
* @since 3.2
*/
reverse(array:boolean[],startIndexInclusive:number,endIndexExclusive:number):void;
/**
*
* Reverses the order of the given array in the given range.
*
*
*
* This method does nothing for a {@code null} input array.
*
*
* @param array
* the array to reverse, may be {@code null}
* @param startIndexInclusive
* the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in no
* change.
* @param endIndexExclusive
* elements up to endIndex-1 are reversed in the array. Undervalue (< start index) results in no
* change. Overvalue (>array.length) is demoted to array length.
* @since 3.2
*/
reverse(array:number[],startIndexInclusive:number,endIndexExclusive:number):void;
/**
*
* Reverses the order of the given array in the given range.
*
*
*
* This method does nothing for a {@code null} input array.
*
*
* @param array
* the array to reverse, may be {@code null}
* @param startIndexInclusive
* the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in no
* change.
* @param endIndexExclusive
* elements up to endIndex-1 are reversed in the array. Undervalue (< start index) results in no
* change. Overvalue (>array.length) is demoted to array length.
* @since 3.2
*/
reverse(array:long[],startIndexInclusive:number,endIndexExclusive:number):void;
subarray(arg0:any[],arg1:number,arg2:number):any[];
/**
* Produces a new {@code byte} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(byte[], int, int)
*/
subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
/**
* Produces a new {@code short} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(short[], int, int)
*/
subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
/**
* Produces a new {@code boolean} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(boolean[], int, int)
*/
subarray(array:boolean[],startIndexInclusive:number,endIndexExclusive:number):boolean[];
/**
* Produces a new {@code char} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(char[], int, int)
*/
subarray(array:string[],startIndexInclusive:number,endIndexExclusive:number):string[];
/**
* Produces a new {@code float} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(float[], int, int)
*/
subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
/**
* Produces a new {@code int} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(int[], int, int)
*/
subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
/**
* Produces a new {@code long} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(long[], int, int)
*/
subarray(array:long[],startIndexInclusive:number,endIndexExclusive:number):long[];
/**
* Produces a new {@code double} array containing the elements
* between the start and end indices.
*
* The start index is inclusive, the end index exclusive.
* Null array input produces null output.
*
* @param array the array
* @param startIndexInclusive the starting index. Undervalue (<0)
* is promoted to 0, overvalue (>array.length) results
* in an empty array.
* @param endIndexExclusive elements up to endIndex-1 are present in the
* returned subarray. Undervalue (< startIndex) produces
* empty array, overvalue (>array.length) is demoted to
* array length.
* @return a new array containing the elements between
* the start and end indices.
* @since 2.1
* @see Arrays#copyOfRange(double[], int, int)
*/
subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
toArray(...arg0:any[]):any[];
/**
* Converts the given array into a {@link java.util.Map}. Each element of the array
* must be either a {@link java.util.Map.Entry} or an Array, containing at least two
* elements, where the first element is used as key and the second as
* value.
*
* This method can be used to initialize:
*
* // Create a Map mapping colors.
* Map colorMap = MapUtils.toMap(new String[][] {{
* {"RED", "#FF0000"},
* {"GREEN", "#00FF00"},
* {"BLUE", "#0000FF"}});
*
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array an array whose elements are either a {@link java.util.Map.Entry} or
* an Array containing at least two elements, may be {@code null}
* @return a {@code Map} that was created from the array
* @throws IllegalArgumentException if one element of this Array is
* itself an Array containing less then two elements
* @throws IllegalArgumentException if the array contains elements other
* than {@link java.util.Map.Entry} and an Array
*/
toMap(array:any[]):$.java.util.Map;
/**
* Converts an array of primitive longs to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code long} array
* @return a {@code Long} array, {@code null} if null array input
*/
toObject(array:long[]):long[];
/**
* Converts an array of primitive doubles to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code double} array
* @return a {@code Double} array, {@code null} if null array input
*/
toObject(array:number[]):number[];
/**
* Converts an array of primitive chars to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code char} array
* @return a {@code Character} array, {@code null} if null array input
*/
toObject(array:string[]):string[];
/**
* Converts an array of primitive floats to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code float} array
* @return a {@code Float} array, {@code null} if null array input
*/
toObject(array:number[]):number[];
/**
* Converts an array of primitive ints to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array an {@code int} array
* @return an {@code Integer} array, {@code null} if null array input
*/
toObject(array:number[]):number[];
/**
* Converts an array of primitive shorts to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code short} array
* @return a {@code Short} array, {@code null} if null array input
*/
toObject(array:number[]):number[];
/**
* Converts an array of primitive booleans to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code boolean} array
* @return a {@code Boolean} array, {@code null} if null array input
*/
toObject(array:boolean[]):boolean[];
/**
* Converts an array of primitive bytes to objects.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code byte} array
* @return a {@code Byte} array, {@code null} if null array input
*/
toObject(array:number[]):number[];
/**
* Converts an array of object Shorts to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Short} array, may be {@code null}
* @return a {@code byte} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:number[]):number[];
/**
* Converts an array of object Integers to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Integer} array, may be {@code null}
* @return an {@code int} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:number[]):number[];
/**
* Converts an array of object Bytes to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Byte} array, may be {@code null}
* @return a {@code byte} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:number[]):number[];
/**
* Converts an array of object Doubles to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Double} array, may be {@code null}
* @return a {@code double} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:number[]):number[];
/**
* Converts an array of object Floats to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Float} array, may be {@code null}
* @return a {@code float} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:number[]):number[];
/**
* Converts an array of object Longs to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Long} array, may be {@code null}
* @return a {@code long} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:long[]):long[];
/**
* Converts an array of object Characters to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Character} array, may be {@code null}
* @return a {@code char} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:string[]):string[];
/**
* Converts an array of object Booleans to primitives.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Boolean} array, may be {@code null}
* @return a {@code boolean} array, {@code null} if null array input
* @throws NullPointerException if array content is {@code null}
*/
toPrimitive(array:boolean[]):boolean[];
/**
* Converts an array of object Character to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Character} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return a {@code char} array, {@code null} if null array input
*/
toPrimitive(array:string[],valueForNull:string):string[];
/**
* Converts an array of object Doubles to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Double} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return a {@code double} array, {@code null} if null array input
*/
toPrimitive(array:number[],valueForNull:number):number[];
/**
* Converts an array of object Integer to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Integer} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return an {@code int} array, {@code null} if null array input
*/
toPrimitive(array:number[],valueForNull:number):number[];
/**
* Converts an array of object Booleans to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Boolean} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return a {@code boolean} array, {@code null} if null array input
*/
toPrimitive(array:boolean[],valueForNull:boolean):boolean[];
/**
* Converts an array of object Floats to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Float} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return a {@code float} array, {@code null} if null array input
*/
toPrimitive(array:number[],valueForNull:number):number[];
/**
* Converts an array of object Long to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Long} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return a {@code long} array, {@code null} if null array input
*/
toPrimitive(array:long[],valueForNull:long):long[];
/**
* Converts an array of object Bytes to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Byte} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return a {@code byte} array, {@code null} if null array input
*/
toPrimitive(array:number[],valueForNull:number):number[];
/**
* Converts an array of object Short to primitives handling {@code null}.
*
* This method returns {@code null} for a {@code null} input array.
*
* @param array a {@code Short} array, may be {@code null}
* @param valueForNull the value to insert if {@code null} found
* @return a {@code byte} array, {@code null} if null array input
*/
toPrimitive(array:number[],valueForNull:number):number[];
}
interface ArrayUtils_C extends ArrayUtils_S {
/**
* ArrayUtils instances should NOT be constructed in standard programming.
* Instead, the class should be used as ArrayUtils.clone(new int[] {2})
.
*
* This constructor is public to permit tools that require a JavaBean instance
* to operate.
*/
new():ArrayUtils;
}
interface ArrayUtils$ {
}
type ArrayUtils_T = ArrayUtils_S & ArrayUtils$;
interface ArrayUtils extends ArrayUtils_T {
}
interface Uuid8_S {
/**
* 使用JDK标准UUID方法截取替换生成短UUID
* @return 生成由a-z、0-9、A-Z组成的8位短UUID
*/
generateShortUuid():string;
}
type Uuid8_ST = $.java.io.Serializable & Uuid8_S;
interface Uuid8_C extends Uuid8_ST {
new():Uuid8;
}
interface Uuid8$ {
}
type Uuid8_T = $.java.io.Serializable & Uuid8_S & Uuid8$;
interface Uuid8 extends Uuid8_T {
}
interface Uuid16_S {
/**
* 创建UUID16对象,与DB.genStringId由Base39(+、/、=、0-9、A-Z)字符集组成的随机ID,长度约12位
* @return UUID16对象
*/
create():Uuid16;
}
type Uuid16_ST = $.java.io.Serializable & Uuid16_S;
interface Uuid16_C extends Uuid16_ST {
new():Uuid16;
}
interface Uuid16$ {
}
type Uuid16_T = $.java.io.Serializable & Uuid16_S & Uuid16$;
interface Uuid16 extends Uuid16_T {
}
interface ObjectUtils_S {
addObjectToArray(arg0:any[],arg1:any):any[];
caseInsensitiveValueOf(arg0:$.java.lang.Enum[],arg1:string):$.java.lang.Enum;
containsConstant(arg0:$.java.lang.Enum[],arg1:string):boolean;
containsConstant(arg0:$.java.lang.Enum[],arg1:string,arg2:boolean):boolean;
/**
* Check whether the given array contains the given element.
* @param array the array to check (may be {@code null},
* in which case the return value will always be {@code false})
* @param element the element to check for
* @return whether the element has been found in the given array
*/
containsElement(array:any[],element:any):boolean;
/**
* Return a content-based String representation if {@code obj} is
* not {@code null}; otherwise returns an empty String.
* Differs from {@link #nullSafeToString(Object)} in that it returns
* an empty String rather than "null" for a {@code null} value.
* @param obj the object to build a display String for
* @return a display String representation of {@code obj}
* @see #nullSafeToString(Object)
*/
getDisplayString(obj:any):string;
/**
* Return a hex String form of an object's identity hash code.
* @param obj the object
* @return the object's identity code in hex notation
*/
getIdentityHexString(obj:any):string;
/**
* Return the same value as {@link Boolean#hashCode()}}.
* @see Boolean#hashCode()
*/
hashCode(bool:boolean):number;
/**
* Return the same value as {@link Double#hashCode()}}.
* @see Double#hashCode()
*/
hashCode(dbl:number):number;
/**
* Return the same value as {@link Float#hashCode()}}.
* @see Float#hashCode()
*/
hashCode(flt:number):number;
/**
* Return the same value as {@link Long#hashCode()}}.
* @see Long#hashCode()
*/
hashCode(lng:long):number;
/**
* Return a String representation of an object's overall identity.
* @param obj the object (may be {@code null})
* @return the object's identity as String representation,
* or an empty String if the object was {@code null}
*/
identityToString(obj:any):string;
/**
* Determine whether the given object is an array:
* either an Object array or a primitive array.
* @param obj the object to check
*/
isArray(obj:any):boolean;
/**
* Return whether the given throwable is a checked exception:
* that is, neither a RuntimeException nor an Error.
* @param ex the throwable to check
* @return whether the throwable is a checked exception
* @see java.lang.Exception
* @see java.lang.RuntimeException
* @see java.lang.Error
*/
isCheckedException(ex:$.java.lang.Throwable):boolean;
/**
* Check whether the given exception is compatible with the specified
* exception types, as declared in a throws clause.
* @param ex the exception to check
* @param declaredExceptions the exception types declared in the throws clause
* @return whether the given exception is compatible
*/
isCompatibleWithThrowsClause(ex:$.java.lang.Throwable,...declaredExceptions:$.java.lang.Class[]):boolean;
/**
* Determine whether the given array is empty:
* i.e. {@code null} or of zero length.
* @param array the array to check
* @see #isEmpty(Object)
*/
isEmpty(array:any[]):boolean;
/**
* Determine whether the given object is empty.
*
This method supports the following object types.
*
* - {@code Optional}: considered empty if {@link Optional#empty()}
* - {@code Array}: considered empty if its length is zero
* - {@link CharSequence}: considered empty if its length is zero
* - {@link Collection}: delegates to {@link Collection#isEmpty()}
* - {@link Map}: delegates to {@link Map#isEmpty()}
*
* If the given object is non-null and not one of the aforementioned
* supported types, this method returns {@code false}.
* @param obj the object to check
* @return {@code true} if the object is {@code null} or empty
* @since 4.2
* @see Optional#isPresent()
* @see ObjectUtils#isEmpty(Object[])
* @see StringUtils#hasLength(CharSequence)
* @see StringUtils#isEmpty(Object)
* @see CollectionUtils#isEmpty(java.util.Collection)
* @see CollectionUtils#isEmpty(java.util.Map)
*/
isEmpty(obj:any):boolean;
/**
* Determine the class name for the given object.
*
Returns {@code "null"} if {@code obj} is {@code null}.
* @param obj the object to introspect (may be {@code null})
* @return the corresponding class name
*/
nullSafeClassName(obj:any):string;
/**
* Determine if the given objects are equal, returning {@code true} if
* both are {@code null} or {@code false} if only one is {@code null}.
*
Compares arrays with {@code Arrays.equals}, performing an equality
* check based on the array elements rather than the array reference.
* @param o1 first Object to compare
* @param o2 second Object to compare
* @return whether the given objects are equal
* @see Object#equals(Object)
* @see java.util.Arrays#equals
*/
nullSafeEquals(o1:any,o2:any):boolean;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:number[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:boolean[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:string[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:long[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:any[]):number;
/**
* Return as hash code for the given object; typically the value of
* {@code Object#hashCode()}}. If the object is an array,
* this method will delegate to any of the {@code nullSafeHashCode}
* methods for arrays in this class. If the object is {@code null},
* this method returns 0.
* @see Object#hashCode()
* @see #nullSafeHashCode(Object[])
* @see #nullSafeHashCode(boolean[])
* @see #nullSafeHashCode(byte[])
* @see #nullSafeHashCode(char[])
* @see #nullSafeHashCode(double[])
* @see #nullSafeHashCode(float[])
* @see #nullSafeHashCode(int[])
* @see #nullSafeHashCode(long[])
* @see #nullSafeHashCode(short[])
*/
nullSafeHashCode(obj:any):number;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space). Returns
* {@code "null"} if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:long[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space). Returns
* {@code "null"} if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:string[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space). Returns
* {@code "null"} if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:number[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space). Returns
* {@code "null"} if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:any[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space). Returns
* {@code "null"} if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:boolean[]):string;
/**
* Return a String representation of the specified Object.
*
Builds a String representation of the contents in case of an array.
* Returns {@code "null"} if {@code obj} is {@code null}.
* @param obj the object to build a String representation for
* @return a String representation of {@code obj}
*/
nullSafeToString(obj:any):string;
/**
* Convert the given array (which may be a primitive array) to an
* object array (if necessary of primitive wrapper objects).
*
A {@code null} source value will be converted to an
* empty Object array.
* @param source the (potentially primitive) array
* @return the corresponding object array (never {@code null})
* @throws IllegalArgumentException if the parameter is not an array
*/
toObjectArray(source:any):any[];
}
interface ObjectUtils_C extends ObjectUtils_S {
new():ObjectUtils;
}
interface ObjectUtils$ {
}
type ObjectUtils_T = ObjectUtils_S & ObjectUtils$;
interface ObjectUtils extends ObjectUtils_T {
}
}
namespace kd.bos.db{
interface DBModule_S {
}
type DBModule_ST = $.kd.sdk.module.Module & DBModule_S;
interface DBModule_C extends DBModule_ST {
new():DBModule;
}
interface DBModule$ {
}
type DBModule_T = $.kd.sdk.module.Module & DBModule_S & DBModule$;
interface DBModule extends DBModule_T {
}
interface SqlParameter_S {
}
type SqlParameter_ST = kd.bos.xdb.ext.SelfSetParameter_S & SqlParameter_S;
interface SqlParameter_C extends SqlParameter_ST {
/**
* 参数构造器。
* @param name 属性名
* @param columnType 字段类型
* @param value 参数值
*/
new(name:string,columnType:number,value:any):SqlParameter;
}
interface SqlParameter$ {
/**
* 获取数据类型。
*/
getDbType():number;
/**
* 获取属性名称。
*/
getName():string;
/**
* 设置数据类型。
* @param dbType
*/
setDbType(dbType:number):void;
/**
* 设置属性名称。
* @param name
*/
setName(name:string):void;
/**
* 设置参数值。
* @param value
*/
setValue(value:any):void;
}
type SqlParameter_T = kd.bos.xdb.ext.SelfSetParameter & SqlParameter_S & SqlParameter$;
interface SqlParameter extends SqlParameter_T {
}
interface DBRoute_S {
readonly base:DBRoute;
readonly basedata:DBRoute;
readonly log:DBRoute;
readonly main:DBRoute;
readonly meta:DBRoute;
readonly permission:DBRoute;
readonly qing:DBRoute;
readonly workflow:DBRoute;
/**
* 获取路由key。
* @param dbRoute 路由
* @return 路由key值
*/
getRouteKey(dbRoute:DBRoute):string;
/**
* 用于共享DBRoute的公共路由对象
*/
of(routeKey:string):DBRoute;
}
interface DBRoute_C extends DBRoute_S {
/**
* 路由构造方法。
* @param routeKey
*/
new(routeKey:string):DBRoute;
}
interface DBRoute$ {
/**
* 获取当前路由key。
* @return 路由key值
*/
getRouteKey():string;
}
type DBRoute_T = DBRoute_S & DBRoute$;
interface DBRoute extends DBRoute_T {
}
interface ResultSetHandler_S {
}
interface ResultSetHandler$ {
/**
* 处理ResultSet。
* @param rs 结果集
* @return 自定义对象
* @throws Exception
*/
handle(rs:$.java.sql.ResultSet):any;
}
type ResultSetHandler_T = ResultSetHandler_S & ResultSetHandler$;
interface ResultSetHandler extends ResultSetHandler_T {
}
enum DBType {
Oracle,
SQLServer,
PostgreSQL,
MySQL,
DM,
GS,
GS100,
GaussDB,
KingBase,
Vastbase,
TDSQL,
Gbase,
TiDB,
YasDB,
OceanBase_Oracle,
HANA,
Gauss200,
Greenplum,
ClickHouse
}
interface SqlBuilder_S {
}
interface SqlBuilder_C extends SqlBuilder_S {
new():SqlBuilder;
}
interface SqlBuilder$ {
/**
* 拼接构造器。
* @param sqlPart sql语句段
* @param params 对应的参数值数组
* @return SqlBuilder
*/
append(sqlPart:string,...params:any[]):this;
/**
* 拼接构造器。
* @param sqlPart sql语句段
* @param params 对应的参数值集合
* @return SqlBuilder
*/
append(sqlPart:string,params:$.java.util.List):this;
/**
* 拼接in构造器。
* @param field 字段
* @param inValues in参数数组
* @return SqlBuilder
*/
appendIn(field:string,inValues:any[]):this;
/**
* 拼接in构造器。
* @param field 字段
* @param inValues in参数集合
* @return
*/
appendIn(field:string,inValues:$.java.util.List):this;
/**
* 拼接sql构造器。
* @param sqlBuilder
* @return SqlBuilder
*/
appendSqlBuilder(sqlBuilder:SqlBuilder):this;
/**
* 构造器是否为空。
* @return true|false
*/
isEmpty():boolean;
}
type SqlBuilder_T = SqlBuilder_S & SqlBuilder$;
interface SqlBuilder extends SqlBuilder_T {
}
interface DB_S {
/**
* 执行execute操作。
*
* @param dbRoute 路由
* @param sb sql构造器
* @return true|false
*/
execute(dbRoute:DBRoute,sb:SqlBuilder):boolean;
/**
* 执行execute操作。
*
* @param dbRoute 路由
* @param sql 执行sql语句
* @return true|false
*/
execute(dbRoute:DBRoute,sql:string):boolean;
/**
* execute操作。
*
* @param dbRoute 路由
* @param sql 执行sql语句
* @param params 入参
* @return true|false
*/
execute(dbRoute:DBRoute,sql:string,params:any[]):boolean;
/**
* 批量执行。
*
* @param dbRoute 路由
* @param sql 执行sql语句
* @param paramsList 参数组
* @return 执行数量
*/
executeBatch(dbRoute:DBRoute,sql:string,paramsList:$.java.util.List):number[];
/**
* 判断表字段是否存在。
* @param dbRoute
* @param tableName
* @param columnName
* @return true|false
*/
existColumn(dbRoute:DBRoute,tableName:string,columnName:string):boolean;
/**
* 判断表是否存在。
* @param dbRoute
* @param tableName
* @return true|false
*/
exitsTable(dbRoute:DBRoute,tableName:string):boolean;
/**
* 获取数据库类型。
* @param dbRoute 路由
*/
getDBType(dbRoute:DBRoute):DBType;
/**
* 获取数据库名称。
* @param dbRoute 路由
*/
getDatabaseName(dbRoute:DBRoute):string;
/**
* 查询操作。
*
* @param dbRoute 路由
* @param sb sql构造器
* @param rh 结果集处理器
* @param 返回对象类型
* @return 返回对象查询结果集
*/
query(dbRoute:DBRoute,sb:SqlBuilder,rh:ResultSetHandler):any;
/**
* 查询操作。
*
* @param dbRoute 路由
* @param sql 查询sql语句
* @param rh 结果集处理器
* @param 返回对象类型
* @return 返回对象查询结果集
*/
query(dbRoute:DBRoute,sql:string,rh:ResultSetHandler):any;
/**
* 查询操作。
*
* @param dbRoute 路由
* @param sql 查询sql语句
* @param params 入参
* @param rh 结果集处理器
* @param 返回对象类型
* @return 返回对象查询结果集
*/
query(dbRoute:DBRoute,sql:string,params:any[],rh:ResultSetHandler):any;
/**
* 查询返回DataSet,使用完毕务必close。
*
* @param algoKey algoKey标识
* @param dbRoute 路由
* @param sql 查询sql语句
* @return 返回DataSet对象
*/
queryDataSet(algoKey:string,dbRoute:DBRoute,sql:string):$.kd.bos.algo.DataSet;
/**
* 查询返回DataSet,使用完毕务必close。
*
* @param algoKey algoKey标识
* @param dbRoute 路由
* @param sb sql构造器
* @return DataSet
*/
queryDataSet(algoKey:string,dbRoute:DBRoute,sb:SqlBuilder):$.kd.bos.algo.DataSet;
/**
* 查询返回DataSet,使用完毕务必close。
*
* @param algoKey algoKey标识
* @param dbRoute 路由
* @param sql 查询sql语句
* @param params 入参
* @return DataSet对象
*/
queryDataSet(algoKey:string,dbRoute:DBRoute,sql:string,params:any[]):$.kd.bos.algo.DataSet;
rw():kd.bos.db.splittingread.RW;
/**
* 自定义查询超时时间。
*
*
*
* try(QueryTimeout timeout=DB.timeout(10)){ ... }
*/
timeout(seconds:number):$.kd.bos.xdb.QueryTimeout;
/**
* 更新操作。
*
* @param dbRoute
* @param sb sql构造器
* @return 更新数量
*/
update(dbRoute:DBRoute,sb:SqlBuilder):number;
/**
* 更新操作。
*
* @param dbRoute 路由
* @param sql 更新sql语句
* @return 更新数量
*/
update(dbRoute:DBRoute,sql:string):number;
/**
* 更新操作。
*
* @param dbRoute 路由
* @param sql 更新sql语句
* @param params 入参
* @return 更新数量
*/
update(dbRoute:DBRoute,sql:string,params:any[]):number;
}
interface DB_C extends DB_S {
new():DB;
}
interface DB$ {
}
type DB_T = DB_S & DB$;
interface DB extends DB_T {
}
}
namespace kd.bos.db.archive{
interface ArchiveInfo_S {
}
interface ArchiveInfo_C extends ArchiveInfo_S {
/**
* 构造方法
* @param key
* @param name
* @param desc
*/
new(key:string,name:string,desc:string):ArchiveInfo;
/**
* 构造方法
* @param key
* @param routeType
* @param name
* @param desc
*/
new(key:string,routeType:ArchiveRouteType,name:string,desc:string):ArchiveInfo;
}
interface ArchiveInfo$ {
/**
* 归档路由描述
* @return
*/
getDesc():string;
/**
* 归档路由
* @return
*/
getKey():string;
/**
* 归档路由名称
* @return
*/
getName():string;
/**
* 归档路由类型
* @return
*/
getRouteType():ArchiveRouteType;
/**
* 归档路由描述
* @param desc
*/
setDesc(desc:string):void;
/**
* 归档路由
* @param key
*/
setKey(key:string):void;
/**
* 归档路由名称
* @param name
*/
setName(name:string):void;
/**
* 归档路由类型
* @param routeType
*/
setRouteType(routeType:ArchiveRouteType):void;
}
type ArchiveInfo_T = ArchiveInfo_S & ArchiveInfo$;
interface ArchiveInfo extends ArchiveInfo_T {
}
interface ArchiveRoute_S {
/**
* API:设置归档路由映射上下文进行访问。
* @param routeKey 原路由
* @param archiveRouteKey 归档库路由
* @return
*/
mapRoute(routeKey:string,archiveRouteKey:string):ArchiveRoute;
}
type ArchiveRoute_ST = $.java.lang.AutoCloseable & ArchiveRoute_S;
interface ArchiveRoute_C extends ArchiveRoute_ST {
new():ArchiveRoute;
}
interface ArchiveRoute$ {
}
type ArchiveRoute_T = $.java.lang.AutoCloseable & ArchiveRoute_S & ArchiveRoute$;
interface ArchiveRoute extends ArchiveRoute_T {
}
interface MCArchive_S {
/**
* API:根据单据所属路由与单据编码获取单据归档路由
* @param routeKey
* @param entityNumber
* @return
*/
get(routeKey:string,entityNumber:string):RouteInfo;
}
interface MCArchive_C extends MCArchive_S {
new():MCArchive;
}
interface MCArchive$ {
}
type MCArchive_T = MCArchive_S & MCArchive$;
interface MCArchive extends MCArchive_T {
}
interface RouteInfo_S {
}
interface RouteInfo_C extends RouteInfo_S {
/**
* 构造方法
* @param routeKey
*/
new(routeKey:string):RouteInfo;
}
interface RouteInfo$ {
/**
* 当前路由的归档路由列表
* @return
*/
getArchiveInfo():$.java.util.List;
/**
* 当前路由
* @return
*/
getRouteKey():string;
/**
* 设置当前路由的归档路由列表
* @param archiveInfo
*/
setArchiveInfo(archiveInfo:$.java.util.List):void;
/**
* 当前路由
* @param routeKey
*/
setRouteKey(routeKey:string):void;
}
type RouteInfo_T = RouteInfo_S & RouteInfo$;
interface RouteInfo extends RouteInfo_T {
}
enum ArchiveRouteType {
DB,
ES
}
}
namespace kd.bos.db.splittingread{
interface RW_S {
}
interface RW$ {
/**
* 创建读写上下文,该上下文受到读写分离配置控制,配置为从库优先时查询优先使用从库,配置为主库优先时查询优先使用主库
*
* @param key 自定义key
* @return 读写控制上下文,返回值不会为空
*/
create(key:string):RWContext;
/**
* 创建写优先上下文,该接口创建不受读写分离配置控制,强制使用写库优先
*
* @return 写库优先上下文,返回值不会为空
*/
createWriteFirst():RWContext;
/**
* 判断当前线程是否已经存在读写上下文
*
* @return true=已存在,false=不存在
*/
hasExist():boolean;
}
type RW_T = RW_S & RW$;
interface RW extends RW_T {
}
interface RWContext_S {
}
interface RWContext$ {
}
type RWContext_T = $.java.lang.AutoCloseable & RWContext_S & RWContext$;
interface RWContext extends RWContext_T {
}
}
namespace kd.bos.db.tx{
interface TXHandle_S {
/**
* 当前事务句柄。
* @return TXHandle
*/
get():TXHandle;
}
type TXHandle_ST = $.java.lang.AutoCloseable & TXHandle_S;
interface TXHandle_C extends TXHandle_ST {
new():TXHandle;
}
interface TXHandle$ {
/**
* 事务提交。
*/
commit():void;
/**
* 获取事务隔离级别。
* @reurn Propagation
*/
getPropagation():Propagation;
/**
* 是否回滚。
* @return true|false
*/
isRollback():boolean;
/**
* 标志回滚。
*/
markRollback():void;
/**
* 设置事务回滚。
* @param rollback
* @return TXHandle
*/
setRollback(rollback:boolean):this;
}
type TXHandle_T = $.java.lang.AutoCloseable & TXHandle_S & TXHandle$;
interface TXHandle extends TXHandle_T {
}
enum Propagation {
SUPPORTS,
REQUIRED,
REQUIRES_NEW,
NOT_SUPPORTED,
NESTED
}
interface TX_S {
/**
* 添加事务提交监听器。
* @param 提交监听器
*/
addCommitListener(cl:CommitListener):void;
/**
* 获取事务隔离级别。
* @return Propagation
*/
getPropagation():Propagation;
/**
* 嵌套事务。
* @param tag 事务标识,格式:应用_表单_功能,用于日志监控,当性能出现问题时可快速定位。
* @return TXHandle
*/
nested(tag:string):TXHandle;
/**
* 不需要事务。
* @param tag 事务标识,格式:应用_表单_功能,用于日志监控,当性能出现问题时可快速定位。
* @return TXHandle
*/
notSupported(tag:string):TXHandle;
/**
* 若当前已有事务,则使用当前事务,否则开启新事务。
* @param tag 事务标识,格式:应用_表单_功能,用于日志监控,当性能出现问题时可快速定位。
* @return TXHandle
*/
required(tag:string):TXHandle;
/**
* 开启新事务
* @param tag 事务标识,格式:应用_表单_功能,用于日志监控,当性能出现问题时可快速定位。
* @return TXHandle
*/
requiresNew(tag:string):TXHandle;
}
interface TX_C extends TX_S {
new():TX;
}
interface TX$ {
}
type TX_T = TX_S & TX$;
interface TX extends TX_T {
}
interface CommitListener_S {
}
interface CommitListener$ {
/**
* 提交时处理。
* 在这里不要访问数据库,如果要,请重载onEnded方法。
*/
onCommitted?():void;
/**
* 事务结束处理。
* @param rollbacked 回滚标识。
*/
onEnded?(rollbacked:boolean):void;
/**
* 回滚处理。
* 在这里不要访问数据库,如果要,请重载onEnded方法。
*/
onRollbacked?():void;
/**
* 提交前处理。
*/
preCommit?():void;
/**
* 回滚前处理。
*/
preRollback?():void;
}
type CommitListener_T = CommitListener_S & CommitListener$;
interface CommitListener extends CommitListener_T {
}
}
namespace kd.bos.dbversion{
interface IndustryVersionInfo_S {
}
interface IndustryVersionInfo_C extends IndustryVersionInfo_S {
new():IndustryVersionInfo;
new(productNumber:string,isv:string,version:string):IndustryVersionInfo;
}
interface IndustryVersionInfo$ {
getId():long;
getIsv():string;
getProductName():string;
getProductNumber():string;
getProductType():number;
getUpgradeTime():string;
getVerCaption():$.java.util.List;
getVersion():string;
setId(id:long):void;
setIsv(isv:string):void;
setProductName(productName:string):void;
setProductNumber(productNumber:string):void;
setProductType(productType:number):void;
setUpgradeTime(upgradeTime:string):void;
setVerCaption(verCaption:$.java.util.List):void;
setVersion(version:string):void;
}
type IndustryVersionInfo_T = IndustryVersionInfo_S & IndustryVersionInfo$;
interface IndustryVersionInfo extends IndustryVersionInfo_T {
}
interface IndustryVersionService_S {
/**
* 清除行业版本缓存
* @param productNumber
* @param isv
*/
clearCache(productNumber:string,isv:string):void;
/**
* 清除显示版本缓存
* @param productNumber
* @param isv
*/
clearCache(productNumber:string,isv:string,productName:string):void;
/**
* 跟据产品名称获取显示版本信息
* @param productName
* @return
*/
getCaption(productName:string):$.java.util.List;
/**
* 根据开发商标识,显示版本产品名称获取显示版本号
* @param isv
* @param productName
* @return
*/
getCaption(isv:string,productName:string):$.java.util.List;
/**
* 根据补丁产品编码,开发商标识,显示版本产品名称获取显示版本号
* @param productNumber
* @param isv
* @param productName
* @return
*/
getCaption(productNumber:string,isv:string,productName:string):IndustryVersionInfo;
/**
* 获取所有产品的显示版本信息
* @return
*/
getCaptionInfos():$.java.util.List;
/**
* 获取苍穹平台和星空的产品的版本信息
* @return
*/
getGalaxyVersionInfos():$.java.util.List;
/**
* 根据产品编码获取补丁版本号信息
* 产品编码 + 开发商为唯一标识
* @param productNumber
* @return
*/
getVersion(productNumber:string):$.java.util.List;
/**
* 根据产品编码+开发商获取补丁版本号信息
* 产品编码 + 开发商为唯一标识
* @param productNumber
* @param isv
* @return
*/
getVersion(productNumber:string,isv:string):IndustryVersionInfo;
/**
* 获取所有产品的版本信息
* @return
*/
getVersionInfos():$.java.util.List;
}
interface IndustryVersionService_C extends IndustryVersionService_S {
new():IndustryVersionService;
}
interface IndustryVersionService$ {
}
type IndustryVersionService_T = IndustryVersionService_S & IndustryVersionService$;
interface IndustryVersionService extends IndustryVersionService_T {
}
}
namespace kd.bos.dc.api.model{
interface Account_S {
}
type Account_ST = $.java.io.Serializable & Account_S;
interface Account_C extends Account_ST {
new():Account;
}
interface Account$ {
getAccountId():string;
getAccountName():string;
getAccountNumber():string;
getAllSourceTypes():string[];
getDBInstanceByRouteKey(arg0:string):DBInstance;
getDBInstanceList():$.java.util.List;
getDBInstanceList(arg0:boolean):$.java.util.List;
getDefaultDBInstance():DBInstance;
getDocDomain():string;
getEid():string;
getKeyFile():string;
getProductVersion():string;
getSsoPlugin():string;
getTenantId():string;
getUserSourceTypeOutput():string;
getVersion():string;
getYzjOrgNo():string;
getYzjUrl():string;
getYzjWeb():string;
isDefault():boolean;
isDtsEnable():boolean;
isSplittingRead():boolean;
setAccountId(arg0:string):void;
setAccountName(arg0:string):void;
setAccountNumber(arg0:string):void;
setDBInstanceList(arg0:$.java.util.List):void;
setDefault(arg0:boolean):void;
setDefault(arg0:string):void;
setDocDomain(arg0:string):void;
setDtsEnable(arg0:boolean):void;
setEid(arg0:string):void;
setKeyFile(arg0:string):void;
setProductVersion(arg0:string):void;
setSplittingRead(arg0:boolean):void;
setSsoPlugin(arg0:string):void;
setTenantId(arg0:string):void;
setUserSourceType(arg0:string):void;
setVersion(arg0:string):void;
setYzjOrgNo(arg0:string):void;
setYzjUrl(arg0:string):void;
setYzjWeb(arg0:string):void;
}
type Account_T = $.java.io.Serializable & Account_S & Account$;
interface Account extends Account_T {
}
interface DBInstance_S {
}
type DBInstance_ST = $.java.io.Serializable & DBInstance_S;
interface DBInstance_C extends DBInstance_ST {
new():DBInstance;
}
interface DBInstance$ {
copy():this;
getClusterDbUrl():string;
getDBInsatnce():string;
getDbSchema():string;
getDbip():string;
getDbpassword():string;
getDbport():string;
getDbtype():string;
getDbuser():string;
getDefaultProperties():$.java.util.Properties;
getLoadFactor():number;
getReadOnly():string;
getRouteKey():string;
isCluster():boolean;
isReadOnly():boolean;
setCluster(arg0:boolean):void;
setClusterDbUrl(arg0:string):void;
setDBInsatnce(arg0:string):void;
setDbSchema(arg0:string):void;
setDbip(arg0:string):void;
setDbpassword(arg0:string):void;
setDbport(arg0:string):void;
setDbtype(arg0:string):void;
setDbuser(arg0:string):void;
setDefaultProperties(arg0:$.java.util.Properties):void;
setLoadFactor(arg0:number):void;
setReadOnly(arg0:string):void;
setRouteKey(arg0:string):void;
}
type DBInstance_T = $.java.io.Serializable & DBInstance_S & DBInstance$;
interface DBInstance extends DBInstance_T {
}
}
namespace kd.bos.designer.botp{
interface FormulaEdit_S {
readonly CustParamKey_EntityNumber:string;
readonly CustParamKey_Formula:string;
readonly CustParamKey_FunctionTypes:string;
readonly CustParamKey_OnlyHeadField:string;
readonly CustParamKey_TreeNodes:string;
readonly FormId_Condition:string;
readonly FormId_Formula:string;
readonly Key_FDescription:string;
readonly Key_FExpression:string;
readonly Key_FFilterGrid:string;
readonly Key_FTranExpr:string;
readonly Key_TreeView:string;
readonly Key_btnBackSpace:string;
readonly Key_btnCancel:string;
readonly Key_btnClr:string;
readonly Key_btnFunction:string;
readonly Key_btnOK:string;
}
type FormulaEdit_ST = $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & FormulaEdit_S;
interface FormulaEdit_C extends FormulaEdit_ST {
new():FormulaEdit;
}
interface FormulaEdit$ {
}
type FormulaEdit_T = $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.control.events.TreeNodeClickListener & FormulaEdit_S & FormulaEdit$;
interface FormulaEdit extends FormulaEdit_T {
}
interface FormulaEditHelper_S {
/**
* 回退:从文本字段焦点位置,向前删除一个变量
*
* @param view
* @param buttonKey
* @param textFieldKey
* @remark
* 本函数原理:
* 到表达式中,搜索操作符的最后位置,把表达式分割为两部分,后面的部分,需从表达式中删除掉
*/
backSpaceExpression(view:$.kd.bos.form.IFormView,buttonKey:string,textFieldKey:string):void;
/**
* 点击按钮时,获取条件编辑文本框的当前焦点位置
*
* @param view 表单
* @param buttonKey 点击的按钮
* @param textFieldKey 需要获取焦点位置的文本字段
* @return
*/
getCursorIndex(view:$.kd.bos.form.IFormView,buttonKey:string,textFieldKey:string):number;
/**
* 向字符串指定位置,插入内容
*
* @param pStr 原字符串
* @param str 插入内容
* @param pos 位置
* @return
*/
insertCharacter(pStr:string,str:string,pos:number):string;
/**
* 向文本字段中,插入字符
*
* @param view 表单
* @param buttonKey 点击的按钮、树控件key:需要据此获取文本字段的焦点位置,以便把内容插入其中
* @param textFieldKey 文本字段
* @param str 字符
*/
insertExpression(view:$.kd.bos.form.IFormView,buttonKey:string,textFieldKey:string,str:string):void;
/**
* 设置文本字段焦点位置
*
* @param view
* @param textFieldKey
* @param focusIndex
*/
setCursorIndex(view:$.kd.bos.form.IFormView,textFieldKey:string,focusIndex:number):void;
}
interface FormulaEditHelper_C extends FormulaEditHelper_S {
new():FormulaEditHelper;
}
interface FormulaEditHelper$ {
}
type FormulaEditHelper_T = FormulaEditHelper_S & FormulaEditHelper$;
interface FormulaEditHelper extends FormulaEditHelper_T {
}
}
namespace kd.bos.designer.dao{
interface IFormTemplate_S {
}
interface IFormTemplate$ {
/**
* 反序列化,还原元数据对象
* @param metaMap 元数据序列化内容
* @param baseObject 基对象
* @return 返回还原后的元数据对象
*/
deserializeFromMap(metaMap:$.java.util.Map,baseObject:any):any;
/**
* 获取元数据反序列化时依赖的领域模型-类型绑定器,解析XML中的元素类型,和类定义进行对应
* @return
*/
getBinder():$.kd.bos.metadata.domainmodel.DomainModelBinder;
/**
* 获取基于原始模板(空白)生成的表单实体元数据
* @return
*/
getEntityMetadata():$.kd.bos.metadata.entity.EntityMetadata;
/**
* 获取基于原始模板(空白)生成的表单界面布局元数据
* @return
*/
getFormMetadata():$.kd.bos.metadata.form.FormMetadata;
/**
* 序列化,生成序列化后的内容
* @param el 元数据对象
* @return 返回序列化后的内容
*/
serializeToMap(el:any):$.java.util.Map;
}
type IFormTemplate_T = IFormTemplate_S & IFormTemplate$;
interface IFormTemplate extends IFormTemplate_T {
}
interface DesignerData_S {
/**
* 实体id获取number
*
* @param id
* @return
*/
getEntityNumberById(id:string):string;
/**
* 获取扩展对象的原生对象id
*
* @param id 单据id
* @return 如果传入的id本身就是原生对象,则直接返回id,否则返回masterid
*/
getMasterId(id:string):string;
/**
* 通过单据id获取number
*
* @param id 单据id
* @return
*/
getNumberById(id:string):string;
}
interface DesignerData_C extends DesignerData_S {
new():DesignerData;
}
interface DesignerData$ {
/**
* 校验是否有此单据名
*
* @param name 单据名
* @return
*/
checkName(name:string):boolean;
/**
* 校验是否有此单据
*
* @param number 单据标识
* @return
*/
checkNumber(number_arg:string):boolean;
convertTo(content:$.java.util.Map,modelType:string):$.kd.bos.metadata.AbstractMetadata;
copyMeta(parameters:$.java.util.Map):$.java.util.Map;
/**
* 创建设计器空白模板
*
* @param parameters 单据基本参数
* @return 返回对应单据参数
*/
createBlankMetadata(parameters:$.java.util.Map):$.kd.bos.metadata.form.FormMetadata;
/**
* 创建设计器空白模板
*
* @param parameters 单据基本参数
* @return 返回对应单据参数
*/
createBlankModel(parameters:$.java.util.Map):$.java.util.Map;
/**
* 创建布局(原始表单界面效果)
* 创建空白布局用 #createBlankModel(Map parameters)
*
* @param parameters 单据基本参数
* @return 返回对应单据参数
*/
createOriginalLayout(parameters:$.java.util.Map):$.java.util.Map;
/**
* 创建打印模板
*
* @param parameters 基本单据参数
* @return 返回对用单据参数
*/
createPrintModel(parameters:$.java.util.Map):$.java.util.Map;
/**
* 保存元数据
*
* @param content 元数据
* 是否暂存,暂存则不做校验
* @return
*/
getDesignerMeatadata(content:$.java.util.Map):$.java.util.List;
getMeatadata(content:$.java.util.Map,lang:string):$.java.util.Map;
/**
* 保存设计器元数据
*
* @param content 元数据
* @return
*/
save(content:$.java.util.Map):$.java.util.Map;
save(content:$.java.util.Map,isDraft:boolean):$.java.util.Map;
save(content:$.java.util.Map,oldContent:$.java.util.Map):$.java.util.Map;
saveDesignMetadata(content:$.java.util.Map,isDraft:boolean):$.java.util.Map;
}
type DesignerData_T = DesignerData_S & DesignerData$;
interface DesignerData extends DesignerData_T {
}
interface FormTemplateFactory_S {
/**
* 创建单据模板
* @param modelType 单据类型
* @return
*/
createTemplate(modelType:string):IFormTemplate;
/**
* 生成单据模板
* @param modelType 单据类型
* @return 对应单据模板对象
*/
doCreateTemplate(modelType:string):IFormTemplate;
}
interface FormTemplateFactory_C extends FormTemplateFactory_S {
new():FormTemplateFactory;
}
interface FormTemplateFactory$ {
}
type FormTemplateFactory_T = FormTemplateFactory_S & FormTemplateFactory$;
interface FormTemplateFactory extends FormTemplateFactory_T {
}
}
namespace kd.bos.designer.earlywarn.utils{
interface MulilangConfig_S {
}
type MulilangConfig_ST = $.java.io.Serializable & MulilangConfig_S;
interface MulilangConfig_C extends MulilangConfig_ST {
new():MulilangConfig;
}
interface MulilangConfig$ {
copy():this;
getLangType():string;
getMergeContent():string;
getMessageContent():kd.bos.entity.earlywarn.warnschedule.MessageContent;
getSingleContent():string;
getTitle():string;
setLangType(langType:string):void;
setMergeContent(mergeContent:string):void;
setMessageContent(messageContent:kd.bos.entity.earlywarn.warnschedule.MessageContent):void;
setSingleContent(singleContent:string):void;
setTitle(title:string):void;
}
type MulilangConfig_T = $.java.io.Serializable & MulilangConfig_S & MulilangConfig$;
interface MulilangConfig extends MulilangConfig_T {
}
}
namespace kd.bos.designer.property.report{
interface DSField_S {
}
type DSField_ST = $.java.io.Serializable & DSField_S;
interface DSField_C extends DSField_ST {
new():DSField;
}
interface DSField$ {
/**
* 获取字段数据类型
* @return 数据类型
*/
getDataType():string;
/**
* 获取实体
* @return 实体编码
*/
getEntityId():string;
/**
* 获取字段
* @return 字段标识
*/
getFieldKey():string;
/**
* 获取字段名称(多语言),显示用
* @return 字段名称
*/
getFieldName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 设置字段数据类型
* @param dataType 数据类型
*/
setDataType(dataType:string):void;
/**
* 设置实体
* @param entityId 实体编码
*/
setEntityId(entityId:string):void;
/**
* 设置字段
* @param fieldKey 字段标识
*/
setFieldKey(fieldKey:string):void;
/**
* 设置字段名称(多语言),显示用
* @param fieldName 字段名称
*/
setFieldName(fieldName:$.kd.bos.dataentity.entity.LocaleString):void;
}
type DSField_T = $.java.io.Serializable & DSField_S & DSField$;
interface DSField extends DSField_T {
}
}
namespace kd.bos.designer.query{
interface QueryEntityParseHelper_S {
/**
* 构建字段树:
* 按照单据-实体-字段-基础资料属性的层次,构建单据的字段树返回;
* 顶级的节点为单据节点(id = entityNumber)
*
* @param parameter 构建参数
* @remark:
*
* 特别说明:
* 动态文本中的变量,必须使用花括号{BILLNO}括起;
* 为引导用户,在此函数中输出的节点,字段标识就强制增加了花括号,用户双击节点时,就会把带花括号的变量,插入到表达式中
*/
buildBillTreeNodes(parameter:QueryEntityTreeBuildParameter,isShowId:boolean,val:string):$.kd.bos.entity.tree.TreeNode;
/**
* 构建字段树:
* 按照实体-字段-基础资料属性的层次,构建字段树返回;
* 不含顶级的单据级节点
* 单据头节点id = "billhead";
* 其他实体节点id = 实体标识;
*
* @param parameter 构建参数
*
* @remark:
*
* 特别说明:
* 动态文本中的变量,必须使用花括号{BILLNO}括起;
* 为引导用户,在此函数中输出的节点,字段标识就强制增加了花括号,用户双击节点时,就会把带花括号的变量,插入到表达式中
*/
buildFldTreeNodes(parameter:QueryEntityTreeBuildParameter,isShowId:boolean):$.java.util.List;
/**
* 获取实体的属性
* @param querySelectField
* @param properties
* @param rootEntiry
* @return
*/
getFieldProperty(querySelectField:$.kd.bos.entity.mulentities.QuerySelectField,properties:$.kd.bos.dataentity.metadata.clr.DataEntityPropertyCollection,rootEntiry:$.kd.bos.metadata.entity.QueryEntity):$.kd.bos.dataentity.metadata.IDataEntityProperty;
}
interface QueryEntityParseHelper_C extends QueryEntityParseHelper_S {
new():QueryEntityParseHelper;
}
interface QueryEntityParseHelper$ {
}
type QueryEntityParseHelper_T = QueryEntityParseHelper_S & QueryEntityParseHelper$;
interface QueryEntityParseHelper extends QueryEntityParseHelper_T {
}
interface QueryEntityTreeNode_S {
}
interface QueryEntityTreeNode_C extends QueryEntityTreeNode_S {
new():QueryEntityTreeNode;
}
interface QueryEntityTreeNode$ {
getChildList():$.java.util.List;
getEntityAlias():string;
getEntityName():string;
getEntityNumber():string;
getParent():this;
setChildList(childList:$.java.util.List):void;
setEntityAlias(entityAlias:string):void;
setEntityName(entityName:string):void;
setEntityNumber(entityNumber:string):void;
setParent(parent:QueryEntityTreeNode):void;
}
type QueryEntityTreeNode_T = QueryEntityTreeNode_S & QueryEntityTreeNode$;
interface QueryEntityTreeNode extends QueryEntityTreeNode_T {
}
interface QueryMetadataHelper_S {
readonly ENTITY_SPLIST_PLAG:string;
readonly ISV_KINGDEE:string;
assembleOperationLang(id:string,mainEntityName:string,queryEntity:$.kd.bos.metadata.entity.QueryEntity):void;
createBarItems(parentId:string):$.java.util.List;
}
interface QueryMetadataHelper_C extends QueryMetadataHelper_S {
new():QueryMetadataHelper;
}
interface QueryMetadataHelper$ {
saveQueryMetadata(plugIn:QueryDynSourcePlugIn,dataModel:$.kd.bos.entity.datamodel.IDataModel):string;
}
type QueryMetadataHelper_T = QueryMetadataHelper_S & QueryMetadataHelper$;
interface QueryMetadataHelper extends QueryMetadataHelper_T {
}
interface QueryDynSourceValid_S {
/**
* 括号校验器,校验括号是否匹配
*
* @return
*/
bracketsChecker(dataModel:$.kd.bos.entity.datamodel.IDataModel,entityNumber:string,entityName:string,left:string,right:string):$.java.util.List;
/**
* 查询有括号的分录括号是否匹配
*
* @param dataModel
* @return
*/
checkAllEntityBrackets(dataModel:$.kd.bos.entity.datamodel.IDataModel):$.java.util.List;
/**
* 字段重复性校验,所有分录的需要校验的字段
*
* @param dataModel
* @return
*/
checkEntityFields(dataModel:$.kd.bos.entity.datamodel.IDataModel):$.java.util.List;
/**
* 组合字段重复性校验
*
* @param dataModel
* @param entityNumber
* @param entityName
* @param fields
* @return
*/
combinationFieldChecker(dataModel:$.kd.bos.entity.datamodel.IDataModel,entityNumber:string,entityName:string,...fields:string[]):$.java.util.List;
/**
* 别名校验器,目前是做重复性校验、编辑实体是否存在校验
*
* @param dataModel
* @return
*/
entityAliasChecker(dataModel:$.kd.bos.entity.datamodel.IDataModel):$.java.util.List;
/**
* 编码格式、重复校验
*
* @param number
* @param dataModel
* @return
*/
numberChecker(number_arg:string,dataModel:$.kd.bos.entity.datamodel.IDataModel):$.java.util.List;
/**
* 查询配置页面数据校验
*
* @param dataModel
* @return
*/
pageInfoChecker(dataModel:$.kd.bos.entity.datamodel.IDataModel,pageCache:$.kd.bos.form.IPageCache):$.java.util.List;
/**
* 启用的插件插件为空校验
*
* @param dataModel
* @return
*/
pluginChecker(dataModel:$.kd.bos.entity.datamodel.IDataModel):$.java.util.List;
/**
* 关联关系效验
*
* @param dataModel
* @param pageCache
* @return
*/
relationChecker(dataModel:$.kd.bos.entity.datamodel.IDataModel,pageCache:$.kd.bos.form.IPageCache):$.java.util.List;
/**
* 单个字段重复性校验
*
* @param dataModel
* @param entityNumber
* @param entityName
* @param field
* @return
*/
singleFieldChecker(dataModel:$.kd.bos.entity.datamodel.IDataModel,entityNumber:string,entityName:string,field:string):$.java.util.List;
}
interface QueryDynSourceValid_C extends QueryDynSourceValid_S {
new():QueryDynSourceValid;
}
interface QueryDynSourceValid$ {
}
type QueryDynSourceValid_T = QueryDynSourceValid_S & QueryDynSourceValid$;
interface QueryDynSourceValid extends QueryDynSourceValid_T {
}
enum ModelType {
Form,
List
}
interface QueryEntityTreeBuildParameter_S {
}
interface QueryEntityTreeBuildParameter_C extends QueryEntityTreeBuildParameter_S {
/**
* 构造函数:不限实体、不限类型,适用于构建全字段清单
*
* @param mainType
*/
new(mainType:$.kd.bos.entity.MainEntityType):QueryEntityTreeBuildParameter;
/**
* 构造函数:不限实体、不限类型,适用于构建全字段清单
*
* @param mainType
*/
new(mainType:$.kd.bos.entity.MainEntityType,queryEntityList:$.java.util.List):QueryEntityTreeBuildParameter;
/**
* 构造函数:限定实体,字段类型,找同类型的字段,或者派生子类型字段
*
* @param mainType
* @param selectedEntity
* @param matchedClassType
*/
new(mainType:$.kd.bos.entity.MainEntityType,selectedEntity:$.java.util.HashSet,matchedClassType:$.java.lang.Class):QueryEntityTreeBuildParameter;
/**
* 构造函数:限定实体、源字段,找与源字段类型匹配的字段清单
*
* @param mainType
* @param selectedEntity
* @param matchedProperty
*/
new(mainType:$.kd.bos.entity.MainEntityType,selectedEntity:$.java.util.HashSet,matchedProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):QueryEntityTreeBuildParameter;
}
interface QueryEntityTreeBuildParameter$ {
/**
* 主实体
* @return
*/
getMainType():$.kd.bos.entity.MainEntityType;
getMatchedClassType():$.java.lang.Class;
getMatchedProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
getQueryEntityList():$.java.util.List;
getSelectedEntity():$.java.util.HashSet;
isDynamicText():boolean;
/**
* 包括主键、行序号字段
* @return
*/
isIncludePKField():boolean;
isOnlyPhysicsField():boolean;
setDynamicText(dynamicText:boolean):void;
setIncludePKField(includePKField:boolean):void;
setMainType(mainType:$.kd.bos.entity.MainEntityType):void;
setMatchedClassType(matchedClassType:$.java.lang.Class):void;
setMatchedProperty(matchedProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
setOnlyPhysicsField(onlyPhysicsField:boolean):void;
setQueryEntityList(queryEntityList:$.java.util.List):void;
}
type QueryEntityTreeBuildParameter_T = QueryEntityTreeBuildParameter_S & QueryEntityTreeBuildParameter$;
interface QueryEntityTreeBuildParameter extends QueryEntityTreeBuildParameter_T {
}
interface QueryDynSourcePlugIn_S {
readonly BASEDATA_ID:string;
readonly CHILD_ENTITY_ALIAS:string;
readonly CHILD_ENTITY_NUMBER:string;
readonly COLUMN_ENTITY_ALIAS:string;
readonly COLUMN_ENTITY_NUMBER:string;
readonly CONDITION_FIELD:string;
readonly CONDITION_VALUE:string;
readonly IDE_OPERATIONSELECT:string;
readonly MAIN_ENTITY_ALIAS:string;
readonly MAIN_ENTITY_NAME:string;
readonly OPERATIONS_CONTROL_VAL:string;
readonly PAGE_QUERY_FIELD_MODIFY_VAL_F7:string;
readonly PARENT_ENTITY_ALIAS:string;
readonly PARENT_ENTITY_NUMBER:string;
readonly PERMISSION_CONTROL_VAL:string;
readonly PERMISSION_FIELD_VAL:string;
readonly QS_CONDITION_ROW_ID:string;
readonly QUERYSOURCE_JOIN_RELATION_ID:string;
readonly QUERY_CONDITION_ENTRY:string;
readonly QUERY_DYN_SOURCE_PLUG_IN_CACHE:string;
readonly QUERY_ENTITY_ENTRY:string;
readonly QUERY_QUERYPLUGIN_ENTRY:string;
readonly QUERY_RELATION_CONDITION_ENTRY:string;
readonly QUERY_RELATION_ENTRY:string;
readonly QUERY_SELECT_FIELDS_ENTRY:string;
readonly QUERY_SORT_FIELDS_ENTRY:string;
readonly RELATION_CHILD_ENTITY_PROP:string;
readonly RELATION_CHILD_ENTITY_PROPDISNAME:string;
readonly RELATION_CONDITION_TYPE:string;
readonly RELATION_PARENT_ENTITY_PROP:string;
readonly RELATION_PARENT_ENTITY_PROPDISNAME:string;
readonly SELECTFIELDENTITYNUMBER:string;
readonly SELECT_FIELD_ALIAS:string;
readonly SPLIT_STRING_FLAG:string;
readonly logger:$.kd.bos.logging.Log;
}
type QueryDynSourcePlugIn_ST = $.kd.bos.form.control.events.CellClickListener & $.kd.bos.form.control.events.TabSelectListener & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.base.AbstractBasePlugIn & QueryDynSourcePlugIn_S;
interface QueryDynSourcePlugIn_C extends QueryDynSourcePlugIn_ST {
new():QueryDynSourcePlugIn;
}
interface QueryDynSourcePlugIn$ {
}
type QueryDynSourcePlugIn_T = $.kd.bos.base.AbstractBasePlugIn & $.kd.bos.form.control.events.TabSelectListener & $.kd.bos.form.control.events.CellClickListener & $.kd.bos.form.control.events.RowClickEventListener & QueryDynSourcePlugIn_S & QueryDynSourcePlugIn$;
interface QueryDynSourcePlugIn extends QueryDynSourcePlugIn_T {
}
interface ReportComboItemPlugin_S {
}
type ReportComboItemPlugin_ST = $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & ReportComboItemPlugin_S;
interface ReportComboItemPlugin_C extends ReportComboItemPlugin_ST {
new():ReportComboItemPlugin;
}
interface ReportComboItemPlugin$ {
}
type ReportComboItemPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TreeNodeClickListener & ReportComboItemPlugin_S & ReportComboItemPlugin$;
interface ReportComboItemPlugin extends ReportComboItemPlugin_T {
}
interface QuerySelectFieldList_S {
readonly CustParamKey_IsMulti:string;
readonly CustParamKey_SelectedNodeIds:string;
readonly CustParamKey_TreeNodes:string;
readonly FormId_SelectField:string;
readonly Key_TreeView:string;
readonly Key_btnCancel:string;
readonly Key_btnOK:string;
}
type QuerySelectFieldList_ST = $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.control.events.TreeNodeCheckListener & QuerySelectFieldList_S;
interface QuerySelectFieldList_C extends QuerySelectFieldList_ST {
new():QuerySelectFieldList;
}
interface QuerySelectFieldList$ {
}
type QuerySelectFieldList_T = $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.control.events.TreeNodeCheckListener & QuerySelectFieldList_S & QuerySelectFieldList$;
interface QuerySelectFieldList extends QuerySelectFieldList_T {
}
interface QueryConditionSelectFieldList_S {
readonly CustParamKey_TreeNodes:string;
readonly Key_TreeView:string;
readonly Key_btnCancel:string;
readonly Key_btnOK:string;
readonly SELECT_FIELD_NUMBER:string;
}
type QueryConditionSelectFieldList_ST = $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.control.events.TreeNodeCheckListener & QueryConditionSelectFieldList_S;
interface QueryConditionSelectFieldList_C extends QueryConditionSelectFieldList_ST {
new():QueryConditionSelectFieldList;
}
interface QueryConditionSelectFieldList$ {
}
type QueryConditionSelectFieldList_T = $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.control.events.TreeNodeCheckListener & QueryConditionSelectFieldList_S & QueryConditionSelectFieldList$;
interface QueryConditionSelectFieldList extends QueryConditionSelectFieldList_T {
}
interface QueryTreeListPlugin_S {
}
type QueryTreeListPlugin_ST = $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.ClickListener & $.kd.bos.list.plugin.StandardTreeListPlugin & QueryTreeListPlugin_S;
interface QueryTreeListPlugin_C extends QueryTreeListPlugin_ST {
new():QueryTreeListPlugin;
}
interface QueryTreeListPlugin$ {
/**
* 获取现在选中行相关数据
*
* @return
*/
getCurrentSelector():$.java.util.Map;
refreshBillList():void;
}
type QueryTreeListPlugin_T = $.kd.bos.list.plugin.StandardTreeListPlugin & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.ClickListener & QueryTreeListPlugin_S & QueryTreeListPlugin$;
interface QueryTreeListPlugin extends QueryTreeListPlugin_T {
}
}
namespace kd.bos.devportal.common.util{
interface AppUtils_S {
readonly APPPLUGIN:string;
readonly CARD_WARN:string;
readonly CONFLICT:string;
readonly DOWNLOADPATH:string;
readonly DYMX_WARN:string;
readonly DYM_WARN:string;
readonly EMPTY_COMMIT:string;
readonly ERROR:string;
readonly NOCODE_CLOUD_ID:string;
readonly NOCODE_SYS_APP_ID:string;
readonly NOPATH:string;
readonly ORITENENTISV:string;
readonly PAGEPLUGIN:string;
readonly PAGE_WARN:string;
readonly SCENE_DELETEAPP:string;
readonly SCRIPT_WARN:string;
readonly SUCCESS:string;
readonly UPLOADPATH:string;
readonly USER_HOME:string;
readonly logger:$.kd.bos.logging.Log;
addLog(id:string,opName:string,opDescription:string):void;
addOpLog(id:string,opKey:string,keyWord:string,status:string,opName:string,opDescription:string):void;
addOpLog(id:string,opKey:string,keyWord:string,status:string,opName:kd.bos.dataentity.resource.promptenum.MultiLangEnumBridge,opDescription:kd.bos.dataentity.resource.promptenum.MultiLangEnumBridge,...args:string[]):void;
/**
* @param bizCloudId
* @param appNumber
* @param tag
* @return
* @Description:校验应用编码
*/
autoAppNumber(bizCloudId:string,appNumber:string,tag:string):string;
/**
* @param number
* @return
* @Description:自动生成扩展编码
*/
autoExtendedNumber(number_arg:string):string;
buildOpLogAppInfo(id:string,keyWord:string,status:string):kd.bos.log.api.OpLogAppInfo;
checkCloudResourceBelongsToCurDeveloper(bizCloudId:string):boolean;
checkDeleteResource(id:string,bizAppId:string,view:$.kd.bos.form.IFormView,resourceType:string,sceneType:string):boolean;
/**
* @param path
* @return
* @Description: 禁止使用相对路径来绕过根目录限制
*/
checkFilePath(path:string):string;
checkPagePermission(pageNumber:string,permissionItemId:string):boolean;
checkResourceBelongsToCurDeveloper(bizAppId:string):boolean;
checkResourceBelongsToCurDeveloper(bizAppId:string,developer:string):boolean;
/**
* @param deletePath
* @Description:删除文件
*/
deleteFile(deletePath:string):void;
/**
* @param deletePath
* @Description:组装删除指定文件夹下的指定文件夹和文件(zip文件不能删)
*/
deleteFiles(deletePath:string):void;
deleteKd(file:$.java.io.File):void;
getAppListConut(filters:$.kd.bos.orm.query.QFilter[],industryId:string,isRuntime:boolean,onlyVisible:boolean):number;
getAppListInfo(filters:$.kd.bos.orm.query.QFilter[],industryId:string,isRuntime:boolean,orderBy:string,pageIndex:number,limit:number):$.java.util.Map;
getAppListInfo(filters:$.kd.bos.orm.query.QFilter[],industryId:string,isRuntime:boolean,onlyVisible:boolean,orderBy:string,pageIndex:number,limit:number):$.java.util.Map;
getApps(filters:$.kd.bos.orm.query.QFilter[],isRuntime:boolean):$.java.util.List;
getApps(filters:$.kd.bos.orm.query.QFilter[],orderBy:string,isRuntime:boolean):$.java.util.List;
/**
* 获取业务云的子系统树结构数据
* bizCloudIds: 根据id形成bos_devportal_bizcloud的过滤条件。可以为null,此时表示无过滤条件
* industryId: 行业标识id。可以为null,此时表示不进行行业过滤
*
* @return
*/
getCloudSubsysTree(bizCloudIds:string[],industryId:string):$.kd.bos.entity.tree.TreeNode;
getCountByFilter(filters:$.kd.bos.orm.query.QFilter[],entityName:string):number;
getDeveloperInfo():string;
getFilePaths(formNumber:string,svnLocalPath:string):$.java.util.List;
getFormListInfo(filters:$.kd.bos.orm.query.QFilter[],industryId:string,isRuntime:boolean,orderBy:string,pageIndex:number,limit:number):$.java.util.Map;
getFromListConut(filters:$.kd.bos.orm.query.QFilter[],industryId:string,isRuntime:boolean):number;
/**
* 根据业务应用ID,获取应用git地址
*
* @param appId 业务应用ID
* @return
*/
getGitPathByAppId(appId:string):$.java.util.Map;
getIsvByAppId(bizAppId:string):string;
getIsvByCloudId(bizCloudId:string):string;
getMetaXmlPath(filename:string,exportPath:string):string;
getMetadataContent(file:$.java.io.File):void;
getMetadataContent(filePath:$.java.io.File,msg:any):void;
getNoPermissionTips():string;
getRuntimeAppListInfo(filters:$.kd.bos.orm.query.QFilter[],industryId:string,orderBy:string,pageIndex:number,limit:number):$.java.util.Map;
getRuntimeFormListInfo(filters:$.kd.bos.orm.query.QFilter[],industryId:string,orderBy:string,start:number,limit:number):$.java.util.Map;
getSVNPathByAppId(appId:string):string;
getSVNPathByAppId(appId:string,metadataId:string):string;
getSessionIdForSvnDiff(sessionId:string):string;
getSessionKey(svnPath:string,uuid:string):string;
getSessionKeyForSvnDiff(svnPath:string,uuid:string):string;
/**
* 获取业务应用的子系统树结构数据
* bizAppIds: 根据id形成bos_devportal_bizapp的过滤条件。可以为null,此时表示无过滤条件
* industryId: 行业标识id。可以为null,此时表示不进行行业过滤
* leafType: cloud,app,menu,func
*
* @return
*/
getSubsysTree(bizCloudIds:string[],bizAppIds:string[],industryId:string,leafType:string,isRuntime:boolean):$.kd.bos.entity.tree.TreeNode;
/**
* 获取业务应用的子系统树结构数据,满足获取非扩展应用的需求(包括不可见和未启用的)
* bizAppIds: 根据id形成bos_devportal_bizapp的过滤条件。可以为null,此时表示无过滤条件
* industryId: 行业标识id。可以为null,此时表示不进行行业过滤
* leafType: cloud,app,menu,func
*
* @return
*/
getSubsysTree(bizCloudIds:string[],bizAppIds:string[],industryId:string,leafType:string,isRuntime:boolean,onlyVisible:boolean,onlyDeployed:boolean):$.kd.bos.entity.tree.TreeNode;
getSvnUrl():string;
isScriptBeReferenced(scriptId:string):boolean;
rebuildRuntimeMetaById(content:string):void;
}
interface AppUtils_C extends AppUtils_S {
new():AppUtils;
}
interface AppUtils$ {
}
type AppUtils_T = AppUtils_S & AppUtils$;
interface AppUtils extends AppUtils_T {
}
}
namespace kd.bos.devportal.util{
interface AppPackageUtil_S {
readonly CUSTOMSTATIC:string;
readonly DM:string;
readonly JAR:string;
readonly OEMFormatVer:string;
readonly STATICRESOURCE:string;
readonly WEBAPP:string;
/**
* 创建应用配置文件appInfo.xml,并写入应用安装顺序(AppSeq片段)
*
* @param zipPath 应用部署包临时文件根目录,格式:"..\[cloud]_[app]_dm\[traceId]\"
* @param appNumbers 有顺序的应用编码
* @param packagePath 应用配置文件appInfo.xml全路径地址:"..\[cloud]_[app]_dm\[traceId]\appInfo.xml"
*/
createAppInfo(zipPath:string,appNumbers:$.java.util.List,packagePath:string):void;
/**
* @description 创建应用补丁内的appnum.xml文件
* @param appNum 应用编码
* @param sqlList 待导出的sql文件名称
* @param mainPath 元数据补丁的main目录
* @param hasXmlFlag 预插数据中是否包含大文本字段xml内容
*/
createAppXML(appNum:string,sqlList:$.java.util.List,mainPath:string,hasXmlFlag:boolean):void;
/**
* @description 创建应用补丁内的datamodel.xml文件
* @param appId
* @param appFileNameSet
* @param datamodelPath
*/
createDataModelXML(appId:string,appFileNameSet:$.java.util.Set,datamodelPath:string):void;
createDataNode(dataColl:$.kd.bos.dataentity.entity.DynamicObjectCollection,parentNode:$.kd.bos.entity.tree.TreeNode):void;
/**
* @Description:创建有属性的XML节点
* @param transformerHandle
* @param blankLength
* @param endLength
* @param elementName
* @param attributeName
* @param attributeType
* @param attributeValue
* @throws SAXException
*/
createElementWithAttribute(transformerHandle:any,blankLength:string,endLength:string,elementName:string,attributeName:string,attributeType:string,attributeValue:string):void;
/**
* @Description:创建没有属性的XML节点
* @param transformerHandle
* @param attributesImple
* @param blankLength
* @param endLength
* @param elementName
* @throws SAXException
*/
createElementWithoutAttribute(transformerHandle:any,attributesImple:any,blankLength:string,endLength:string,elementName:string):void;
/**
* @description 创建应用补丁内的kdpkgs.xml文件
* @param bizAppId
* @param packageVersion
* @param description
* @param appPackageNames
* @param jarAppNumColl
* @param zipPath
* @param md5Map
* @param shaMap
*/
createKdpkgsXML(bizAppId:string,packageVersion:string,description:string,appPackageNames:$.java.util.Collection,jarAppNumColl:$.java.util.Collection,zipPath:string,md5Map:$.java.util.Map,shaMap:$.java.util.Map):void;
createKdpkgsXML(bizAppId:string,packageVersion:string,description:string,appPackageNames:$.java.util.Collection,jarAppNumColl:$.java.util.Collection,zipPath:string,md5Map:$.java.util.Map,shaMap:$.java.util.Map,view:$.kd.bos.form.IFormView):void;
/**
* @description 部署应用补丁内的sql文件
* @param sqlFileContent sql文件内容
* @param sqlFileName sql文件名
* @param type sql语法类型,如:ORACLE | MYSQL ... ,由应用补丁包内的appnum.xml中获取
* @param separator 分隔符, 由应用补丁包内的appnum.xml中获取
* @param dbKey 数据库路由, 由应用补丁包内的appnum.xml中获取
* @param errorLevel
* @param plugin
* @param pkName
* @param appNum
* @param version
* @return
*/
deploySqlFile(sqlFileContent:string,sqlFileName:string,type_arg:string,separator:string,dbKey:string,errorLevel:string,plugin:string,pkName:string,appNum:string,version:string):$.java.util.Map;
/**
* @description 将指定数据导出成预置sql文件(将实体entityNum的数据pkList以文件sqlFileName导出到expPath)
* @param entityNum 实体标识
* @param pkList 数据主键ID
* @param sqlFileName 待导出的sql文件名
* @param expPath 导出路径
* @throws IOException
*/
expPreInsDataSql(entityNum:string,pkList:$.java.util.List,sqlFileName:string,expPath:string):$.java.util.Map;
/**
* @description 将前端页面中附件面板上传的sql文件导出到指定位置
* @param url
* @param expPath
* @param sqlFileName
*/
expSql(url:string,expPath:string,sqlFileName:string):void;
/**
* @Description:导出自定义控件资源到schemasource目录
* @param sourceUrl
* @param schemaPath
* @param zipPath
* @param schemaId
* @throws IOException
*/
exportCustomResource(sourceUrl:string,schemaPath:string,zipPath:string,schemaId:string):void;
/**
* 从临时文件服务器下载jar包或静态资源zip文件,放入指定目录
*
* @param zipPath 根目录
* @param urlName 文件名
* @param url 文件下载地址(临时文件服务器)
* @param relativePath 文件存放相对路径(根目录下的相对路径)
*/
exportJarOrStaticSource(zipPath:string,urlName:string,url:string,relativePath:string):void;
/**
* 读取应用首页方案内容,生成预插数据SQL文件内容(字符串)返回
*
* 预插内容包括:卡片配置(T_BAS_CARDCONFIG),首页布局(T_BAS_MAINPAGELAYOUT)
*
* @param mainPageIds 应用首页方案id集合
* @return 返回包含了预插应用首页方案数据的SQL内容,SQL内容包含两部分:预插SQL语句,大文本字段XML内容
*/
exportPageScheme(mainPageIds:$.java.util.List):$.java.util.Map;
/**
* 读取应用首页方案内容,生成预插数据SQL,在指定目录创建文件写入
*
* @param wkBenchList 首页方案Id集合
* @param mainPath 应用部署包临时目录"..\datamodel\5.0\main\app\",生成文件放入此目录
* @param sqlNameList 应用部署包含的SQL文件清单,输出参数,把首页方案数据转成预插脚本,加入SQL文件清单
* @return 返回是否包含了大文本xml内容,返回true,包含了大文本xml内容
*/
exportPageScheme(wkBenchList:$.java.util.List,mainPath:string,sqlNameList:$.java.util.List):boolean;
/**
* 从临时文件服务器下载建表SQL或预插SQL文件到临时目录(..\datamodel\5.0\main\app\)
*
* @param appPath 创建应用部署包时使用的临时目录,需把SQL文件放入此目录打包:..\datamodel\5.0\main\app\
* @param urlName SQL文件名称,不含路径
* @param url SQL文件地址,从此地址下载文件,放入部署包临时目录
* @param sourceType SQL文件类型:建表SQL文件,或者是预插数据SQL文件
*/
exportSchOrPreSource(appPath:string,urlName:string,url:string,sourceType:string):void;
/**
* @description 构造【配置信息】页签下左树一级节点(应用节点)以下的所有节点(不含一级节点). 保证该棵树所有一级节点以下的节点ID的构造规则一致
* @param parentId
* @param dataId
* @param nodeText
* @return
*/
geneConfNode(parentId:string,dataId:string,nodeText:string):$.kd.bos.entity.tree.TreeNode;
/**
* @description 将待导出数据(导出实体entityNum的数据pkList,不包含字段excludedFields)生成sql语句
* @param entityNum 待导出数据的实体编码
* @param pkList 待导出数据的主键ID
* @param excludedFields 忽略导出的实体字段
* @return
*/
genePreInsDataSqlContent(entityNum:string,pkList:$.java.util.List,excludedFields:$.java.util.Set):string;
/**
* @description 解析文件datamodel.xml
* @param datamodelXmlContent
* @return
*/
getAppXmlPathByDataModelXml(datamodelXmlContent:string):$.java.util.List;
/**
* @Description:获取开发者门户下的产品版本号
* @return
*/
getDevPorductVersion():string;
/**
* 一级菜单:应用信息、页面、脚本、工作流、botp、单据类型、编码规则、自定义控件方案,其中页面、脚本包含功能分组
* @return
*/
getFirNodes():any;
/**
* 访问应用部署向导数据模型,从资源单据体中,获取jar包和静态资源信息
*
* @param jarMsg jar包资源信息集合,输出参数
* @param staticSourceMsg 静态资源信息集合,输出参数
* @param dataModel 应用数据部署向导界面,formid = bos_devp_madeapppack_inh
*/
getJarAndStaticResource(jarMsg:any,staticSourceMsg:any,dataModel:$.kd.bos.entity.datamodel.IDataModel):void;
getProductName():string;
/**
* @Description:创建SAX
* @param fileOutputStream
* @return
* @throws TransformerConfigurationException
*/
getTransformerHandler(fileOutputStream:$.java.io.OutputStream):any;
/**
* 递归树节点中的节点Id,把本节点及子节点的id放入集合中
*
* @param treeNode 树节点
* @param treeNodeList 节点id集合,输出参数
*/
getTreeNodeChildren(treeNode:$.kd.bos.entity.tree.TreeNode,treeNodeList:$.java.util.List):void;
/**
* @description 解析appnum.xml文件内容获取sql文件信息
* @param appXmlContent 应用补丁包中应用编码目录下appnum.xml文件内容
* @return
*/
paraseAppXml(appXmlContent:string):$.java.util.List;
/**
* @Description:将资源加入应用集合
* @param sourceList
* @param selectNodeMap
* @param bizParent
* @param selectAppIdList
* @param num
*/
pushSourceToCollection(sourceList:$.java.util.List,selectNodeMap:$.java.util.Map,bizParent:string,selectAppIdList:$.java.util.List,num:number):void;
/**
* 将JSONObject对象加入到JSONArray
* @param name
* @param id
* @param num
* @return
*/
putObjToArr(name:string,id:string,num:string):any;
/**
* 将sql文件信息添加到应用部署包的建表、预插脚本清单中
*
* 从传入的数据模型中读取附加的Sql文件信息
*
* @param sqlRowCount Sql文件数量
* @param selectAppId 当前所选的应用:据此确定存放目录
* @param dbschemaMsg 应用部署包-建表SQL文件清单:输出参数,把SQL文件信息附加到此对象中
* @param preinsdataMsg 应用部署包-预插脚本清单:输出参数,把SQL文件信息附加到此对象中
* @param dataModel 应用部署包制作向导界面-数据模型,从中获取附加的SQL文件信息等
*/
putSqlIntoApp(sqlRowCount:number,selectAppId:string,dbschemaMsg:any,preinsdataMsg:any,dataModel:$.kd.bos.entity.datamodel.IDataModel):void;
/**
* @description 读取前端页面上附件面板上传的文件中的内容
* @param url
* @return
* @throws IOException
*/
readFileContent(url:string):string;
/**
* @description 将zip文件流内的文件内容读取成字符串
* @param zipIn zip文件的输入流
* @return
* @throws IOException
*/
readFileContent(zipIn:any):string;
/**
* @description 将zip文件流内的文件内容读取成字节数组
* @param zipIn zip文件的输入流
* @return
* @throws IOException
*/
readFileContentToByteArr(zipIn:any):number[];
}
interface AppPackageUtil_C extends AppPackageUtil_S {
new():AppPackageUtil;
}
interface AppPackageUtil$ {
}
type AppPackageUtil_T = AppPackageUtil_S & AppPackageUtil$;
interface AppPackageUtil extends AppPackageUtil_T {
}
interface DevportalUtil_S {
readonly BIZAPP:string;
readonly BIZAPPID:string;
readonly BIZCLOUD:string;
readonly BIZPAGE:string;
readonly BIZUNIT:string;
readonly CHECKIN_APP:string;
readonly CHECKIN_PAGE:string;
readonly CONFLICT:string;
readonly CREATEDATE:string;
readonly DESCRIPTION:string;
readonly EMPTY_COMMIT:string;
readonly ERROR:string;
readonly ERRORCODE:string;
readonly EXPORT_APP:string;
readonly EXPORT_CLOUD:string;
readonly EXPORT_PAGE:string;
readonly INDUSTRY:string;
readonly MASTERID:string;
readonly MODIFIERID:string;
readonly MODIFYDATE:string;
readonly MULTI_TXT_NAME:string;
readonly NOPATH:string;
readonly NUMBER:string;
readonly ORITENENTISV:string;
readonly PARENTID:string;
readonly RUNTIMEERROR:string;
readonly SUCCESS:string;
readonly USER_HOME:string;
readonly VERSION:string;
readonly logger:$.kd.bos.logging.Log;
OpenAppTab(appPageID:string,bizAppId:string,bizAppName:string,bizFormNumber:string,bizCloudId:string,view:$.kd.bos.form.IFormView,isNeedGuide:boolean):void;
/**
* 判断当前帐套的ISV是否是kingdee
*
* @return
*/
acctIsvIsKingdee():boolean;
/**
* 为继承、复制、套打、布局、扩展页面赋值直接保存的名称
*
* @param formName
* @return
*/
autoFormName(formName:string):string;
/**
* 为继承、复制、套打、扩展页面赋值直接保存的编码
*
* @param formNumber,tag
* @return
*/
autoFormNumber(formNumber:string,tag:string):string;
/**
* 为云,应用,页面编码根据开发商标识判断是否加isv前缀
*
* @param number
* @return
*/
autoIsvNumber(number_arg:string):string;
autoIsvNumber(number_arg:string,isv:string):string;
buildNewLayout(map:$.java.util.Map,bizAppId:string,bizUnitId:string,view:$.kd.bos.form.IFormView,isPrintTemplate:boolean):$.java.util.Map;
buildNewPage(map:$.java.util.Map,bizAppId:string,bizUnitId:string,view:$.kd.bos.form.IFormView,isPrintTemplate:boolean):$.java.util.Map;
buildNewQueryModel(map:$.java.util.Map,bizAppId:string,bizUnitId:string,view:$.kd.bos.form.IFormView):$.java.util.Map;
/**
* 子节点挂到对应父节点下
*
* @param pnode 父节点
* @param childNode 子节点集合
* @return
*/
buildNode(pnode:$.kd.bos.entity.tree.TreeNode,childNode:$.java.util.List):$.kd.bos.entity.tree.TreeNode;
changeTabToDev(arg:any,view:$.kd.bos.form.IFormView,appMetadata:$.kd.bos.metadata.devportal.AppMetadata):void;
checkAppProperties(appObject:$.kd.bos.dataentity.entity.DynamicObject,fsp:$.kd.bos.form.FormShowParameter):$.java.lang.StringBuilder;
/**
* @param path
* @return
* @Description: 禁止使用相对路径来绕过根目录限制
*/
checkFilePath(path:string):string;
/**
* resIsv不可为空,因此暂不适用于页面的验权
*
* @param resIsv
* @return
*/
checkIsvPermission(resIsv:string):boolean;
/**
* 检查表单的父级界面是否存在,用于应用元数据导入和表单元数据导入
*
* @param inheritPath 继承路径
* @param number 表单编码
* @return
*/
checkPageIsExist(inheritPath:string,number_arg:string):string;
configAppHome(view:$.kd.bos.form.IFormView,appObject:$.kd.bos.dataentity.entity.DynamicObject,fsp:$.kd.bos.form.FormShowParameter):any;
copyMobleForm(templageFormId:string,bizAppId:string,bizUnitId:string,number_arg:string,fromName:$.kd.bos.dataentity.entity.LocaleString):$.java.util.Map;
/**
* @param jsonString
* @param filePath
* @param fileName
* @return
* @Description:生成json格式文件
*/
createJsonFile(jsonString:string,filePath:string,fileName:string):boolean;
createNewAppMeta(appObject:$.kd.bos.dataentity.entity.DynamicObject):$.kd.bos.metadata.devportal.AppMetadata;
createNewPage(appId:string,appObject:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
createNewPage(view:$.kd.bos.form.IFormView,appId:string,appObject:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
/**
* 模型分离:打开新版页面设计器
*
* @param view 视图
* @param id 表单id
* @param pageNumber 页面编码
*/
createNewPageDesinger(view:$.kd.bos.form.IFormView,id:string,pageNumber:string):$.kd.bos.form.FormShowParameter;
createRecycleBinAppData(appId:string,bizAppNum:string,operation:string):$.kd.bos.dataentity.entity.DynamicObject;
createRecycleBinFormData(formId:string,operation:string):$.kd.bos.dataentity.entity.DynamicObject;
createRecycleBinScriptData(scriptId:string,operation:string):$.kd.bos.dataentity.entity.DynamicObject;
createUnitRelFormObject(appMetadata:$.kd.bos.metadata.devportal.AppMetadata,appId:string,formId:string):$.kd.bos.dataentity.entity.DynamicObject[];
deleteAppChecking(bizAppId:string):any;
deleteAppConfirm(bizAppId:string,bizAppNumber:string,bizAppName:string,jSessionId:string,view:$.kd.bos.form.IFormView,plugin:$.kd.bos.form.plugin.AbstractFormPlugin):void;
deleteAppSource(bizAppId:string,bizAppNum:string,pageId:string,index:string,bizcloudid:string,view:$.kd.bos.form.IFormView):void;
deletePage(formId:string,bizUnitId:string,isCollection:boolean,bizAppId:string,bizAppType:string,delType:string,objectId:string):$.java.util.Map;
/**
* 生成应用元数据文件
*
* @param bizAppId
* @param exportPath
* @param sourceType 签入或导出
*/
expAppMetadata(bizAppId:string,exportPath:string,sourceType:string):void;
/**
* 制作业务云元数据
*
* @param cloudId
* @param exportPath
* @param sourceType 签入或导出
*/
expCloudMetadata(cloudId:string,exportPath:string,sourceType:string):void;
/**
* @param formId
* @param exportPath
* @param sourceType 签入或者导出
* @return
*/
expFormMetadata(formId:string,exportPath:string,sourceType:string):any;
/**
* 导出部署文件到本地路径
*
* @param formId 表单id
* @param bizAppId 应用id
* @param unitId 分组id
* @param exportPath 导出路径
* @param sourceType 类型
* @return
*/
expFormMetadata(formId:string,bizAppId:string,unitId:string,exportPath:string,sourceType:string):any;
expScriptMeta(scriptId:string,exportPath:string):void;
exportScriptCallBack(scriptId:string,formView:$.kd.bos.form.IFormView):void;
/**
* 路径遍历 漏洞修复
*
* @param str
* @return
*/
filenameFilter(str:string):string;
/**
* @param json
* @return
* @Description:json格式化
*/
formatJson(json:string):string;
/**
* @param inheritPath
* @param bizAppId
* @return
* @Description:根据应用继承路径获取上级应用id
*/
getAllAppIds(inheritPath:string,bizAppId:string):$.java.util.List;
getAppVerion(appNum:string):string;
getAppsInCloud(bizCloudId:string):any;
getAppsInfoByCloudId(bizCloudId:string,view:$.kd.bos.form.IFormView):any;
getAppsInfoByFilters(filters:$.kd.bos.orm.query.QFilter[],view:$.kd.bos.form.IFormView):any;
getBizAppIds(bizAppId:string):any;
getBizAppNameById(bizAppId:string):string;
getBizCloudNameById(bizcloudid:string):string;
getBizUnitNameById(bizAppId:string,bizUnitId:string):string;
getBizUnitTypeById(bizAppId:string,bizUnitId:string):string;
getClassNameByBizUnitId(bizAppId:string,bizUnitId:string,scriptNumber:string):string;
getCloudsInfo():any;
/**
* @param view
* @return
* @Description:获取业务云信息
*/
getCloudsInfo(view:$.kd.bos.form.IFormView):any;
/**
* 获取代码版本管理类型
*
* @return git, svn, none
*/
getCodeManageType():string;
getCodeManageTypeByBizAppId(bizAppId:string):string;
getDBRouteComboItems(cloudNum:string):$.java.util.List;
getDBRoutesByCloudNumber(cloudNumber:string):$.java.util.List;
/**
* @param routeKey
* @return
* @Description:获取路由编码
*/
getDbInstanceInfo(routeKey:string):any;
/**
* @return
* @Description:获取分库标识
*/
getDbInstanceList():any;
getDefalutCloudId(array:any):string;
/**
* 获取系统参数中git统一配置的远程地址
*
* @return
*/
getGitCommonRemoteUrl():string;
/**
* @param icourl 图标链接地址
* @param title 标题
* @param content 具体描述内容
* @param step 显示哪些步数操作(比如上一步,下一步,跳过)
* @param tiptop 信息框显示位置的偏移
* @param tipleft 信息框显示位置的偏移
* @param pageId 要高亮的控件所在页面的
* @param key 页面上要高亮的控件id
* @param showPos 显示位置(上下左右居中)01234
* @param extendPic 模拟控件弹出面板效果图片链接
* @param alltop 整个信息框的偏移
* @param allleft 整个信息框的偏移
* @param arrowOffset 三角箭头偏移量
* @return
*/
getGuideItemData(icourl:string,title:string,content:string,step:string,tiptop:number,tipleft:number,pageId:string,key:string,showPos:number,extendPic:string,alltop:number,allleft:number,arrowOffset:number,picShowPos:number):$.java.util.Map;
/**
* map装入node所有叶子节点
*
* @param map 叶子节点集合
* @param node 节点
*/
getLeafNodes(map:$.java.util.Map,node:$.kd.bos.entity.tree.TreeNode):void;
getMaxSeq(bizCloudId:string):number;
/**
* @param bizAppId
* @param flag
* @return
* @Description:获取功能分组最大序号
*/
getMaxUnitSeq(bizAppId:string,flag:boolean):number;
getNoPermissionTip():string;
getOrgFuncComboItems():$.java.util.List;
getPageListSQL(bizAppId:string,unitType:string,unitRelFormDataSet:$.kd.bos.algo.DataSet,formMetaDataSet:$.kd.bos.algo.DataSet,shortcutDataSet:$.kd.bos.algo.DataSet,orderby:string,layout:boolean):any;
getParallelExtCountByIsv(id:string,formNumber:string,parentId:string):string;
getParallelInheritCountByIsv(id:string,formNumber:string,parentId:string,type_arg:string):string;
getPermissionListFilter(filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.orm.query.QFilter[];
/**
* @param bizAppId
* @param bizUnitId
* @param deviceType
* @param bizPageModelType
* @param sortBizPageGroupType
* @return
* @Description:根据过滤条件获取功能分组下所有页面
*/
getSelectedUnitPages(bizAppId:string,bizUnitId:string,deviceType:string,bizPageModelType:string,sortBizPageGroupType:string):any;
getSysExtendedCount(id:string,formNumber:string,field:string):string;
getUnitListData(bizAppId:string):any;
/**
* 根据应用id获取创建人
*
* @param bizAppId 应用id
* @return
*/
getUserByAppId(bizAppId:string):long;
gotoDesigner(formView:$.kd.bos.form.IFormView,formId:string):void;
/**
* 打开实体设计器
*
* @param view
* @param entityId
*/
gotoEntityDesigner(view:$.kd.bos.form.IFormView,entityId:string):void;
/**
* 显示扩展页面设计器
*/
gotoExtPageDesinger(view:$.kd.bos.form.IFormView,id:string,pageNumber:string):void;
/**
* 模型分离:打开新版页面设计器
*
* @param view 视图
* @param id 表单id
* @param pageNumber 页面编码
*/
gotoNewPageDesinger(view:$.kd.bos.form.IFormView,id:string,pageNumber:string):void;
gotoPageDesinger(view:$.kd.bos.form.IFormView,id:string,pageNumber:string):void;
/**
* @param sqlList
* @Description:执行sql方法抽取
*/
insertDevVersion(sqlList:$.java.util.List):void;
/**
* 判断当前系统是否处于开发环境
*
* @return true: 为开发环境
*/
isDevelopEnv():boolean;
/**
* 判断应用类型是否属于扩展
*
* @param type
* @return
*/
isExtendApp(type_arg:string):boolean;
isFirstLogin(userId:long,formId:string):boolean;
/**
* 判断设置的代码管理是否为git类型
*
* @return true: git类型; false: svn类型
*/
isGitManageType():boolean;
/**
* 多人分支开发
* 勾选时,git配置依git账户名保存为私有配置, 不影响其他账户的配置
*
* @return
*/
isGitMultiParallel():boolean;
/**
* 根据表单id 判断该表单是否为继承单 (仅限实体)
*
* @param formId
* @return
*/
isInheritByFormId(formId:string):boolean;
isVerifyPermission():boolean;
locateResourcePos(arg:any,view:$.kd.bos.form.IFormView,resourceType:string):void;
/**
* @param bizAppId
* @param bizUnitId
* @param deviceType
* @param bizPageModelType
* @param sortBizPageGroupType
* @param unitRelFormDataSet
* @return
* @Description: 查询表单
*/
pageListSQLCondition(bizAppId:string,bizUnitId:string,deviceType:string,bizPageModelType:string,sortBizPageGroupType:string,unitRelFormDataSet:$.kd.bos.algo.DataSet,appIds:any):any;
/**
* @param path
* @param fileList
* @return
* @Description:递归目录下所有文件名称
*/
recursiveFiles(path:string,fileList:$.java.util.List):$.java.util.List;
saveAppInfo(appObject:$.kd.bos.dataentity.entity.DynamicObject,view:$.kd.bos.form.IFormView):boolean;
saveAppInfo(model:$.kd.bos.entity.datamodel.IDataModel,view:$.kd.bos.form.IFormView):boolean;
saveMetaOfApp(appObject:$.kd.bos.dataentity.entity.DynamicObject,fsp:$.kd.bos.form.FormShowParameter):any;
saveMetaOfPage(view:$.kd.bos.form.IFormView,appObject:$.kd.bos.dataentity.entity.DynamicObject,fsp:$.kd.bos.form.FormShowParameter):any;
/**
* @param sql
* @param params
* @param defaultVal
* @return
* @Description:查询资源信息并返回默认值
*/
selectSourceVersion(sql:string,params:$.kd.bos.db.SqlParameter[],defaultVal:string):string;
showFloatTip(formView:$.kd.bos.form.IFormView,tip:string):void;
/**
* 解压指定的*.zip文件,输出解压后的文件夹
*
* @param zipFileName 压缩文件名
* @return
*/
unZipSingleFile(zipFileName:string,unZipResult:any):string;
updateFirstLoginFlag(userId:long,formId:string):void;
validateNameAndNumber(number_arg:string,name:$.kd.bos.dataentity.entity.ILocaleString,isPrintTemplate:boolean):$.java.lang.StringBuilder;
validateNameNumberAndEntity(number_arg:string,name:$.kd.bos.dataentity.entity.ILocaleString,pagemetaid:string):$.java.lang.StringBuilder;
zipFile(files:any,out:any,pathSign:string):void;
/**
* @param zipName
* @param localPath
* @param fileList
* @Description:应用下资源级别创建并压缩文件
*/
zipFiles(zipName:string,localPath:string,fileList:$.java.util.List):void;
/**
* @param zipNames
* @param zipPath
* @param defaultAppPackageName
* @Description:制作zip文件
*/
zipFiles(zipNames:$.java.util.List,zipPath:string,defaultAppPackageName:string):void;
}
interface DevportalUtil_C extends DevportalUtil_S {
new():DevportalUtil;
}
interface DevportalUtil$ {
}
type DevportalUtil_T = DevportalUtil_S & DevportalUtil$;
interface DevportalUtil extends DevportalUtil_T {
}
interface PageBuilder_S {
buildNewLayout(map:$.java.util.Map,bizAppId:string,bizUnitId:string,view:$.kd.bos.form.IFormView,isPrintTemplate:boolean):$.java.util.Map;
buildNewPage(map:$.java.util.Map,bizAppId:string,bizUnitId:string,view:$.kd.bos.form.IFormView,isPrintTemplate:boolean):$.java.util.Map;
buildNewQueryModel(map:$.java.util.Map,bizAppId:string,bizUnitId:string,view:$.kd.bos.form.IFormView):$.java.util.Map;
copyMobleForm(templateFormId:string,bizAppId:string,bizUnitId:string,number_arg:string,formName:$.kd.bos.dataentity.entity.LocaleString):$.java.util.Map;
validateNameAndNumber(number_arg:string,name:$.kd.bos.dataentity.entity.ILocaleString,isPrintTemplate:boolean):$.java.lang.StringBuilder;
}
interface PageBuilder_C extends PageBuilder_S {
new():PageBuilder;
}
interface PageBuilder$ {
}
type PageBuilder_T = PageBuilder_S & PageBuilder$;
interface PageBuilder extends PageBuilder_T {
}
interface MetaDataUtil_S {
readonly designerData:$.kd.bos.designer.dao.DesignerData;
readMeta(id:string,category:$.kd.bos.metadata.dao.MetaCategory):$.kd.bos.metadata.AbstractMetadata;
}
interface MetaDataUtil_C extends MetaDataUtil_S {
new():MetaDataUtil;
}
interface MetaDataUtil$ {
checkName(name:string):boolean;
checkNumber(number_arg:string):boolean;
createBlankModel(parameters:$.java.util.Map):$.java.util.Map;
createOriginalLayout(parameters:$.java.util.Map):$.java.util.Map;
createPrintModel(parameters:$.java.util.Map):$.java.util.Map;
delFormMetadata(id:string):$.java.util.Map;
getEntityNumberById(entityId:string):string;
getNumberById(id:string):string;
save(content:$.java.util.Map):$.java.util.Map;
}
type MetaDataUtil_T = MetaDataUtil_S & MetaDataUtil$;
interface MetaDataUtil extends MetaDataUtil_T {
}
}
namespace kd.bos.dlock{
interface DLockModule_S {
}
type DLockModule_ST = $.kd.sdk.module.Module & DLockModule_S;
interface DLockModule_C extends DLockModule_ST {
new():DLockModule;
}
interface DLockModule$ {
}
type DLockModule_T = $.kd.sdk.module.Module & DLockModule_S & DLockModule$;
interface DLockModule extends DLockModule_T {
}
interface DLock_S {
/**
* 分布式锁对象,不可重入。
*
* @param key 分布式锁的key值
* @return 分布式锁对象
*/
create(key:string):DLock;
/**
* 分布式锁对象,不可重入。
*
* @param key 分布式锁的key值
* @param desc 描述信息
* @return 分布式锁对象
*/
create(key:string,desc:string):DLock;
/**
* 分布式锁对象,可重入(仅在本jvm范围内)。
*
* @param key 分布式锁的key值
* @return 分布式锁对象
*/
createReentrant(key:string):DLock;
/**
* 分布式锁对象,可重入(仅在本jvm范围内)。
*
* @param key 分布式锁的key值
* @param desc 描述信息
* @return 分布式锁对象
*/
createReentrant(key:string,desc:string):DLock;
}
interface DLock$ {
/**
* 获取锁,一直等待,直到获取。
*/
lock():void;
/**
* 尝试获取锁,不等待,获取到返回true(无锁竞争的情况下必为true),否则返回false。
*/
tryLock():boolean;
/**
* 尝试获取锁,在timeoutMillis毫秒内获取到,返回true,否则返回false。
*
* @param timeoutMillis
* @return true|false
*/
tryLock(timeoutMillis:long):boolean;
/**
* 释放锁
*/
unlock():void;
}
type DLock_T = $.java.lang.AutoCloseable & DLock_S & DLock$;
interface DLock extends DLock_T {
}
interface DLockInfo_S {
}
interface DLockInfo_C extends DLockInfo_S {
}
interface DLockInfo$ {
/**
* 锁创建(申请到)的时间
*/
getCreateTime():Date;
/**
* 锁描述信息,值在创建时传入。
*/
getDesc():string;
/**
* 持有锁的微服务节点名称
*/
getInstance():string;
/**
* 持有锁的线程名称
*/
getInstanceThread():string;
/**
* 锁key,值在创建时传入。
*/
getKey():string;
/**
* 持有锁的会话ID(zk client session)
*/
getOwner():string;
/**
* 锁存储的路径(运维需要的信息)
*/
getStorePath():string;
/**
* 获取锁的申请(等待)者数量
*/
getWaitingLocks():number;
}
type DLockInfo_T = DLockInfo_S & DLockInfo$;
interface DLockInfo extends DLockInfo_T {
}
}
namespace kd.bos.dts{
interface RowInfo_S {
}
type RowInfo_ST = $.java.io.Serializable & RowInfo_S;
interface RowInfo_C extends RowInfo_ST {
new():RowInfo;
}
interface RowInfo$ {
copyWithDataShared():this;
getData():$.java.util.Map;
getDatabase():string;
getEntityNumber():string;
getKey():string;
getKeyObject():any;
getTable():string;
getTimestamp():long;
getType():string;
setDatabase(database:string):void;
setEntityNumber(entityNumber:string):void;
setKey(key:any):void;
setTable(table:string):void;
setTimestamp(timestamp:long):void;
setType(type_arg:string):void;
}
type RowInfo_T = $.java.io.Serializable & RowInfo_S & RowInfo$;
interface RowInfo extends RowInfo_T {
}
interface DtsModule_S {
}
type DtsModule_ST = $.kd.sdk.module.Module & DtsModule_S;
interface DtsModule_C extends DtsModule_ST {
new():DtsModule;
}
interface DtsModule$ {
}
type DtsModule_T = $.kd.sdk.module.Module & DtsModule_S & DtsModule$;
interface DtsModule extends DtsModule_T {
}
}
namespace kd.bos.dts.business.spi{
interface DtsBusinessType_S {
}
interface DtsBusinessType$ {
/**
* 业务场景类型编码
*
* @return
*/
getBusinessTypeCode():string;
/**
* 业务场景类型名称
*
* @return
*/
getBusinessTypeName():string;
/**
* 描述
*
* @return
*/
getDecription?():string;
}
type DtsBusinessType_T = DtsBusinessType_S & DtsBusinessType$;
interface DtsBusinessType extends DtsBusinessType_T {
}
}
namespace kd.bos.dts.configoperator{
interface DtsConfigOperator_S {
readonly DEAFULTDESTINATIONTYPE:string;
}
interface DtsConfigOperator$ {
/**
* 删除数据同步配置
* @param entityNumber 实体编码
* @param businessType 业务类型
* @param region 目标地址标识
* @param mappingRule 映射规则标识
*/
deleteDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string):void;
/**
* 删除同步同步配置
*
* @param entityNumber 实体编码
* @param region 目标地址标识
* @param businessType 业务类型
* @param mappingRule 映射规则标识
* @param destType 目标类型
*/
deleteDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):void;
/**
* 禁用数据同步配置
* @param entityNumber 实体编码
* @param businessType 业务类型
* @param region 目标地址标识
* @param mappingRule 映射规则标识
*/
disableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string):void;
/**
* 禁用数据同步配置
*
* @param entityNumber 实体编码
* @param region 目标地址标识
* @param businessType 业务类型
* @param mappingRule 映射规则标识
* @param destType 目标类型
*/
disableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):void;
/**
* 启动数据同步配置
* @param entityNumber 实体编码
* @param businessType 业务类型
* @param region 目标地址标识
* @param mappingRule 映射规则标识
*/
enableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string):void;
/**
* 启用数据同步配置
*
* @param entityNumber 实体编码
* @param region 目标地址标识
* @param businessType 业务类型
* @param mappingRule 映射规则标识
* @param destType 目标类型
*/
enableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):void;
/**
* 是否存在配置快照
*
* @param entityNumber 实体编码
* @param region 目标地址标识
* @param businessType 业务类型
* @param mappingRule 映射规则标识
* @return
*/
existsSyncConfigSnapshot(entityNumber:string,businessType:string,region:string,mappingRule:string):boolean;
/**
* 是否存在配置快照
*
* @param entityNumber 实体编码
* @param region 目标地址标识
* @param businessType 业务类型
* @param mappingRule 映射规则标识
* @param destType 目标类型
*/
existsSyncConfigSnapshot(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):boolean;
/**
* 是否正在全量同步/初始同步
*
* @param entityNumber
* @param region
* @param destinationType
* @param mappingRule
* @return
*/
isFullSync(entityNumber:string,region:string,destinationType:string,mappingRule:string):boolean;
/**
* 保存数据同步配置
* @param dtsConfigOperatorInfo 同步配置对象
*/
saveDtsConfig(dtsConfigOperatorInfo:DtsConfigOperatorInfo):void;
}
type DtsConfigOperator_T = DtsConfigOperator_S & DtsConfigOperator$;
interface DtsConfigOperator extends DtsConfigOperator_T {
}
interface DtsConfigOperatorInfo_S {
}
type DtsConfigOperatorInfo_ST = $.java.io.Serializable & DtsConfigOperatorInfo_S;
interface DtsConfigOperatorInfo_C extends DtsConfigOperatorInfo_ST {
new():DtsConfigOperatorInfo;
/**
* 构造同步配置对象
* @param entityNumber 实体编码
* @param dtsDestType 目标地址类型
* @param region 目标地址标识
* @param businessType 业务类型
* @param mappingRule 映射规则
* @param entityFields 实体字段
* @param enable 是否启用
* @param timingSequence 时序字段
*/
new(entityNumber:string,dtsDestType:kd.bos.dts.enmu.DtsDestTypeEnum,region:string,businessType:string,mappingRule:string,entityFields:string[],enable:string,timingSequence:string):DtsConfigOperatorInfo;
}
interface DtsConfigOperatorInfo$ {
/**
* 获取业务类型
* @return
*/
getBusinessType():string;
/**
* 获取目标地址类型
* @return
*/
getDtsDestType():kd.bos.dts.enmu.DtsDestTypeEnum;
/**
* 获取启用状态
* @return 0禁用 1启用
*/
getEnable():string;
/**
* 获取同步字段
* @return
*/
getEntityFields():string[];
/**
* 获取实体编码
* @return
*/
getEntityNumber():string;
/**
* 获取映射规则
* @return
*/
getMappingRule():string;
/**
* 获取目标地址标识
* @return
*/
getRegion():string;
/**
* 获取时序字段
* @return
*/
getTimingSequence():string;
/**
* 设置业务类型
* @param businessType
*/
setBusinessType(businessType:string):void;
/**
* 设置目标地址类型
* @param dtsDestType
*/
setDtsDestType(dtsDestType:kd.bos.dts.enmu.DtsDestTypeEnum):void;
/**
* 设置启用状态
* @param enable 0禁用 1启用
*/
setEnable(enable:string):void;
/**
* 设置同步字段
* @param entityFields
*/
setEntityFields(entityFields:string[]):void;
/**
* 设置实体编码
* @param entityNumber
*/
setEntityNumber(entityNumber:string):void;
/**
* 设置映射规则
* @param mappingRule
*/
setMappingRule(mappingRule:string):void;
/**
* 设置目标地址标识
* @param region
*/
setRegion(region:string):void;
/**
* 设置时序字段
* @param timingSequence
*/
setTimingSequence(timingSequence:string):void;
}
type DtsConfigOperatorInfo_T = $.java.io.Serializable & DtsConfigOperatorInfo_S & DtsConfigOperatorInfo$;
interface DtsConfigOperatorInfo extends DtsConfigOperatorInfo_T {
}
}
namespace kd.bos.dts.enmu{
enum DtsDestTypeEnum {
FULLTEXT,
MONGODB,
BUSINESSDB
}
}
namespace kd.bos.dts.es{
interface Mapping_S {
}
interface Mapping$ {
checkTable?(arg0:string):boolean;
convert2Es(arg0:string,arg1:RowInfo):$.java.util.Map;
deleteEntity?(arg0:string):void;
deleteEntityFileds?(arg0:string,arg1:$.java.util.List):void;
endInit?(arg0:string,arg1:string):void;
getESDataType():string;
getFieldStoredName(arg0:string,arg1:string):string;
getIndexName(arg0:string):string;
getKeyId(arg0:RowInfo):string;
getMultiEntity?():$.kd.bos.dts.multientity.MultiEntity;
initCreateEntityMeta?(arg0:string,arg1:$.java.util.List):void;
preHandle(arg0:$.java.util.List):$.java.util.List;
setRegion(arg0:string):void;
}
type Mapping_T = Mapping_S & Mapping$;
interface Mapping extends Mapping_T {
}
}
namespace kd.bos.dts.impl.fulltext{
interface Mapper_S {
}
interface Mapper$ {
}
type Mapper_T = kd.bos.dts.es.Mapping & Mapper_S & Mapper$;
interface Mapper extends Mapper_T {
}
}
namespace kd.bos.dts.multientity{
interface MultiEntity_S {
}
interface MultiEntity$ {
/**
* 获取当前多实体查询的main实体
* @param entityNumber
* @return
*/
getMainEntityNumber(entityNumber:string):string;
/**
* 指定编码是否为当前多实体查询的main实体
* @param entityNumber
* @return
*/
isMainEntity(entityNumber:string):boolean;
}
type MultiEntity_T = MultiEntity_S & MultiEntity$;
interface MultiEntity extends MultiEntity_T {
}
}
namespace kd.bos.entity{
interface CtLinkSetItemElement_S {
}
interface CtLinkSetItemElement_C extends CtLinkSetItemElement_S {
new():CtLinkSetItemElement;
}
interface CtLinkSetItemElement$ {
getCtLinkEntityKey():string;
getCtParentEntityKey():string;
getCtTableName():string;
getCtrlFldKeys():string;
setCtLinkEntityKey(arg0:string):void;
setCtParentEntityKey(arg0:string):void;
setCtTableName(arg0:string):void;
setCtrlFldKeys(arg0:string):void;
splitCtrlFldKeys():$.java.util.HashSet;
}
type CtLinkSetItemElement_T = CtLinkSetItemElement_S & CtLinkSetItemElement$;
interface CtLinkSetItemElement extends CtLinkSetItemElement_T {
}
interface DBVersion_S {
getAppIteration(appId:string):string;
getAppVer(appId:string):string;
/**
* 取当前数据库版本
* @return 包含迭代号的版本号,如:1.0.3
*/
getVer():string;
}
interface DBVersion_C extends DBVersion_S {
new():DBVersion;
}
interface DBVersion$ {
}
type DBVersion_T = DBVersion_S & DBVersion$;
interface DBVersion extends DBVersion_T {
}
interface AnchorItems_S {
}
type AnchorItems_ST = $.java.io.Serializable & AnchorItems_S;
interface AnchorItems_C extends AnchorItems_ST {
/**
* 缺省构造函数
*/
new():AnchorItems;
/**
* 锚点数据集合初始化
* @param targetId
* @param caption
* @param items
*/
new(targetId:string,caption:string,items:$.java.util.List):AnchorItems;
}
interface AnchorItems$ {
/**
* 获取锚点名称
* @return
*/
getCaption():string;
/**
* 获取下级锚点(总共只有2级, 下级锚点没有items属性)
* @return
*/
getItems():$.java.util.List;
/**
* 获取目标id
* @return
*/
getTarget():string;
/**
* 设置锚点名称
* @param caption
*/
setCaption(caption:string):void;
/**
* 设置下级锚点(总共只有2级, 下级锚点没有items属性)
* @param items
*/
setItems(items:$.java.util.List):void;
/**
* 设置目标id
* @param target
*/
setTarget(target:string):void;
}
type AnchorItems_T = $.java.io.Serializable & AnchorItems_S & AnchorItems$;
interface AnchorItems extends AnchorItems_T {
}
interface ValueTextItem_S {
}
type ValueTextItem_ST = $.java.io.Serializable & ValueTextItem_S;
interface ValueTextItem_C extends ValueTextItem_ST {
/**
* 初始化
* @param value 值域
* @param text 文本
*/
new(value:string,text:string):ValueTextItem;
}
interface ValueTextItem$ {
/**
* 获取文本
* @return
*/
getText():string;
/**
* 获取值域
* @return
*/
getValue():string;
/**
* 设置文本
* @param text
*/
setText(text:string):void;
/**
* 设置值域
* @param value
*/
setValue(value:string):void;
}
type ValueTextItem_T = $.java.io.Serializable & ValueTextItem_S & ValueTextItem$;
interface ValueTextItem extends ValueTextItem_T {
}
interface ListboxItem_S {
}
type ListboxItem_ST = $.java.io.Serializable & ListboxItem_S;
interface ListboxItem_C extends ListboxItem_ST {
/**
* 缺省构造函数
*/
new():ListboxItem;
/**
* 构造函数
* @param id
* @param content
*/
new(id:string,content:string):ListboxItem;
/**
* 构造函数
* @param id
* @param content
* @param items
*/
new(id:string,content:string,items:$.java.util.List):ListboxItem;
}
interface ListboxItem$ {
/**
* 获取内容
* @return
*/
getContent():string;
/**
* 获取id
* @return
*/
getId():string;
/**
* 获取子项数组
* @return
*/
getItems():$.java.util.List;
/**
* 设置内容
* @param content
*/
setContent(content:string):void;
/**
* 设置id
* @param id
*/
setId(id:string):void;
/**
* 设置子项数组
* @param items
*/
setItems(items:$.java.util.List):void;
}
type ListboxItem_T = $.java.io.Serializable & ListboxItem_S & ListboxItem$;
interface ListboxItem extends ListboxItem_T {
}
interface MarkdownLinkData_S {
}
type MarkdownLinkData_ST = $.java.io.Serializable & MarkdownLinkData_S;
interface MarkdownLinkData_C extends MarkdownLinkData_ST {
/**
* 构造函数
*/
new():MarkdownLinkData;
/**
* 构造函数
* @param code
* @param index
*/
new(code:string,index:number):MarkdownLinkData;
}
interface MarkdownLinkData$ {
/**
* 获取指令
* 可以是外部指令,如:https://www.baidu.com,外部指令会跳转到新页签打开页面
* 可以是内部指令,如:click,会发送customEvent事件到插件。
* @return
*/
getCode():string;
/**
* 获取占位符索引,和占位符 #{index}对应
* @return
*/
getIndex():number;
/**
* 设置指令
* 可以是外部指令,如:https://www.baidu.com,外部指令会跳转到新页签打开页面
* 可以是内部指令,如:click,会发送customEvent事件到插件。
* @param code
*/
setCode(code:string):void;
/**
* 设置占位符索引,和占位符 #{index}对应
* @param index
*/
setIndex(index:number):void;
}
type MarkdownLinkData_T = $.java.io.Serializable & MarkdownLinkData_S & MarkdownLinkData$;
interface MarkdownLinkData extends MarkdownLinkData_T {
}
interface KDDMModule_S {
}
type KDDMModule_ST = $.kd.sdk.module.Module & KDDMModule_S;
interface KDDMModule_C extends KDDMModule_ST {
new():KDDMModule;
}
interface KDDMModule$ {
}
type KDDMModule_T = $.kd.sdk.module.Module & KDDMModule_S & KDDMModule$;
interface KDDMModule extends KDDMModule_T {
}
interface TileItem_S {
}
type TileItem_ST = $.java.io.Serializable & TileItem_S;
interface TileItem_C extends TileItem_ST {
/**
* 构造函数
*/
new():TileItem;
/**
* 构造函数
* @param id
* @param content 内容
* @param selected 是否选中
*/
new(id:string,content:string,selected:boolean):TileItem;
/**
* 构造函数
* @param id
* @param content 内容
* @param selected 是否选中
* @param items 平铺子项
*/
new(id:string,content:string,selected:boolean,items:$.java.util.List):TileItem;
}
interface TileItem$ {
/**
* 获取内容
* @return
*/
getContent():string;
/**
* 获取id
* @return
*/
getId():string;
/**
* 获取平铺子项
* @return
*/
getItems():$.java.util.List;
/**
* 是否选中
* @return
*/
isSelected():boolean;
/**
* 设置内容
* @param content
*/
setContent(content:string):void;
/**
* 设置id
* @param id
*/
setId(id:string):void;
/**
* 设置平铺子项
* @param items
*/
setItems(items:$.java.util.List):void;
/**
* 设置是否选中
* @param selected
*/
setSelected(selected:boolean):void;
}
type TileItem_T = $.java.io.Serializable & TileItem_S & TileItem$;
interface TileItem extends TileItem_T {
}
interface LinkSetElement_S {
}
interface LinkSetElement_C extends LinkSetElement_S {
new():LinkSetElement;
}
interface LinkSetElement$ {
/**
* 单据转换规则,界面配置控制插件
* @return
*/
getConvRulePlugIns():$.java.util.List;
/**
* 各实体关联配置集合
*
* @return
*/
getItems():$.java.util.List;
/**
* 单据反写插件
*
* @return
* @remark
* 保存设计期元数据时,生成运行时插件元数据,直接插入到实体表格;
* 反写时,通过读取实体表格,加载反写插件
*/
getPlugIns():$.java.util.List;
/**
* 业务流程跟踪表
* @return
*/
getTrackerTable():string;
/**
* 反写快照表
* @return
*/
getWbSnapTable():string;
setConvRulePlugIns(convRulePlugIns:$.java.util.List):void;
setItems(items:$.java.util.List):void;
setPlugIns(plugIns:$.java.util.List):void;
setTrackerTable(trackerTable:string):void;
setWbSnapTable(wbSnapTable:string):void;
}
type LinkSetElement_T = LinkSetElement_S & LinkSetElement$;
interface LinkSetElement extends LinkSetElement_T {
}
interface BillEntityType_S {
readonly PKPropName:string;
}
type BillEntityType_ST = $.kd.bos.dataentity.entity.IBillEntityType & MainEntityType_S & BillEntityType_S;
interface BillEntityType_C extends BillEntityType_ST {
/**
* 初始化单据主实体
*/
new():BillEntityType;
}
interface BillEntityType$ {
getBillKeyField():string;
/**
* 获取单据参数
* @return billParameter 单据参数
*/
getBillParameter():string;
/**
* 获取单据状态
* @return 单据状态
*/
getBillStatus():string;
/**
* 获取单据类型
* @return 单据类型
*/
getBillType():string;
/**
* 获取字段billTypePara的值
* @return billTypePara的值
*/
getBillTypePara():string;
/**
* 获取单据默认布局
* @return
*/
getDefaultPageSetting():string;
/**
* 获取单据实体编码
* @return 单据实体编码
*/
getEntityTypeId():string;
/**
* 获取禁用状态
* @return 禁用状态
*/
getForbidStatus():string;
/**
* 获取主业务组织
* @return 主业务组织
*/
getMainOrgProperty():kd.bos.entity.property.MainOrgProp;
/**
* 获取组织委托关系配置列表
* @return
*/
getOrgRelationConfigList():$.java.util.Map;
/**
* 获取签名字段
* @return List 签名字段集合
*/
getSignField():$.java.util.List;
setBillKeyField(billKeyField:string):void;
/**
* 设置单据编号
* @param billNo 单据编号
*/
setBillNo(billNo:string):void;
/**
* 设置单据参数
* @param billParameter 单据参数
*/
setBillParameter(billParameter:string):void;
/**
* 设置单据状态
* @param billStatus 单据状态
*/
setBillStatus(billStatus:string):void;
/**
* 设置单据类型
* @param billType 单据类型
*/
setBillType(billType:string):void;
/**
* 将参数billTypePara的值赋给字段billTypePara
* @param billTypePara 单据参数
*/
setBillTypePara(billTypePara:string):void;
/**
* 设置单据默认布局
* @param defaultPageSetting
*/
setDefaultPageSetting(defaultPageSetting:string):void;
/**
* 设置单据实体编码
* @param entityTypeId 单据实体编码
*/
setEntityTypeId(entityTypeId:string):void;
/**
* 设置禁用状态
* @param forbidStatus 禁用状态
*/
setForbidStatus(forbidStatus:string):void;
/**
* 设置单据移动端标识
* @param mobFormId
*/
setMobFormId(mobFormId:string):void;
/**
* 设置组织委托关系配置列表
* @param orgRelationConfigList
*/
setOrgRelationConfigList(orgRelationConfigList:$.java.util.Map):void;
/**
* 设置签名字段
* @param signField
*/
setSignField(signField:$.java.util.List):void;
}
type BillEntityType_T = MainEntityType & $.kd.bos.dataentity.entity.IBillEntityType & BillEntityType_S & BillEntityType$;
interface BillEntityType extends BillEntityType_T {
}
enum FeatureOption {
F7BatchFill,
Copyable,
MultiFillable,
Importable,
Exportable,
SeriesNewTote,
BulkEditable,
ConvertTote,
Allowvoucher,
Printable,
PrintSortAble,
NotAllowDataPerm,
ShowInWorkflow
}
interface TreeEntryType_S {
readonly PARENT_ENTRYID_NAME:string;
}
type TreeEntryType_ST = EntryType_S & ITreeEntryType_S & TreeEntryType_S;
interface TreeEntryType_C extends TreeEntryType_ST {
new():TreeEntryType;
}
interface TreeEntryType$ {
}
type TreeEntryType_T = EntryType & ITreeEntryType & TreeEntryType_S & TreeEntryType$;
interface TreeEntryType extends TreeEntryType_T {
}
interface IBaseColumn_S {
}
interface IBaseColumn$ {
getCaption():$.kd.bos.dataentity.entity.LocaleString;
}
type IBaseColumn_T = IBaseColumn_S & IBaseColumn$;
interface IBaseColumn extends IBaseColumn_T {
}
interface NumberFormatProvider_S {
readonly COLFMTKEY:string;
readonly COMBOFIELDSKEY:string;
readonly CURRENCYFMTKEY:string;
readonly DECIMALFIELDSKEY:string;
readonly NUMTYPE:string;
readonly PRECISION:string;
readonly SCALE:string;
readonly SCALEFIELD:string;
readonly TIMEZONEFMTKEY:string;
readonly UNITFMTKEY:string;
}
interface NumberFormatProvider_C extends NumberFormatProvider_S {
new(initParam:NumberFormatInitParam):NumberFormatProvider;
new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection):NumberFormatProvider;
new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):NumberFormatProvider;
/**
* 构造器, 直接传入 FormatObject
* 由于 FormatObject 的获取消耗性能, 在外部循环创建 NumberFormatProvider 时存在性能瓶颈, 这里使用参数传递. 外部可自行缓存 FormatObject
*
* @param fmtFields 格式化字段
* @param dataEntitys 实体集合
* @param dataEntity 实体
* @param formatObject 格式化对象
*/
new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,formatObject:kd.bos.entity.format.FormatObject):NumberFormatProvider;
new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowStartIndex:number):NumberFormatProvider;
/**
* 构造器, 直接传入 isApplyMaterialPrecision
* 由于 isApplyMaterialPrecision 的获取消耗性能, 这里使用参数传递. 外部可自行缓存 isApplyMaterialPrecision
*
* @param fmtFields 格式化字段
* @param dataEntitys 实体集合
* @param dataEntity 实体
* @param isApplyMaterialPrecision
*/
new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,formatObject:kd.bos.entity.format.FormatObject,isApplyMaterialPrecision:boolean):NumberFormatProvider;
new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowStartIndex:number,isApplyMaterialPrecision:boolean):NumberFormatProvider;
}
interface NumberFormatProvider$ {
getColfmt():$.java.util.Map;
getCurrencyfmt():$.java.util.Map;
getDecimalFieldMap():$.java.util.Map;
getFieldControlPropMap():$.java.util.Map;
getFieldFmtInfo():$.java.util.Map;
getFmtFields():$.java.util.List;
/**
* @param scaleFieldKey 货币编码或计量单位编码
* @param rowData 需要格式化的数据包
*/
getFormatPrecision(scaleFieldKey:string,rowData:$.kd.bos.dataentity.entity.DynamicObject):kd.bos.entity.datamodel.NumberPrecision;
/**
* @param rowData 数据字段所在行
* @param fmtRowData 币别/计量单位等控制字段所在行
*/
getFormatPrecision(scaleFieldName:string,rowData:$.kd.bos.dataentity.entity.DynamicObject,fmtRowData:$.kd.bos.dataentity.entity.DynamicObject):kd.bos.entity.datamodel.NumberPrecision;
/**
* 获取所有行的格式化信息
* rowIdex -> (currencyfmt -> fmt)
* rowIdex -> (unitfmt -> fmt)
*
* @return
*/
getRowAllFmtInfo():$.java.util.Map;
getRowFmtInfo():$.java.util.Map;
getTimeZoneFmt():$.java.util.Map;
getUnitfmt():$.java.util.Map;
setFmtFields(fmtFields:$.java.util.List):void;
}
type NumberFormatProvider_T = NumberFormatProvider_S & NumberFormatProvider$;
interface NumberFormatProvider extends NumberFormatProvider_T {
}
interface BadgeInfo_S {
}
type BadgeInfo_ST = $.java.io.Serializable & BadgeInfo_S;
interface BadgeInfo_C extends BadgeInfo_ST {
new():BadgeInfo;
}
interface BadgeInfo$ {
/**
* 获取自定义小圆点的内容
* @return
*/
getBadgeText():string;
/**
* 获取自定义小圆点的颜色
* @return
*/
getColor():string;
/**
* 获取展示的数字
* @return
*/
getCount():number;
/**
* 获取设置显示位置,[right,top]
* @return
*/
getOffset():string[];
/**
* 获取数字显示的上限值,默认是99,超过时显示为 99+
* @return
*/
getOverflowCount():number;
/**
* 获取不展示数字,只有一个小红点,默认是false
* @return
*/
isDot():boolean;
/**
* 获取数值为0时,是否显示,默认是false
* @return
*/
isShowZero():boolean;
/**
* 设置自定义小圆点的内容
* @param badgeText
*/
setBadgeText(badgeText:string):void;
/**
* 设置自定义小圆点的颜色
* @param color
*/
setColor(color:string):void;
/**
* 设置展示的数字
* @param count
*/
setCount(count:number):void;
/**
* 设置不展示数字,只有一个小红点,默认是false
* @param dot
*/
setDot(dot:boolean):void;
/**
* 设置设置显示位置,[right,top]
* @param offset
*/
setOffset(offset:string[]):void;
/**
* 设置数字显示的上限值,默认是99,超过时显示为 99+
* @param overflowCount
*/
setOverflowCount(overflowCount:number):void;
/**
* 设置数值为0时,是否显示,默认是false
* @param showZero
*/
setShowZero(showZero:boolean):void;
}
type BadgeInfo_T = $.java.io.Serializable & BadgeInfo_S & BadgeInfo$;
interface BadgeInfo extends BadgeInfo_T {
}
enum ComboPropShowStyle {
Title,
Img
}
interface RefEntityType_S {
readonly Empty:RefEntityType;
}
type RefEntityType_ST = BasedataEntityType_S & RefEntityType_S;
interface RefEntityType_C extends RefEntityType_ST {
new():RefEntityType;
}
interface RefEntityType$ {
/**
* 填充引用实体
* @param types
*/
fillRefEntityTypes(types:$.java.util.Map):void;
/**
* 获取引用基础资料编码
* @return
*/
getRefBaseEntityIds():string;
/**
* 设置引用基础资料编码
* @param refBaseEntityIds
*/
setRefBaseEntityIds(refBaseEntityIds:string):void;
}
type RefEntityType_T = BasedataEntityType & RefEntityType_S & RefEntityType$;
interface RefEntityType extends RefEntityType_T {
}
interface LinkSetItemElement_S {
}
interface LinkSetItemElement_C extends LinkSetItemElement_S {
new():LinkSetItemElement;
}
interface LinkSetItemElement$ {
/**
* 控制字段,如果有多个控制字段,使用逗号隔开;
* @return
* @remark
*
* 控制字段:
* 会详细记录从每条源单行上携带的数值,特别在合并下推时,记录了每条源单携带量,才能够准确反写;
* 否则,目标单数据行上,只有合并后的字段值,反写时,无法确定每条源单带了多少下来;
*
* 因此,通常把需要反写的字段,作为控制字段
*/
getCtrlFldKeys():string;
/**
* 关联子实体Key,即LK实体标识
* @return
*/
getLinkEntityKey():string;
/**
* 父实体Key,如单据体,关联子实体数据用于记录父实体每条数据的BOTP来源
* @return
*/
getParentEntityKey():string;
/**
* 关联子实体的物理表格
* @return
*/
getTableName():string;
setCtrlFldKeys(ctrlFldKeys:string):void;
setLinkEntityKey(linkEntityKey:string):void;
setParentEntityKey(parentEntityKey:string):void;
setTableName(tableName:string):void;
/**
* 对控制字段字符串进行拆分,分成多个独立的字段标识
* @return
*/
splitCtrlFldKeys():$.java.util.HashSet;
}
type LinkSetItemElement_T = LinkSetItemElement_S & LinkSetItemElement$;
interface LinkSetItemElement extends LinkSetItemElement_T {
}
interface FlexEntityType_S {
}
type FlexEntityType_ST = MainEntityType_S & FlexEntityType_S;
interface FlexEntityType_C extends FlexEntityType_ST {
new():FlexEntityType;
}
interface FlexEntityType$ {
getFlexDataFormNumber():string;
getFlexProperties():$.java.util.List;
getOrderProperties():$.java.util.List;
putIndex(propName:string,idx:number):void;
setFlexDataFormNumber(flexDataFormNumber:string):void;
setFlexProperties(flexProperties:$.java.util.List):void;
}
type FlexEntityType_T = MainEntityType & FlexEntityType_S & FlexEntityType$;
interface FlexEntityType extends FlexEntityType_T {
}
interface SubEntryType_S {
}
type SubEntryType_ST = EntryType_S & SubEntryType_S;
interface SubEntryType_C extends SubEntryType_ST {
new():SubEntryType;
}
interface SubEntryType$ {
}
type SubEntryType_T = EntryType & SubEntryType_S & SubEntryType$;
interface SubEntryType extends SubEntryType_T {
}
interface QueryEntityType_S {
}
type QueryEntityType_ST = BasedataEntityType_S & QueryEntityType_S;
interface QueryEntityType_C extends QueryEntityType_ST {
new():QueryEntityType;
}
interface QueryEntityType$ {
addQueryPlugInFields(queryPlugInField:kd.bos.entity.mulentities.QueryPlugInField):void;
addQuerySourceJoinRelation(rel:kd.bos.entity.mulentities.QuerySourceJoinRelation):void;
addSelectField(selectField:kd.bos.entity.mulentities.QuerySortField):void;
addSelectField(selectField:kd.bos.entity.mulentities.QuerySelectField):void;
addWhereCondition(qsConditionRow:kd.bos.entity.mulentities.QSConditionRow):void;
getAllJoinEntityType():$.java.util.List;
/**
* 多实体编辑实体的别名
* @return
*/
getEditEntityAliasName():string;
/**
* 根据编辑实体别名获取编辑实体名,也就是实体编码
* 用于操作,和验权限
* @return
*/
getEditEntityName():string;
getEntityAlias():string;
getEntityName():string;
/**
* 根据实体别名获取实体名
* @return
*/
getEntityNameByAlias(entityAlias:string):string;
getJoinEntitys():$.java.util.List;
/**
* 根据字段属性类型,拼装过滤属性字段值
* @return
*/
getJoinOnFilterValue(row:kd.bos.entity.mulentities.QSConditionRow):any[];
getJoinRelations():$.java.util.List;
getMainEntityType():MainEntityType;
getQFilter():$.java.util.List;
/**
* 查询列表调用,取总行数
* @param queryBuilder
* @param queryFileds
* @return
*/
getQueryDataCount(queryBuilder:kd.bos.entity.list.QueryBuilder,queryFileds:string):number;
/**
* 取总行数
* @param queryFileds
* @param qFilters
* @return
*/
getQueryDataCount(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[]):number;
/**
* 查询列表调用,按查询条件取数
* @param queryBuilder
* @param queryFileds
* @param isLimitCount
* @return
*/
getQueryDataSet(queryBuilder:kd.bos.entity.list.QueryBuilder,queryFileds:string,isLimitCount:boolean):$.kd.bos.algo.DataSet;
/**
* 按查询字段,过滤条件,排序,获取查询数据的数据集
* @param queryFileds 查询字段
* @param qFilters 过滤信息
* @param orderBys 排序字段,多个用,分隔
* @return
*/
getQueryDataSet(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[],orderBys:string):$.kd.bos.algo.DataSet;
/**
* 按查询字段,过滤条件,排序,获取查询数据的数据集
* @param queryFileds 查询字段
* @param qFilters 过滤信息
* @param orderBys 排序字段,多个用,分隔
* @param start 开始行数
* @param limit 数量
* @return
*/
getQueryDataSet(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[],orderBys:string,start:number,limit:number):$.kd.bos.algo.DataSet;
/**
* 按查询字段,过滤条件,排序,获取查询数据的数据集
* @param queryFileds 查询字段
* @param qFilters 过滤信息
* @param orderBys 排序字段,多个用,分隔
* @param isLimitCount 获取指定范围的数据 ,为 false 时 不限制范围
* @param start 开始行数
* @param limit 数量
* @return
*/
getQueryDataSet(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[],orderBys:string,isLimitCount:boolean,start:number,limit:number):$.kd.bos.algo.DataSet;
/**
* 查询列表调用,按查询条件取数,用于主键取数调用
* @param queryBuilder
* @param idFilters
* @param queryFileds
* @param isLimitCount
* @return
*/
getQueryDataSetByPK(queryBuilder:kd.bos.entity.list.QueryBuilder,idFilters:$.java.util.List,queryFileds:string,isLimitCount:boolean):$.kd.bos.algo.DataSet;
getQueryPlugInFields():$.java.util.List;
getQuerySortFields():$.java.util.List;
getSelectFields():$.java.util.List;
getWhereConditions():$.java.util.List;
setEditEntityAliasName(editEntityAliasName:string):void;
setEntityAlias(entityAlias:string):void;
setEntityName(entityName:string):void;
setJoinEntitys(joinEntitys:$.java.util.List):void;
}
type QueryEntityType_T = BasedataEntityType & QueryEntityType_S & QueryEntityType$;
interface QueryEntityType extends QueryEntityType_T {
}
interface TipsLink_S {
}
type TipsLink_ST = $.java.io.Serializable & TipsLink_S;
interface TipsLink_C extends TipsLink_ST {
/**
* 构造函数
*/
new():TipsLink;
/**
* 构造函数
* @param index 索引
* @param codeName 指令名称
* @param code 指令
*/
new(index:number,codeName:$.kd.bos.dataentity.entity.LocaleString,code:string):TipsLink;
}
interface TipsLink$ {
/**
* 获取指令
* @return
*/
getCode():string;
/**
* 获取指令名称
* @return
*/
getCodeName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 获取索引
* @return
*/
getIndex():number;
/**
* 设置指令
* @param code
*/
setCode(code:string):void;
/**
* 设置指令名称
* @param codeName
*/
setCodeName(codeName:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置索引
* @param index
*/
setIndex(index:number):void;
}
type TipsLink_T = $.java.io.Serializable & TipsLink_S & TipsLink$;
interface TipsLink extends TipsLink_T {
}
interface ISVInfo_S {
}
type ISVInfo_ST = $.java.io.Serializable & ISVInfo_S;
interface ISVInfo_C extends ISVInfo_ST {
new():ISVInfo;
}
interface ISVInfo$ {
getDescription():string;
getId():string;
getIsvId():string;
getName():string;
getSign():string;
getType():string;
setDescription(description:string):void;
setId(id:string):void;
setIsvId(isvId:string):void;
setName(name:string):void;
setSign(sign:string):void;
setType(type_arg:string):void;
}
type ISVInfo_T = $.java.io.Serializable & ISVInfo_S & ISVInfo$;
interface ISVInfo extends ISVInfo_T {
}
interface CtlSchemaInfo_S {
}
type CtlSchemaInfo_ST = $.java.io.Serializable & CtlSchemaInfo_S;
interface CtlSchemaInfo_C extends CtlSchemaInfo_ST {
new():CtlSchemaInfo;
new(schemaId:string,schemaName:string,isvId:string,moduleId:string):CtlSchemaInfo;
}
interface CtlSchemaInfo$ {
getIsvId():string;
getModuleId():string;
getSchemaId():string;
getSchemaName():string;
setIsvId(isvId:string):void;
setModuleId(moduleId:string):void;
setSchemaId(schemaId:string):void;
setSchemaName(schemaName:string):void;
}
type CtlSchemaInfo_T = $.java.io.Serializable & CtlSchemaInfo_S & CtlSchemaInfo$;
interface CtlSchemaInfo extends CtlSchemaInfo_T {
}
interface MainEntityType_S {
readonly Empty:MainEntityType;
}
type MainEntityType_ST = EntityType_S & MainEntityType_S;
interface MainEntityType_C extends MainEntityType_ST {
new():MainEntityType;
}
interface MainEntityType$ {
/**
* 检查引用实体版本
*
* @return
*/
checkRefEntityVer():boolean;
/**
* 开放对属性refEntityTypeVer 的清除
*/
clearRefEntityTypeVer():void;
/**
* 开放对属性subEntityTypecache的清除
*/
clearSubEntityTypecache():void;
/**
* 构造实体树
*
* @param parentEntityTreeNode
* @param isIncludeEntry
* @param isAllNode
* @return
*/
createEntityTreeNodes(parentEntityTreeNode:kd.bos.entity.property.EntityTreeNode,isIncludeEntry:boolean,isAllNode:boolean):$.java.util.List;
/**
* 创建属性集合
*/
createPropIndexsNoCache():void;
/**
* 获取本对象的全部实体
*
* @return 本对象的全部实体
*/
getAllEntities():$.java.util.Map;
/**
* 获取全部字段清单,排除系统字段
*
* @return 全部字段清单,排除系统字段
*/
getAllFields():$.java.util.Map;
/**
* 获取应用标识
*
* @return 应用标识
*/
getAppId():string;
/**
* 获取bos版本
*
* @return
*/
getBOSVer():string;
/**
* 获取表单实体所属应用的原始编码
*
* @return
*/
getBizAppNumber():string;
/**
* 获取检查版本时间周期
*
* @return
*/
getCheckVersionTimeMillis():long;
/**
* 获取继承路径
*
* @return 继承路径
*/
getInheritPath():string;
/**
* 获取主业务组织
*
* @return 主业务组织
*/
getMainOrg():string;
/**
* 获取权限控制
* 无需序列化,在需要使用时单独读取
*
* @return
*/
getPermissionControlType():PermissionControlType;
/**
* 主键集合
*
* @return
*/
getPkList():$.java.util.List;
/**
* 引用属性类型
*
* @return
*/
getRefPropTypes():$.java.util.List;
/**
* 获取用户选项
*
* @return 用户选项
*/
getUserOption():string;
/**
* 获取版本控制字段
*
* @return
*/
getVersionControl():string;
/**
* 设置应用标识
*
* @param appId 用户标识
*/
setAppId(appId:string):void;
/**
* 设置bos版本
*
* @param bosver
*/
setBOSVer(bosver:string):void;
/**
* 设置表单实体所属应用的原始编码
*
* @param bizAppNumber
*/
setBizAppNumber(bizAppNumber:string):void;
/**
* 设置检查版本时间周期
*
* @param checkVersionTimeMillis
*/
setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
/**
* 设置继承路径
*
* @param inheritPath 继承路径
*/
setInheritPath(inheritPath:string):void;
/**
* 设置主业务组织
*
* @param mainOrg 主业务组织
*/
setMainOrg(mainOrg:string):void;
/**
* 设置权限控制
*
* @param permissionControlType
*/
setPermissionControlType(permissionControlType:PermissionControlType):void;
/**
* 设置用户选项
*
* @param userOption 用户选项
*/
setUserOption(userOption:string):void;
/**
* 设置元数据版本
*
* @param version 元数据版本
*/
setVersion(version:string):void;
/**
* 设置版本控制字段
* @param versionControl
*/
setVersionControl(versionControl:string):void;
}
type MainEntityType_T = EntityType & MainEntityType_S & MainEntityType$;
interface MainEntityType extends MainEntityType_T {
}
interface EntryEntityDto_S {
}
type EntryEntityDto_ST = $.java.io.Serializable & EntryEntityDto_S;
interface EntryEntityDto_C extends EntryEntityDto_ST {
new(entryEntityDto:EntryEntityDto):EntryEntityDto;
new(key:string):EntryEntityDto;
new(key:string,name:$.kd.bos.dataentity.entity.LocaleString):EntryEntityDto;
}
interface EntryEntityDto$ {
/**
* @return 分录标识
*/
getKey():string;
/**
* @return 分录名称
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* @return 上级分录
*/
getParentKey():string;
/**
* @return 主键字段名称
*/
getPkFieldName():string;
isDBIgnore():boolean;
isSelected():boolean;
setDBIgnore(isDBIgnore:boolean):void;
/**
* @param key 分录标识
*/
setKey(key:string):void;
/**
* @param name 分录名称
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* @param parentKey 上级分录
*/
setParentKey(parentKey:string):void;
/**
* @param pkFieldName 主键字段名称
*/
setPkFieldName(pkFieldName:string):void;
setSelected(selected:boolean):void;
}
type EntryEntityDto_T = $.java.io.Serializable & EntryEntityDto_S & EntryEntityDto$;
interface EntryEntityDto extends EntryEntityDto_T {
}
interface ExtendedEntityTypeByFlexPropResult_S {
}
interface ExtendedEntityTypeByFlexPropResult_C extends ExtendedEntityTypeByFlexPropResult_S {
new():ExtendedEntityTypeByFlexPropResult;
}
interface ExtendedEntityTypeByFlexPropResult$ {
getCloneEntityType():EntityType;
getQFilters():$.java.util.List;
}
type ExtendedEntityTypeByFlexPropResult_T = ExtendedEntityTypeByFlexPropResult_S & ExtendedEntityTypeByFlexPropResult$;
interface ExtendedEntityTypeByFlexPropResult extends ExtendedEntityTypeByFlexPropResult_T {
}
interface IEntityMetaDataProvider_S {
}
interface IEntityMetaDataProvider$ {
/**
* 批量加载表单运行时版本 (DB)
* @param numbers
* @return
*/
batchLoadRuntmeMetadataVersion?(numbers:$.java.util.Collection):$.java.util.Map;
getAppInfo?(number_arg:string):AppInfo;
getAppMenuInfo?(appNumber:string,menuId:string):AppMenuInfo;
getAppMenusInfoByAppId?(number_arg:string):$.java.util.List;
getAppNumberByEntityNumbers?(entityNumbers:$.java.util.List):$.java.util.Map;
/**
* 根据应用ID获取应用number
* @param id
* @return 应用number
*/
getAppNumberById?(id:string):string;
/**
* 返回基础资料过滤元数据
* @param entityNumber 实体编码
* @param operKey 基础资料标识
* @return 过滤元数据
*/
getBaseDataFieldFilterMeta(entityNumber:string,operKey:string):$.kd.bos.entity.filter.FilterCondition;
getCtLinkSet(entityNumber:string):CtLinkSetElement;
/**
* 获取网络控制元数据
* @param entityNumber 实体编码
* @return 网络控制元数据
*/
getDataEntityNetCtrlOperate(entityNumber:string):$.java.util.Map;
/**
* 返回实体所有操作元数据
* @param entityNumber 实体编码
* @return 实体所有操作元数据
*/
getDataEntityOperate(entityNumber:string):$.java.util.List;
/**
* 返回指定操作的元数据
* @param entityNumber 实体编码
* @param operKey 操作标识
* @return 操作元数据
*/
getDataEntityOperate(entityNumber:string,operKey:string):$.java.util.Map;
/**
* 获取指定实体的所有操作编码
* @param entityNumbers 实体编码
* @return
*/
getDataEntityOperationKeys?(entityNumbers:$.java.util.Collection):$.java.util.Map;
/**
* 回实体系统操作
*
* @param entityNumber
* 实体编码
* @return 系统操作对应的操作代码
*/
getDataEntityOperations?(entityNumber:string):kd.bos.entity.operate.Operations;
/**
* 组织委托关系列表
* @param entityNumber 实体编码
* @return 委托关系列表运行时元数据
*/
getDataEntityPrincipalRelation(entityNumber:string):$.java.util.Map;
/**
* 根据编码获取实体类型
* @param number 实体编码
* @return 实体类型
*/
getDataEntityType(number_arg:string):MainEntityType;
getEnabledControlsMap?(formId:string):$.java.util.Map;
/**
* 根据实体标识获取实体number
*
* @param entityId
* 实体标识
* @return 实体number
*/
getEntityNumberById(entityId:string):string;
/**
* 获取(功能控制)启用功能支持的实体(字段标识)列表
* @param 实体编码
* @param 功能控制项名称
* @return 实体(字段标识)列表
*/
getFeatureEnabledEntity(entityNumber:string,featureName:string):$.java.util.List;
/**
* 获取单据关联配置
* @param entityNumber 实体编码
* @return 单据关联配置
*/
getLinkSet(entityNumber:string):LinkSetElement;
/**
* 权限控制参数
* @param entityNumber
* @return
*/
getPermissionControlType?(entityNumber:string):PermissionControlType;
/**
* 权限项
*/
getPermissionItems?(entityNumber:string):$.java.util.Set;
/**
* 返回插件脚本
* @param scriptName 脚本文件名称
* @return 脚本内容
*/
getPluginScripts(scriptName:string):string;
getRefEntityType(number_arg:string):RefEntityType;
getRefEntityTypes?(numbers:$.java.util.Collection):$.java.util.Map;
getRuntimeMetadataVersion(number_arg:string):string;
/**
* 根据实体属性构造一个新的实体
* @param entityNumber 实体编码
* @param properties 实体属性集合
* @return 新的实体
*/
getSubDataEntityType(entityNumber:string,properties:$.java.util.Collection):$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
loadTableDefine(tableId:long):kd.bos.entity.botp.runtime.TableDefine;
loadTableDefine(entityNumber:string,entityKey:string):kd.bos.entity.botp.runtime.TableDefine;
}
type IEntityMetaDataProvider_T = IEntityMetaDataProvider_S & IEntityMetaDataProvider$;
interface IEntityMetaDataProvider extends IEntityMetaDataProvider_T {
}
interface AppInfo_S {
readonly HOMEURL:string;
readonly ISV:string;
readonly MAINFORMTYPE:string;
readonly PROPERTY_DBROUTE:string;
readonly PROPERTY_IMAGE:string;
}
type AppInfo_ST = NodeInfo_S & $.java.io.Serializable & AppInfo_S;
interface AppInfo_C extends AppInfo_ST {
new():AppInfo;
}
interface AppInfo$ {
getAppId():string;
getCloudId():string;
getCloudNum():string;
getData():string;
getDbRoute():string;
getDeployStatus():string;
getHomeId():string;
getHomeNum():string;
getHomeURL():string;
getImage():string;
getIsv():string;
getMainFormType():string;
getNumber():string;
getOpenType():string;
getOrgFunc():string;
getSeq():number;
getType():string;
getUserType():string;
isAllUserApp():boolean;
isRealRuntime():boolean;
isVisible():boolean;
setAllUserApp(allUserApp:boolean):void;
setAppId(appId:string):void;
setCloudId(cloudId:string):void;
setCloudNum(cloudNum:string):void;
setData(data:string):void;
setDbRoute(dbRoute:string):void;
setDeployStatus(deployStatus:string):void;
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
setHomeId(homeId:string):void;
setHomeNum(homeNum:string):void;
setId(id:string):void;
setImage(image:string):void;
setIsv(isv:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNumber(number_arg:string):void;
setOpenType(openType:string):void;
setOrgFunc(orgFunc:string):void;
setRealRuntime(realRuntime:boolean):void;
setSeq(seq:number):void;
setType(type_arg:string):void;
setUserType(userType:string):void;
setVisible(visible:boolean):void;
}
type AppInfo_T = NodeInfo & $.java.io.Serializable & AppInfo_S & AppInfo$;
interface AppInfo extends AppInfo_T {
}
interface CompareTypeField_S {
}
type CompareTypeField_ST = $.java.io.Serializable & CompareTypeField_S;
interface CompareTypeField_C extends CompareTypeField_ST {
new():CompareTypeField;
/**
* 构造函数
* @param id 比较符标识
* @param name 比较符名称(多语言)
* @param className 比较符解析类名
*/
new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,className:string):CompareTypeField;
}
interface CompareTypeField$ {
/**
* 把比较符定义转换为运行时实际使用的比较符描述类
* @return
*/
createCompareType():kd.bos.entity.filter.CompareType;
/**
* 获取比较符解析类名,必须实现 {@link kd.bos.entity.filter.IConditionVariableAnalysis}
* @return 比较符解析类名
*/
getClassName():string;
/**
* 获取比较值输入类型
* @return 输入类型
*/
getCompareInputType():kd.bos.entity.filter.CompareInputType;
/**
* 获取比较符标识
* @return 比较服务标识
*/
getId():string;
/**
* 获取比较符名称(多语言)
* @return 比较符名称
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 是否必须输入比较值
* @return 返回true,必须输入比较值
*/
isNeedInput():boolean;
/**
* 设置比较符解析类名
* @param className 比较服务解析类名
*/
setClassName(className:string):void;
/**
* 设置比较值输入类型
* @param compareInputType 输入类型
*/
setCompareInputType(compareInputType:kd.bos.entity.filter.CompareInputType):void;
/**
* 设置比较符标识
* @param id 比较服务标识
*/
setId(id:string):void;
/**
* 设置比较符名称(多语言)
* @param name 比较符名称
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置是否必须输入比较值
* @param isNeedInput 传入true,必须输入比较值
*/
setNeedInput(isNeedInput:boolean):void;
}
type CompareTypeField_T = $.java.io.Serializable & CompareTypeField_S & CompareTypeField$;
interface CompareTypeField extends CompareTypeField_T {
}
interface BillTypeControlInfo_S {
}
type BillTypeControlInfo_ST = $.java.io.Serializable & BillTypeControlInfo_S;
interface BillTypeControlInfo_C extends BillTypeControlInfo_ST {
new():BillTypeControlInfo;
}
interface BillTypeControlInfo$ {
/**
* 获取字段defValue的值
* @return defValue的值
*/
getDefValue():string;
getDefValueType():number;
getEntityFieldKey():string;
getFieldId():string;
/**
* 获取字段fieldKey的值
* @return fieldKey的值
*/
getFieldKey():string;
/**
* 获取字段fieldName的值
* @return fieldName的值
*/
getFieldName():string;
/**
* 获取字段fieldType的值
* @return fieldType的值
*/
getFieldType():string;
/**
* 获取字段lock的值
* @return lock的值
*/
getLock():number;
getMustInputType():number;
/**
* 获取字段visible的值
* @return visible的值
*/
getVisible():number;
isLock(status:string):boolean;
/**
* 获取字段mustInput的值
* @return mustInput的值
*/
isMustInput():boolean;
isVisible(status:string):boolean;
/**
* 将参数defValue的值赋给字段defValue
* @param defValue
*/
setDefValue(defValue:string):void;
setDefValueType(defValueType:number):void;
setEntityFieldKey(entityFieldKey:string):void;
setFieldId(fieldId:string):void;
/**
* 将参数fieldKey的值赋给字段fieldKey
* @param fieldKey
*/
setFieldKey(fieldKey:string):void;
/**
* 将参数fieldName的值赋给字段fieldName
* @param fieldName
*/
setFieldName(fieldName:string):void;
/**
* 将参数fieldType的值赋给字段fieldType
* @param fieldType
*/
setFieldType(fieldType:string):void;
/**
* 将参数lock的值赋给字段lock
* @param lock
*/
setLock(lock:number):void;
setLockInStr(lock:string):void;
/**
* 将参数mustInput的值赋给字段mustInput
* @param mustInput
*/
setMustInput(mustInput:boolean):void;
setMustInputType(mustInputType:number):void;
/**
* 将参数visible的值赋给字段visible
* @param visible
*/
setVisible(visible:number):void;
}
type BillTypeControlInfo_T = $.java.io.Serializable & BillTypeControlInfo_S & BillTypeControlInfo$;
interface BillTypeControlInfo extends BillTypeControlInfo_T {
}
interface EntityMetadataCache_S {
/**
* 根据应用id获取应用信息
*
* @param appId 应用id
* @return 应用信息
*/
getAppInfo(appId:string):AppInfo;
/**
* 根据应用id获取应用编码
*
* @param appId 应用id
* @return 字符串
*/
getAppNumberById(appId:string):string;
/**
* 返回过滤元数据
*
* @param formId 表单标识
* @param key 基础资料字段
* @return 返回过滤元数据
*/
getBaseDataFieldFilterMeta(formId:string,key:string):$.kd.bos.entity.filter.FilterCondition;
/**
* 根据实体编码获取应用编码
*
* @param entityNumber 实体类型
* @return
*/
getBizAppNumber(entityNumber:string):string;
/**
* 根据实体number取应用
* @param entityNumbers
* @return
*/
getBizAppNumbers(entityNumbers:string[]):string[];
/**
* 单据关联配置
*
* @param entityNumber 实体编码
* @return
*/
getCtLinkSet(entityNumber:string):CtLinkSetElement;
/**
* 网络控制元数据
*
* @param entityNumber 实体编码
* @return 网络控制元数据
*/
getDataEntityNetCtrlOperate(entityNumber:string):$.java.util.Map;
/**
* 返回实体操作元数据
*
* @param entityNumber 实体标识
* @return 实体操作元数据
*/
getDataEntityOperate(entityNumber:string):$.java.util.List;
/**
* 获取操作元数据
*
* @param entityNumber 实体标识
* @param operKey 操作标识
* @return 操作元数据
*/
getDataEntityOperate(entityNumber:string,operKey:string):$.java.util.Map;
/**
* 获取实体操作元数据
*
* @param entityNumber 实体编码
* @return 操作
*/
getDataEntityOperations(entityNumber:string):kd.bos.entity.operate.Operations;
/**
* 获取指定实体的所有操作信息
* @param entityNumbers 实体编码
* @return
*/
getDataEntityOperations(entityNumbers:$.java.util.Collection):$.java.util.Map;
/**
* 返回实体元数据
*
* @param number 实体标识
* @return MainEntityType 实体元数据
*/
getDataEntityType(number_arg:string):MainEntityType;
/**
* 返回实体元数据
*
* @param url 实体标识
* @return 实体元数据
*/
getDataEntityType(url:$.java.net.URL):MainEntityType;
/**
* 获取实体元数据
*
* @param entityId 实体id
* @return 主实体
*/
getDataEntityTypeById(entityId:string):MainEntityType;
/**
* 获取实时实体元数据(不带缓存)
*
* @param number 编码
* @return 数据实体类型
*/
getDataEntityTypeNoCache(number_arg:string):MainEntityType;
/**
* 获取锁定字段控件Map对象
* @param formId 表单编码
* @return
*/
getEnabledControlsMap(formId:string):$.java.util.Map;
/**
* 单据关联配置
*
* @param entityNumber 实体编码
* @return
*/
getLinkSet(entityNumber:string):LinkSetElement;
/**
* 获取权限控制类型
*
* @param entityNumber 实体编码
* @return 权限控制类型
*/
getPermissionControlType(entityNumber:string):PermissionControlType;
/**
* 权限项
*
* @param entityNumber 实体编码
* @return 指定表单的全部权限项集合
*/
getPermissionItems(entityNumber:string):$.java.util.Set;
/**
* 返回插件脚本
*
* @param key 实体标识
* @return 插件脚本
*/
getPluginScripts(key:string):string;
/**
* 组织委托关系列表
*
* @param entityNumber 实体编码
* @return 网络控制元数据
*/
getPrincipalRelation(entityNumber:string):$.java.util.Map;
/**
* 获取实体元数据provider
*
* @return
*/
getProvider():IEntityMetaDataProvider;
/**
* 获取运行时元数据版本号
*
* @param number 编码
* @return 版本
*/
getRuntimeMetadataVersion(number_arg:string):string;
/**
* 根据属性列表构造实体
*
* @param entityNumber 实体标识
* @param properties 实体属性列表
* @return 构造好的实体
*/
getSubDataEntityType(entityNumber:string,properties:$.java.util.Collection):$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
/**
* 根据实体编码加载单据实体表格定义
*
* @param entityNumber 实体编码
* @return
*/
loadMainTableDefine(entityNumber:string):kd.bos.entity.botp.runtime.TableDefine;
/**
* 根据实体表格id或者实体表格
*
* @param tableId
* @return
*/
loadTableDefine(tableId:long):kd.bos.entity.botp.runtime.TableDefine;
/**
* 根据实体编码、实体标识加载单据实体表格定义
*
* @param entityNumber 实体编码
* @param entityKey 实体标识
* @return
*/
loadTableDefine(entityNumber:string,entityKey:string):kd.bos.entity.botp.runtime.TableDefine;
/**
* 设置实体应用编码
*
* @param entityNumber 实体编码
* @param bizAppNumber 应用编码
*/
putBizAppNumber(entityNumber:string,bizAppNumber:string):void;
/**
* 根据实体编码移除实体本地缓存
*
* @param number 编码
*/
removeDataEntityTypeLocalCache(number_arg:string):void;
/**
* 根据应用分组、实体编码移除实体本地缓存
*
* @param appGroup 应用集群组
* @param number 编码
*/
removeDataEntityTypeLocalCache(appGroup:string,number_arg:string):void;
/**
* 设置实体元数据provider
*
* @param pro
*/
setProvider(pro:IEntityMetaDataProvider):void;
}
interface EntityMetadataCache_C extends EntityMetadataCache_S {
new():EntityMetadataCache;
}
interface EntityMetadataCache$ {
}
type EntityMetadataCache_T = EntityMetadataCache_S & EntityMetadataCache$;
interface EntityMetadataCache extends EntityMetadataCache_T {
}
interface EntityType_S {
}
type EntityType_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType & EntityType_S;
interface EntityType_C extends EntityType_ST {
/**
* 构造函数
*/
new():EntityType;
/**
* 构造函数
* @param name
*/
new(name:string):EntityType;
}
interface EntityType$ {
/**
* 创建实体属性关系
*/
createPropIndexs():void;
/**
* 查找属性
* @param name 属性名称
* @return 实体属性
*/
findProperty(name:string):$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取本实体的字段清单
* @return 实体属性列表
*/
getFields():$.java.util.Map;
/**
* 获取规则数量
* @return 规则数量
*/
getRuleCount():number;
/**
* 根据实体属性构造一个新的属性
* @param properties 属性列表
* @return 返回实体属性
*/
getSubEntityType(properties:$.java.util.Collection):this;
/**
* 设置规则数量
* @param ruleCount 规则数量
*/
setRuleCount(ruleCount:number):void;
}
type EntityType_T = $.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType & $.kd.bos.dataentity.entity.ISupportInitialize & EntityType_S & EntityType$;
interface EntityType extends EntityType_T {
}
interface AbstractQueryBuilder_S {
}
type AbstractQueryBuilder_ST = $.java.io.Serializable & AbstractQueryBuilder_S;
interface AbstractQueryBuilder_C extends AbstractQueryBuilder_ST {
/**
* 缺省构造函数,用于序列化
*/
new():AbstractQueryBuilder;
/**
* 查询参数初始化
* @param queryBuilder
*/
new(queryBuilder:AbstractQueryBuilder):AbstractQueryBuilder;
/**
* 查询参数初始化
* @param sumFields
* @param selectFields
* @param filters
* @param orderBys
* @param start
* @param limit
* @param entityType
*/
new(sumFields:$.java.util.List,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,start:number,limit:number,entityType:$.kd.bos.dataentity.metadata.IDataEntityType):AbstractQueryBuilder;
}
interface AbstractQueryBuilder$ {
/**
* 获取单据实体
* @return
*/
getEntityType():$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 获取过滤条件
* @return
*/
getFilters():$.kd.bos.orm.query.QFilter[];
/**
* 获取查询记录数
* @return
*/
getLimit():number;
/**
* 获取排序
* @return
*/
getOrderBys():string;
/**
* 获取查询字段
* @return
*/
getSelectFields():string;
/**
* 获取查询起始位置
* @return
*/
getStart():number;
/**
* 获取汇总字段
* @return
*/
getSumFields():$.java.util.List;
/**
* 获取列表查询最大超过时间,默认为30秒
*
* @return
*/
getTimeOutSecends():number;
/**
* 设置单据实体
* @param entityType
*/
setEntityType(entityType:$.kd.bos.dataentity.metadata.IDataEntityType):void;
/**
* 设置过滤条件
* @param filters
*/
setFilters(filters:$.kd.bos.orm.query.QFilter[]):void;
/**
* 设置查询记录数
* @param limit
*/
setLimit(limit:number):void;
/**
* 设置排序
* @param orderBys
*/
setOrderBys(orderBys:string):void;
/**
* 设置查询字段
* @param selectFields
*/
setSelectFields(selectFields:string):void;
/**
* 设置查询起始位置
* @param start
*/
setStart(start:number):void;
/**
* 设置汇总字段
* @param sumFields
*/
setSumFields(sumFields:$.java.util.List):void;
/**
* 设置列表查询最大超过时间,默认为30秒
* @param timeOutSecends
*/
setTimeOutSecends(timeOutSecends:number):void;
}
type AbstractQueryBuilder_T = $.java.io.Serializable & AbstractQueryBuilder_S & AbstractQueryBuilder$;
interface AbstractQueryBuilder extends AbstractQueryBuilder_T {
}
interface AppMenuInfo_S {
readonly PROPERTY_NAVIVECTOR:string;
readonly PROPERTY_SHOERCUTICON:string;
}
type AppMenuInfo_ST = NodeInfo_S & $.java.io.Serializable & AppMenuInfo_S;
interface AppMenuInfo_C extends AppMenuInfo_ST {
new():AppMenuInfo;
}
interface AppMenuInfo$ {
getAppId():string;
getData():string;
getEntityNumber():string;
getFormId():string;
getFormName():$.kd.bos.dataentity.entity.LocaleString;
getLinkUrl():string;
getMenuType():string;
getNaviVector():string;
getOpenType():string;
getParamType():string;
getParams():string;
getParentId():string;
getPermission():string;
getSeq():number;
getShortcutIcon():string;
setAppId(appId:string):void;
setData(data:string):void;
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
setEntityNumber(entityNumber:string):void;
setFormId(formId:string):void;
setFormName(formName:$.kd.bos.dataentity.entity.LocaleString):void;
setId(id:string):void;
setLinkUrl(linkUrl:string):void;
setMenuType(menuType:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNaviVector(naviVector:string):void;
setOpenType(openType:string):void;
setParamType(paramType:string):void;
setParams(params:string):void;
setParentId(parentId:string):void;
setPermission(permission:string):void;
setSeq(seq:number):void;
setShortcutIcon(shortcutIcon:string):void;
}
type AppMenuInfo_T = NodeInfo & $.java.io.Serializable & AppMenuInfo_S & AppMenuInfo$;
interface AppMenuInfo extends AppMenuInfo_T {
}
interface IColumn_S {
}
interface IColumn$ {
getFieldKey():string;
getFmtInfo(rowData:$.kd.bos.dataentity.entity.DynamicObject,numberFormatProvider:NumberFormatProvider):number;
getValue(rowData:$.kd.bos.dataentity.entity.DynamicObject,numberFormatProvider:NumberFormatProvider):any;
getWidth():$.kd.bos.dataentity.entity.LocaleString;
isHide():boolean;
isPicture():boolean;
}
type IColumn_T = IBaseColumn & IColumn_S & IColumn$;
interface IColumn extends IColumn_T {
}
interface NodeInfo_S {
}
interface NodeInfo$ {
getDescription():$.kd.bos.dataentity.entity.LocaleString;
getId():string;
getName():$.kd.bos.dataentity.entity.LocaleString;
getNodeType():string;
getOrder():number;
}
type NodeInfo_T = NodeInfo_S & NodeInfo$;
interface NodeInfo extends NodeInfo_T {
}
interface IColumnGroup_S {
}
interface IColumnGroup$ {
getChildren():$.java.util.List;
}
type IColumnGroup_T = IBaseColumn & IColumnGroup_S & IColumnGroup$;
interface IColumnGroup extends IColumnGroup_T {
}
interface SelectedDisplayField_S {
}
type SelectedDisplayField_ST = $.java.io.Serializable & SelectedDisplayField_S;
interface SelectedDisplayField_C extends SelectedDisplayField_ST {
/**
* 构造函数
*/
new():SelectedDisplayField;
/**
* 构造函数
* @param mainField
* @param secondField
*/
new(mainField:string,secondField:string):SelectedDisplayField;
}
interface SelectedDisplayField$ {
/**
* 获取主显示字段
* @return 主显示字段
*/
getMainField():string;
/**
* 获取次显示字段
* @return 次显示字段
*/
getSecondField():string;
/**
* 设置主显示字段
* @param mainField 主显示字段
*/
setMainField(mainField:string):void;
/**
* 设置次显示字段
* @param secondField 次显示字段
*/
setSecondField(secondField:string):void;
}
type SelectedDisplayField_T = $.java.io.Serializable & SelectedDisplayField_S & SelectedDisplayField$;
interface SelectedDisplayField extends SelectedDisplayField_T {
}
interface NumberFormatInitParam_S {
}
interface NumberFormatInitParam_C extends NumberFormatInitParam_S {
new():NumberFormatInitParam;
/**
* @param isApplyMaterialPrecision 使用FmtInfoUtils.applyMaterialPrecision()获取值
*/
new(isApplyMaterialPrecision:boolean):NumberFormatInitParam;
}
interface NumberFormatInitParam$ {
/**
* 主实体数据
* @return
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 分录数据
* @return
*/
getDataEntitys():$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 格式化字段信息
* @return
*/
getFmtFields():$.java.util.List;
/**
* 个人格式化信息
* @return
*/
getFormatObject():kd.bos.entity.format.FormatObject;
/**
* 起始行
* @return
*/
getRowStartIndex():number;
/**
* 是否启用物料精度, 默认按系统参数配置,不需要额外配置
* @return
*/
isApplyMaterialPrecision():boolean;
setApplyMaterialPrecision(applyMaterialPrecision:boolean):void;
setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
setDataEntitys(dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
setFmtFields(fmtFields:$.java.util.List):void;
setFormatObject(formatObject:kd.bos.entity.format.FormatObject):void;
setRowStartIndex(rowStartIndex:number):void;
}
type NumberFormatInitParam_T = NumberFormatInitParam_S & NumberFormatInitParam$;
interface NumberFormatInitParam extends NumberFormatInitParam_T {
}
interface CtLinkSetElement_S {
}
interface CtLinkSetElement_C extends CtLinkSetElement_S {
new():CtLinkSetElement;
}
interface CtLinkSetElement$ {
/**
* 单据转换规则,界面配置控制插件
*
* @return
*/
getConvRulePlugIns():$.java.util.List;
/**
* 业务流程跟踪表
*
* @return
*/
getCtTrackerTable():string;
/**
* 反写快照表
*
* @return
*/
getCtWbSnapTable():string;
/**
* 各实体关联配置集合
*
* @return
*/
getItems():$.java.util.List;
/**
* 单据反写插件
*
* @return
* @remark 保存设计期元数据时,生成运行时插件元数据,直接插入到实体表格;
* 反写时,通过读取实体表格,加载反写插件
*/
getPlugIns():$.java.util.List;
setConvRulePlugIns(convRulePlugIns:$.java.util.List):void;
setCtTrackerTable(ctTrackerTable:string):void;
setCtWbSnapTable(ctWbSnapTable:string):void;
setItems(items:$.java.util.List):void;
setPlugIns(plugIns:$.java.util.List):void;
}
type CtLinkSetElement_T = CtLinkSetElement_S & CtLinkSetElement$;
interface CtLinkSetElement extends CtLinkSetElement_T {
}
interface LinkEntryType_S {
}
type LinkEntryType_ST = EntryType_S & LinkEntryType_S;
interface LinkEntryType_C extends LinkEntryType_ST {
new():LinkEntryType;
}
interface LinkEntryType$ {
/**
* ctrlFieldProps 原始携带属性
* @return
*/
getCtrlFieldProps():$.java.util.Map;
/**
* oldCtrlFieldProps 原始携带属性
* @return
*/
getOldCtrlFieldProps():$.java.util.Map;
/**
* 获取记录源单内码的属性
* @return
*/
getSBillIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
/**
* 源单内码属性
* @return
*/
getSIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
/**
* 设置记录源单内码的属性
* @return
*/
getSTableIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
}
type LinkEntryType_T = EntryType & LinkEntryType_S & LinkEntryType$;
interface LinkEntryType extends LinkEntryType_T {
}
interface MobLocation_S {
}
interface MobLocation_C extends MobLocation_S {
/**
* 构造函数
*/
new():MobLocation;
}
interface MobLocation$ {
/**
* 地址
* @return
*/
getAddress():string;
/**
* 详细地址
* @return
*/
getAddressdetail():string;
/**
* 城市
* @return
*/
getCity():string;
/**
* 获取城市id
* @return
*/
getCityId():string;
/**
* 区域
* @return
*/
getDistrict():string;
/**
* 精度
* @return
*/
getLatitude():number;
/**
* 维度
* @return
*/
getLongitude():number;
/**
* 名称
* @return
*/
getName():string;
/**
* 省份
* @return
*/
getProvince():string;
/**
* 设置城市id
* @param cityId
*/
setCityId(cityId:string):void;
}
type MobLocation_T = MobLocation_S & MobLocation$;
interface MobLocation extends MobLocation_T {
}
interface ReportQueryEntityType_S {
}
type ReportQueryEntityType_ST = QueryEntityType_S & ReportQueryEntityType_S;
interface ReportQueryEntityType_C extends ReportQueryEntityType_ST {
new():ReportQueryEntityType;
}
interface ReportQueryEntityType$ {
}
type ReportQueryEntityType_T = QueryEntityType & ReportQueryEntityType_S & ReportQueryEntityType$;
interface ReportQueryEntityType extends ReportQueryEntityType_T {
}
interface RefPropType_S {
}
type RefPropType_ST = $.java.io.Serializable & RefPropType_S;
interface RefPropType_C extends RefPropType_ST {
new():RefPropType;
}
interface RefPropType$ {
/**
* 获取id
* @return
*/
getId():string;
/**
* 引用属性解析成set集合
* @return
*/
getPropSet():$.java.util.Set;
/**
* 获取引用属性
* @return
*/
getProps():string;
/**
* 是否关联到主资料,对于主资料属性,需要支持第三层嵌套
* @return
*/
isMaster():boolean;
/**
* 设置id
* @param id
*/
setId(id:string):void;
/**
* 设置是否关联到主资料,对于主资料属性,需要支持第三层嵌套
* @return
*/
setMaster(master:boolean):void;
/**
* 设置引用属性
* @return
*/
setProps(props:string):void;
}
type RefPropType_T = $.java.io.Serializable & RefPropType_S & RefPropType$;
interface RefPropType extends RefPropType_T {
}
interface SingleOrgContextHelper_S {
/**
* 判断当前是否为标准版,字段是否需要隐藏
*
* @param prop
* @return
*/
isFieldNeedHide(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
/**
* 常用过滤字段判断当前是否为标准版,字段是否需要隐藏
*
* @param prop
* @return
*/
isFieldNeedHideForCommonFilterColumn(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
/**
* 许可模式,是否为旗舰版
*
* @return
*/
isFlagShipVersionMode():boolean;
/**
* 许可模式,是否为标准版
*
* @return
*/
isStandardVersionMode():boolean;
}
interface SingleOrgContextHelper_C extends SingleOrgContextHelper_S {
new():SingleOrgContextHelper;
}
interface SingleOrgContextHelper$ {
}
type SingleOrgContextHelper_T = SingleOrgContextHelper_S & SingleOrgContextHelper$;
interface SingleOrgContextHelper extends SingleOrgContextHelper_T {
}
interface CompareTypeConfig_S {
}
interface CompareTypeConfig_C extends CompareTypeConfig_S {
new():CompareTypeConfig;
}
interface CompareTypeConfig$ {
/**
* 添加比较符
* @param compareTypeField 比较符定义
*/
addCompareTypeField(compareTypeField:CompareTypeField):void;
/**
* 获取比较符集合
* @return
*/
getCompareTypeFields():$.java.util.List;
/**
* 设置比较符集合
* @param compareTypeFields
*/
setCompareTypeFields(compareTypeFields:$.java.util.List):void;
}
type CompareTypeConfig_T = CompareTypeConfig_S & CompareTypeConfig$;
interface CompareTypeConfig extends CompareTypeConfig_T {
}
interface SummaryToField_S {
}
type SummaryToField_ST = $.java.io.Serializable & SummaryToField_S;
interface SummaryToField_C extends SummaryToField_ST {
new():SummaryToField;
}
interface SummaryToField$ {
/**
* 获取设计器字段属性Id
* @return
*/
getFieldId():string;
/**
* 获取字段标识、编辑控件使用
* @return
*/
getFieldKey():string;
/**
* 获取字段名、设计器插件使用
* @return
*/
getFieldName():string;
/**
* 获取汇总类型
* @return
*/
getSumType():number;
/**
* 设置设计器字段属性Id
* @param fieldId
*/
setFieldId(fieldId:string):void;
/**
* 设置字段标识、编辑控件使用
* @param fieldKey
*/
setFieldKey(fieldKey:string):void;
/**
* 设置字段名、设计器插件使用
* @param fieldName
*/
setFieldName(fieldName:string):void;
/**
* 设置汇总类型
* @param sumType
*/
setSumType(sumType:number):void;
}
type SummaryToField_T = $.java.io.Serializable & SummaryToField_S & SummaryToField$;
interface SummaryToField extends SummaryToField_T {
}
interface BasedataEntityType_S {
readonly MASTERIDTYPE_MYSELF:number;
readonly MASTERIDTYPE_NONE:number;
readonly MASTERIDTYPE_OTHER:number;
}
type BasedataEntityType_ST = BillEntityType_S & BasedataEntityType_S;
interface BasedataEntityType_C extends BasedataEntityType_ST {
/**
* 初始化基础资料主实体对象
*/
new():BasedataEntityType;
}
interface BasedataEntityType$ {
/**
* 获取基础资料个性化控制器
*
* @return
*/
getBasedataControllersProp():$.java.util.List;
/**
* 获取基础资料弹性域属性
*
* @return 基础资料弹性域属性
*/
getFlexProperty():string;
/**
* 获取主数据内码属性名:如果masterid不填值,此属性返回空
*
* @return
*/
getMasteridPropName():string;
/**
* 获取主数据内码赋值方式:0 = 不赋值;1 = 本身数据id;2 = 关联主资料id
*
* @return
*/
getMasteridType():number;
/**
* 获取formID
*
* @return
* @deprecated 已弃用
*/
getMoblistFormId():string;
/**
* 获取基础资料名称属性
*
* @return 基础资料名称属性
*/
getNameProperty():string;
/**
* 获取基础资料编码属性
*
* @return 基础资料编码属性
*/
getNumberProperty():string;
/**
* 根据基础资料类型(主资料、业务政策),输出用于搜索的编码字段名:业务政策,输入编码时,搜索master.number字段
*
* @return
*/
getSearchNumberKey():string;
/**
* 是否支持修改产生历史记录
*
* @return
*/
isEnableNameVersion():boolean;
/**
* 设置基础资料个性化控制器
*
* @param basedataControllersProp
*/
setBasedataControllersProp(basedataControllersProp:$.java.util.List):void;
/**
* 设置是否支持修改产生历史记录
*
* @param enableNameVersion
*/
setEnableNameVersion(enableNameVersion:boolean):void;
/**
* 设置基础资料弹性域属性
*
* @param flexProperty 基础资料弹性域属性
*/
setFlexProperty(flexProperty:string):void;
/**
* 设置主数据内码属性名:如果masterid不填值,此属性返回空
*
* @param masteridPropName
*/
setMasteridPropName(masteridPropName:string):void;
/**
* 设置主数据内码赋值方式:0 = 不赋值;1 = 本身数据id;2 = 关联主资料id
*
* @param masteridType
*/
setMasteridType(masteridType:number):void;
/**
* 设置formID
*
* @param moblistFormId
*/
setMoblistFormId(moblistFormId:string):void;
/**
* 设置基础资料名称属性
*
* @param nameProperty 基础资料名称属性
*/
setNameProperty(nameProperty:string):void;
/**
* 设置基础资料编码属性
*
* @param numberProperty 基础资料编码属性
*/
setNumberProperty(numberProperty:string):void;
}
type BasedataEntityType_T = BillEntityType & BasedataEntityType_S & BasedataEntityType$;
interface BasedataEntityType extends BasedataEntityType_T {
}
interface AppMetadataCache_S {
/**
* 取所有应用运行时元数据
* @return 应用元数据map(应用编码,应用对象)
*/
getAllAppInfo():$.java.util.Map;
getAllAppMenus():$.java.util.Map;
/**
* 同步查询应用信息,异步查询应用菜单信息
* @param appId 应用id, 类似2deb950100005dac, 不是编码
* @return AppInfo 应用信息
*/
getAppInfo(appId:string):AppInfo;
/**
* 根据应用编码获取应用信息
*
* @param number 应用编码
* @return AppInfo
*/
getAppInfoByNumber(number_arg:string):AppInfo;
getAppMenuInfo(appId:string,menuId:string):AppMenuInfo;
/**
* 根据应用编码和菜单id,获取指定菜单信息
*
* @param appNum 应用编码
* @param menuId 菜单id
* @return 应用菜单对象
*/
getAppMenuInfoByAppNumAndMenuId(appNum:string,menuId:string):AppMenuInfo;
/**
* 根据应用编码,获取应用的全部菜单信息
*/
getAppMenusInfoByAppId(appId:string):$.java.util.List;
/**
* 根据应用编码,获取应用菜单信息
*
* @param appNum 应用编码
* @return 应用菜单对象列表
*/
getAppMenusInfoByAppNum(appNum:string):$.java.util.List;
getAppNumberById(id:string):string;
/**
* 取应用Map
* @return
*/
getAppNumbers():$.java.util.Map;
/**
* @return DataProvider
*/
getProvider():IEntityMetaDataProvider;
/**
* 取所有应用运行时元数据
* @return
*/
getVisibleAndEnableAppInfos():$.java.util.Map;
/**
* 删除应用的本地缓存
*/
removeAppmetaLocalCache(appId:string):void;
/**
* 批量删除指定的应用本地缓存
*/
removeAppmetaLocalCache(...appIds:string[]):void;
removeCache():void;
setProvider(pro:IEntityMetaDataProvider):void;
}
interface AppMetadataCache_C extends AppMetadataCache_S {
new():AppMetadataCache;
}
interface AppMetadataCache$ {
}
type AppMetadataCache_T = AppMetadataCache_S & AppMetadataCache$;
interface AppMetadataCache extends AppMetadataCache_T {
}
interface Features_S {
}
interface Features_C extends Features_S {
new():Features;
}
interface Features$ {
/**
* 把所有勾选的选项值,合并生成一个整数输出
*
* 增加新选项的步骤:
* 1. 在字段功能控制界面,增加新选项复选框
* 2. 在Features中,增加boolean型属性,记录新选项在设计时有没有勾选
* 3. 修改FeaturesEditPlug,把界面上新复选框的值,填写在字段的Features对象中
* 4. 修改FeatureOption,使用新的二进制数字,代表新选项
* 5. 修改Features.getValue方法,输出运行时组合选项值,加入新选项
* 6. 运行时,使用IFieldHandle.getFeature方法,获取字段的功能控制选项值,与FeatureOption选项进行位与运算,确定是否勾选选项
*
* @return
*/
getValue():number;
/**
* 获取版本,默认为1
*
* 本属性的用途,是确保序列化字段元数据时,一定会输出features的内容,
* 以支持各业务字段个性化功能控制选项的默认值
* Features属性值序列化出错的详细场景及描述,请参阅Field.Features属性描述
*
* @return
*/
getVer():number;
/**
* 是否允许生成凭证
* @return
*/
isAllowvoucher():boolean;
/**
* 是否允许批量编辑
* @return
*/
isBulkEditable():boolean;
/**
* 是否允许单据转换
* @return
*/
isConvertTote():boolean;
/**
* 是否允许复制
* @return
*/
isCopyable():boolean;
/**
* 是否允许引出
* @return
*/
isExportable():boolean;
/**
* 是否F7批量填充分录空白行
* @return
*/
isF7BatchFill():boolean;
/**
* 是否允许引入
* @return
*/
isImportable():boolean;
/**
* 是否允许批量填充
* @return
*/
isMultiFillable():boolean;
/**
* 是否允许连续新增携带
* @return
*/
isSeriesNewTote():boolean;
/**
* 设置是否允许生成凭证
* @param allowvoucher
*/
setAllowvoucher(allowvoucher:boolean):void;
/**
* 设置是否允许批量编辑
* @param bulkEditable
*/
setBulkEditable(bulkEditable:boolean):void;
/**
* 设置是否允许单据转换
* @param convertTote
*/
setConvertTote(convertTote:boolean):void;
/**
* 设置是否允许复制
* @param copyable
*/
setCopyable(copyable:boolean):void;
/**
* 设置是否允许引出
* @param exportable
*/
setExportable(exportable:boolean):void;
/**
* 设置是否F7批量填充分录空白行
* @param f7BatchFill
*/
setF7BatchFill(f7BatchFill:boolean):void;
/**
* 设置是否允许引入
* @param importable
*/
setImportable(importable:boolean):void;
/**
* 设置是否允许批量填充
* @param multiFillable
*/
setMultiFillable(multiFillable:boolean):void;
/**
* 设置是否允许连续新增携带
* @param seriesNewTote
*/
setSeriesNewTote(seriesNewTote:boolean):void;
/**
* 设置版本,默认为1
*
* 本属性的用途,是确保序列化字段元数据时,一定会输出features的内容,
* 以支持各业务字段个性化功能控制选项的默认值
* Features属性值序列化出错的详细场景及描述,请参阅Field.Features属性描述
*
* @param ver
*/
setVer(ver:number):void;
}
type Features_T = Features_S & Features$;
interface Features extends Features_T {
}
interface ExtendedDataEntity_S {
}
interface ExtendedDataEntity_C extends ExtendedDataEntity_S {
/**
* 构造函数
* @param dataEntity 实体数据
* @param dataEntityIndex 分录索引
* @param rowIndex 数据行索引
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number):ExtendedDataEntity;
/**
* 构造函数
* @param dataEntity 实体数据
* @param dataEntityIndex 分录索引
* @param rowIndex 数据行索引
* @param billNo 单据编号
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,billNo:string):ExtendedDataEntity;
/**
* 构造函数
* @param dataEntity 实体数据
* @param dataEntityIndex 分录索引
* @param rowIndex 数据行索引
* @param subRowIndex 数据行索引所在分录索引
* @param billNo 单据编号
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,subRowIndex:number,billNo:string):ExtendedDataEntity;
}
interface ExtendedDataEntity$ {
/**
* 获取单据编号
* @return 单据编号
*/
getBillNo():string;
/**
* 获取单据主键ID
* @return 单据主键ID
*/
getBillPkId():any;
/**
* 获取实体数据
* @return 实体数据
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取单个数据包在整个数据包中索引,列表中的次序
* @return 索引
*/
getDataEntityIndex():number;
/**
* 获取数据行索引
* @return 数据行索引
*/
getRowIndex():number;
/**
* 获取数据行索引所在分录索引
* @return 数据行索引所在分录索引
*/
getSubRowIndex():number;
/**
* 获取校验错误码
* @return
*/
getValidataErrorCode():kd.bos.entity.validate.ValidataErrorCode;
/**
* 获取实体属性数据
* @param name 实体属性名称
* @return Object 实体属性数据
*/
getValue(name:string):any;
/**
* 设置单据编号
* @param billNo 单据编号
*/
setBillNo(billNo:string):void;
/**
* 设置实体数据
* @param dataEntity 实体数据
*/
setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
/**
* 设置分录索引
* @param dataEntityIndex 分录索引
*/
setDataEntityIndex(dataEntityIndex:number):void;
/**
* 设置数据行索引
* @param rowIndex 数据行索引
*/
setRowIndex(rowIndex:number):void;
/**
* 设置数据行索引所在分录索引
* @param subRowIndex 数据行索引所在分录索引
*/
setSubRowIndex(subRowIndex:number):void;
/**
* 设置校验错误码
* @param validataErrorCode
*/
setValidataErrorCode(validataErrorCode:kd.bos.entity.validate.ValidataErrorCode):void;
/**
* 设置实体属性数据
* @param name 实体属性名称
* @param value 实体属性数据
*/
setValue(name:string,value:any):void;
}
type ExtendedDataEntity_T = ExtendedDataEntity_S & ExtendedDataEntity$;
interface ExtendedDataEntity extends ExtendedDataEntity_T {
}
interface EntityItemTypes_S {
/**
* 克隆一个实体属性
*
* @param property 被克隆的实体属性
* @return 返回克隆的实体属性
*/
clone(property:$.kd.bos.dataentity.metadata.IDataEntityProperty):$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 从json反序列化为一个实体属性
*
* @param str 要反序列化的字符串
* @return 反序列化的实体属性
*/
fromJsonString(str:string):$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 从json反序列化为一个实体属性
*
* @param jsonMap 要反序列化的字符串
* @return 反序列化的实体属性
*/
fromMap(jsonMap:$.java.util.Map):$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 从XML反序列化为一个实体属性
*
* @param str 要反序列化的字符串
* @return 反序列化的实体属性
*/
fromXmlString(str:string):$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 从XML反序列化为一个实体属性
*
* @param url 要反序列化的字符串资源地址
* @return 反序列化的实体属性
*/
fromXmlString(url:$.java.net.URL):$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 获取一个实体属性
*
* @param name 实体属性名称
* @return 返回实体属性实例
*/
getDataEntityType(name:string):$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 注册一个实体属性
*
* @param clasz
*/
register(clasz:$.java.lang.Class):void;
/**
* 将实体属性序列化为Json
*
* @param type 实体属性
* @return 返回序列化后的json字符串
*/
toJsonString(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType):string;
/**
* 将实体属性序列化为Json
*
* @param type 实体属性
* @return 返回序列化后的json字符串
*/
toJsonString(type_arg:$.kd.bos.dataentity.metadata.IMetadata):string;
/**
* 将实体属性序列化为XML
*
* @param type 实体属性
* @return 返回序列化后的XML字符串
*/
toXmlString(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType):string;
}
interface EntityItemTypes_C extends EntityItemTypes_S {
new():EntityItemTypes;
}
interface EntityItemTypes$ {
}
type EntityItemTypes_T = EntityItemTypes_S & EntityItemTypes$;
interface EntityItemTypes extends EntityItemTypes_T {
}
interface GetFilterFieldsParameter_S {
}
interface GetFilterFieldsParameter_C extends GetFilterFieldsParameter_S {
/**
* 构造函数
*
* @param dataEntityType
*/
new(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):GetFilterFieldsParameter;
}
interface GetFilterFieldsParameter$ {
addCustomCompareTypes(fieldName:string,compareType:kd.bos.entity.filter.CompareType):void;
addCustomCompareTypes(fieldName:string,compareTypes:$.java.util.List):void;
/**
* 获取实体信息
*
* @return
*/
getDataEntityType():$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 弹性域字段是否需要展开
*
* @return
*/
isFlexFieldNeedExpand():boolean;
/**
* 是否需要没有字段名的字段
*
* @return
*/
isNeedAliasEmptyFieldProp():boolean;
isNeedBasedataIdField():boolean;
/**
* 是否需要字段比较选符
*
* @return
*/
isNeedFieldCompareType():boolean;
/**
* 是否需要展示弹性域字段
* @return
*/
isNeedFlexField():boolean;
isNeedMulBasedataField():boolean;
/**
* 是否只需要单据头字段
*
* @return
*/
isOnlyMainEntityField():boolean;
/**
* 是否标准产品模式
*
* @return
*/
isbCompatibleProductMode():boolean;
/**
* 设置弹性域字段是否需要展开
*
* @param flexFieldNeedExpand
*/
setFlexFieldNeedExpand(flexFieldNeedExpand:boolean):void;
/**
* 设置是否需要没有字段名的字段
*
* @param isNeedAliasEmptyFieldProp
* 是否需要没有字段名的字段
*/
setNeedAliasEmptyFieldProp(isNeedAliasEmptyFieldProp:boolean):void;
setNeedBasedataIdField(needBasedataIdField:boolean):void;
/**
* 设置是否需要字段比较选符
*
* @param isNeedFieldCompareType
* 是否需要字段比较选符
*/
setNeedFieldCompareType(isNeedFieldCompareType:boolean):void;
/**
* 设置是否需要展示弹性域字段
*
* @param needFlexField 是否需要展示弹性域字段
*/
setNeedFlexField(needFlexField:boolean):void;
setNeedMulBasedataField(needMulBasedataField:boolean):void;
/**
* 设置是否只需要单据头字段
*
* @param isOnlyMainEntityField
* 是否只需要单据头字段
*/
setOnlyMainEntityField(isOnlyMainEntityField:boolean):void;
/**
* 设置是否标准产品模式
*
* @param bCompatibleProductMode
* 是否标准产品模式
*/
setbCompatibleProductMode(bCompatibleProductMode:boolean):void;
}
type GetFilterFieldsParameter_T = GetFilterFieldsParameter_S & GetFilterFieldsParameter$;
interface GetFilterFieldsParameter extends GetFilterFieldsParameter_T {
}
interface CtLinkEntryType_S {
}
type CtLinkEntryType_ST = EntryType_S & CtLinkEntryType_S;
interface CtLinkEntryType_C extends CtLinkEntryType_ST {
new():CtLinkEntryType;
}
interface CtLinkEntryType$ {
/**
* ctrlFieldProps 原始携带属性
* @return
*/
getCtrlFieldProps():$.java.util.Map;
/**
* oldCtrlFieldProps 原始携带属性
* @return
*/
getOldCtrlFieldProps():$.java.util.Map;
/**
* 获取记录源单内码的属性
* @return
*/
getSBillIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
/**
* 源单内码属性
* @return
*/
getSIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
/**
* 设置记录源单内码的属性
* @return
*/
getSTableIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
getSaccountIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
getStenantCoceProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
}
type CtLinkEntryType_T = EntryType & CtLinkEntryType_S & CtLinkEntryType$;
interface CtLinkEntryType extends CtLinkEntryType_T {
}
interface RefEntityTypeCache_S {
/**
* 返回实体元数据
*
* @param number
* 实体标识
* @return 实体元数据
*/
getRefEntityType(number_arg:string,fillRef:boolean):RefEntityType;
getRefTypes(met:MainEntityType):$.java.util.Map;
getRefTypes(refPropTypes:$.java.util.List):$.java.util.Map;
getRefTypes(refPropTypes:$.java.util.List,fillRef:boolean):$.java.util.Map;
}
interface RefEntityTypeCache_C extends RefEntityTypeCache_S {
new():RefEntityTypeCache;
}
interface RefEntityTypeCache$ {
}
type RefEntityTypeCache_T = RefEntityTypeCache_S & RefEntityTypeCache$;
interface RefEntityTypeCache extends RefEntityTypeCache_T {
}
interface ITreeEntryType_S {
readonly PARENT_ENTRYID_NAME:string;
}
interface ITreeEntryType$ {
getPidProperty?():$.kd.bos.dataentity.metadata.IDataEntityProperty;
getPrimaryKey?():$.kd.bos.dataentity.metadata.ISimpleProperty;
}
type ITreeEntryType_T = ITreeEntryType_S & ITreeEntryType$;
interface ITreeEntryType extends ITreeEntryType_T {
}
interface BOSRuntime_S {
/**
* 检查bos基准版本,版本<基准版本 返回true,表示需要更新
* @param version
* @return <基准版本 返回true
*/
checkBosVersionExpire(version:string):boolean;
/**
* 获取苍穹平台-领域模型版本
* 不同于苍穹平台对外发布的版本号,此版本信息仅用于内部确认元数据版本是否过期必须重建。无重大变化此版本号不会更新
* @return 平台版本
*/
getVersion():string;
/**
* 判断传入的业务应用是否属于平台
* @param appId 业务应用内码
* @return 返回true,指定的业务应用属于平台
*/
isBOSApp(appId:string):boolean;
/**
* 判断传入的业务云是否属于平台
* @param cloudId 业务云内码
* @return 返回true,指定的业务云属于平台
*/
isBOSCloud(cloudId:string):boolean;
/**
* 设置扩展版本:默认为0, 0不拼接到版本号中.
* 供星空在版本需要重建元数据场景调用
* @param extendsVersion :默认为0, 0不拼接到版本号中.
*/
setExtendsVersion(extendsVersion:long):void;
}
interface BOSRuntime_C extends BOSRuntime_S {
new():BOSRuntime;
}
interface BOSRuntime$ {
}
type BOSRuntime_T = BOSRuntime_S & BOSRuntime$;
interface BOSRuntime extends BOSRuntime_T {
}
interface EntryType_S {
}
type EntryType_ST = EntityType_S & $.kd.bos.dataentity.metadata.IEntryType & EntryType_S;
interface EntryType_C extends EntryType_ST {
new():EntryType;
}
interface EntryType$ {
/**
* 获取单据体非必录规则
* @param source
* @return
*/
getEntryNotMustInputRules(source:string):$.java.util.List;
/**
* 获取关键字段
* @return 关键字段
*/
getKeyField():string;
/**
* 获取必录条件
* @return
*/
getMustInputCondition():string;
/**
* 是否关键实体
* @return false:不是关键实体,true:是关键实体
*/
isKeyEntry():boolean;
/**
* 是否必录
* @return false:不必录,true:必录
*/
isMustIuput():boolean;
/**
* 是否快捷新增
* @return false:不快捷新增,true:快捷新增
*/
isQuickAdd():boolean;
/**
* 是否在运行期以来父表单的属性
* @return 是否在运行期以来父表单的属性
*/
isRefParentProperty():boolean;
/**
* 设置是否关键实体
* @param keyEntry false:不是关键实体,true:是关键实体
*/
setKeyEntry(keyEntry:boolean):void;
/**
* 设置关键字段
* @param keyField 关键字段
*/
setKeyField(keyField:string):void;
/**
* 设置必录条件
* @param mustInputCondition
*/
setMustInputCondition(mustInputCondition:string):void;
/**
* 设置是否必录
* @param mustIuput false:不必录,true:必录
*/
setMustIuput(mustIuput:boolean):void;
/**
* 设置是否快捷新增
* @param quickAdd false:不快捷新增,true:快捷新增
*/
setQuickAdd(quickAdd:boolean):void;
/**
* 设置是否在运行期以来父表单的属性
* @param refParentProperty
*/
setRefParentProperty(refParentProperty:boolean):void;
}
type EntryType_T = EntityType & $.kd.bos.dataentity.metadata.IEntryType & EntryType_S & EntryType$;
interface EntryType extends EntryType_T {
}
interface EntityTypeUtil_S {
/**
* 基于单据主实体,生成前端使用的过滤字段列表
*
* @param parameterObject 通过实体获取过滤字段信息参数
* @return
*/
createFilterColumns(parameterObject:GetFilterFieldsParameter):$.java.util.List;
expandListFields(listFields:$.java.util.List):$.java.util.List;
extendMainEntityTypeByFlexProp(mainEntityType:EntityType,selectFields:$.java.util.List,selectFieldsWithNotCompare:$.java.util.List,registerPropertyListeners:$.java.util.List):ExtendedEntityTypeByFlexPropResult;
getAllListField(entityType:EntityType,listFields:$.java.util.List,isNeedKeyFields:boolean):$.java.util.List;
/**
* 获取基础资料字段显示属性
* @param property
* @return
*/
getBasedataDisplayProps(property:$.kd.bos.dataentity.metadata.IDataEntityProperty):string[];
getBilltypeId(entityType:BillEntityType):string;
/**
* 返回实体属性
*
* @param fieldKey 字段标识
* @param dataType 实体
* @return 实体属性
*/
getDataEntityProperty(fieldKey:string,dataType:EntityType):$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 返回实体属性
*
* @param fieldKey 字段标识
* @param dataType 实体
* @param isThrowException 是否抛出错误
* @return 实体属性
*/
getDataEntityProperty(fieldKey:string,dataType:EntityType,isThrowException:boolean):$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 返回实体所有分录
*
* @param entityType 实体
* @return 实体分录列表
*/
getEntryEntities(entityType:EntityType):$.java.util.List;
getEntryEntitiesForForQing(entityType:EntityType):$.java.util.List;
/**
* 返回字段属性
*
* @param fieldKey 字段标识
* @param dataType 实体
* @return 字段属性
*/
getFieldProp(fieldKey:string,dataType:EntityType):kd.bos.entity.property.FieldProp;
/**
* 返回字段属性
*
* @param fieldKey 字段标识
* @param dataType 实体
* @param isThrowException 是否抛出错误
* @return 字段属性
*/
getFieldProp(fieldKey:string,dataType:EntityType,isThrowException:boolean):kd.bos.entity.property.FieldProp;
getFilterFields(parameterObject:GetFilterFieldsParameter):$.java.util.List;
/**
* 返回工具类实例,单例
*
* @return
*/
getInstance():EntityTypeUtil;
/**
* 获取单据关键字段信息,组织字段,编码:如果是基础,是编码,如果是单据是单据编号
*
* @param entityType 实体
* @return 关键字段字典
*/
getKeyFields(entityType:MainEntityType):$.java.util.Map;
getKeyFields(entityType:EntityType):$.java.util.List;
getMainOrgId(entityType:MainEntityType):string;
getMainOrgListField(entityType:MainEntityType):kd.bos.entity.datamodel.ListField;
/**
* 返回ORM查询时需要的名称,ORM查询时要带分录
*
* @param fieldKey 字段标识
* @param dataType 实体
* @return 字段相关属性类
*/
getORMFieldName(fieldKey:string,dataType:EntityType):kd.bos.entity.filter.FieldName;
/**
* 返回当前分录的上级分录列表
*
* @param entryEntities 所有实体分录列表
* @param entryEntity 当前分录
* @return 上级分录列表
*/
getParentEntryEntities(entryEntities:$.java.util.List,entryEntity:string):$.java.util.List;
/**
* 返回实体字段类型,给前端使用
*
* @param prop 字段属性
* @return 字段类型
*/
getType(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):string;
getValidPkFields(entityType:EntityType,listFields:$.java.util.List):$.java.util.List;
/**
* 分录列表中是否有指定分录
*
* @param entryList 分录列表
* @param key 指定分录
* @return 是否有
*/
isContainKey(entryList:$.java.util.List,key:string):boolean;
isContainPropertyName(dynamicObjectType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,fieldName:string):boolean;
/**
* 是否为主业务组织
*
* @param bdProp 实体属性
* @return 是否为主业务组织
*/
isMainOrgProp(bdProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
/**
* 添加并返回字段相关比较符
*
* @param compareTypes 字段类型
* @param isFieldCompare 比较符组
* @return 比较符集合
*/
setCompareTypes(compareTypes:$.java.util.List,isFieldCompare:boolean):$.java.util.List;
/**
* 添加并返回字段相关比较符
*
* @param compareTypes 字段类型
* @param isNeedCompareTypeField 比较字段类型
* @param isFieldCompare 比较字段
* @return 比较符集合
*/
setCompareTypes(compareTypes:$.java.util.List,isNeedCompareTypeField:boolean,isFieldCompare:boolean):$.java.util.List;
/**
* 添加并返回字段相关比较符
*
* @param compareTypes 字段类型
* @param isNeedCompareTypeField 比较符组
* @param isFieldCompare 比较字段
* @param isFieldCompareVisible 字段比较符是否可见
* @return 比较符集合
*/
setCompareTypes(compareTypes:$.java.util.List,isNeedCompareTypeField:boolean,isFieldCompare:boolean,isFieldCompareVisible:boolean):$.java.util.List;
toCachedListFields(listFields:$.java.util.List):$.java.util.List;
}
interface EntityTypeUtil_C extends EntityTypeUtil_S {
new():EntityTypeUtil;
}
interface EntityTypeUtil$ {
/**
* 基于单据主实体,生成前端使用的过滤字段列表
*
* @param dataEntityType 实体类型
* @param isNeedCompareTypeField 是否需要字段比较选符
* @return
*/
createFilterColumns(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType,isNeedCompareTypeField:boolean):$.java.util.List;
/**
* 基于单据主实体,生成前端使用的过滤字段列表
*
* @param dataEntityType 实体类型
* @param isNeedCompareTypeField 是否需要字段比较选符
* @param bCompatibleProductModel 是否标准产品模式
* @return
*/
createFilterColumns(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType,isNeedCompareTypeField:boolean,bCompatibleProductModel:boolean):$.java.util.List;
getAnalysisField(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):$.java.util.List;
/**
* 基于单据主实体,生成前端使用的过滤字段列表
*
* @param dataEntityType 实体类型
* @return 返回直接发送给前端的过滤字段元数据
* @remark 动态表单中嵌入过滤条件表格时,调用本方法,给过滤表格,设置可选过滤字段
*/
getFilterColumns(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):$.java.util.List;
/**
* 基于单据主实体,生成前端使用的过滤字段列表
*
* @param dataEntityType 实体类型
* @param isOnlyMainEntityField 是否只需要单据头字段
* @return
*/
getFilterColumns(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType,isOnlyMainEntityField:boolean):$.java.util.List;
/**
* @return
*/
getFilterFields(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):$.java.util.List;
getFilterFields(bCompatibleProductMode:boolean,dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):$.java.util.List;
getFilterFields(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType,isOnlyMainEntityField:boolean):$.java.util.List;
getFilterFields(bCompatibleProductMode:boolean,dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType,isOnlyMainEntityField:boolean):$.java.util.List;
/**
* 返回列表字段列表
*
* @param dataEntityType 实体
* @return 字段列表
*/
getListFields(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):$.java.util.List;
}
type EntityTypeUtil_T = EntityTypeUtil_S & EntityTypeUtil$;
interface EntityTypeUtil extends EntityTypeUtil_T {
}
interface ExtendedDataEntitySet_S {
}
interface ExtendedDataEntitySet_C extends ExtendedDataEntitySet_S {
new():ExtendedDataEntitySet;
}
interface ExtendedDataEntitySet$ {
/**
* 添加一批新的扩展行到指定的实体中
*
* @param entityKey 实体标识
* @param rows 新的扩展行
*/
AddExtendedDataEntities(entityKey:string,rows:$.java.util.List):void;
/**
* 根据表的键,获取对应的数据行集合
*
* @param entityKey 实体的键
* @return 如果包含数据,返回扩展实体集合,否则返回null
*/
FindByEntityKey(entityKey:string):ExtendedDataEntity[];
/**
* 将数据拉平,并放入字典
*
* @param dataEntities 数据集合
* @param dType 实体类型
*/
Parse(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],dType:MainEntityType):void;
/**
* 获取单据编号
*
* @param dataEntity
* @return
*/
getBillNo(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):string;
/**
* 星辰扩展支持:便于星辰外部操作该对象
*
* @return
*/
getExtDataEntityMap():$.java.util.Map;
}
type ExtendedDataEntitySet_T = ExtendedDataEntitySet_S & ExtendedDataEntitySet$;
interface ExtendedDataEntitySet extends ExtendedDataEntitySet_T {
}
interface PermissionControlType_S {
readonly KEY_CONTROLTYPE:string;
}
type PermissionControlType_ST = $.java.io.Serializable & PermissionControlType_S;
interface PermissionControlType_C extends PermissionControlType_ST {
/**
* 构造函数
*/
new():PermissionControlType;
}
interface PermissionControlType$ {
/**
* 获取辅字段权限
* @return
*/
getDataAssistDimension():string;
/**
* 获取权限控制辅字段
* @return
*/
getDataAssistDimensionField():string;
/**
* 获取主字段权限
* @return
*/
getDataDimension():string;
/**
* 获取权限控制主字段
* @return
*/
getDataDimensionField():string;
/**
* 获取权限类型
* @return
*/
getDimension():string;
/**
* 获取权限发布应用
* @return
*/
getPublishApps():$.java.util.List;
/**
* 是否是匿名用户
* @return
*/
isAnonymousUserControl():boolean;
/**
* 是否控制功能权限
* @return
*/
isControlFunction():boolean;
/**
* 用于标记该权限对象是否是new出来的空对象
* @return
*/
isEmptyObject():boolean;
/**
* 是否停用数据权限
* @return
*/
isForbidDataPerm():boolean;
/**
* 设置是否是匿名用户
* @param isAnonymousUserControl
*/
setAnonymousUserControl(isAnonymousUserControl:boolean):void;
/**
* 设置是否控制功能权限
* @param isControlFunction
*/
setControlFunction(isControlFunction:boolean):void;
/**
* 设置辅字段权限
* @param dataAssistDimension
*/
setDataAssistDimension(dataAssistDimension:string):void;
/**
* 设置权限控制辅字段
* @param dataAssistDimensionField
*/
setDataAssistDimensionField(dataAssistDimensionField:string):void;
/**
* 设置主字段权限
* @param dataDimension
*/
setDataDimension(dataDimension:string):void;
/**
* 设置权限控制主字段
* @param dataDimensionField
*/
setDataDimensionField(dataDimensionField:string):void;
/**
* 设置权限类型
* @param dimension
*/
setDimension(dimension:string):void;
/**
* 设置该权限对象是否是new出来的空对象
* @param isEmptyObject
*/
setEmptyObject(isEmptyObject:boolean):void;
/**
* 设置是否停用数据权限
* @param isForbidDataPerm
*/
setForbidDataPerm(isForbidDataPerm:boolean):void;
/**
* 设置权限发布应用
* @param publishApps
*/
setPublishApps(publishApps:$.java.util.List):void;
}
type PermissionControlType_T = $.java.io.Serializable & PermissionControlType_S & PermissionControlType$;
interface PermissionControlType extends PermissionControlType_T {
}
interface IFrameMessage_S {
}
type IFrameMessage_ST = $.java.io.Serializable & IFrameMessage_S;
interface IFrameMessage_C extends IFrameMessage_ST {
/**
* 构造函数
*/
new():IFrameMessage;
/**
* 构造函数
* @param type
* @param origin
* @param content
*/
new(type_arg:string,origin:string,content:any):IFrameMessage;
}
interface IFrameMessage$ {
/**
* 获取内容
* @return
*/
getContent():any;
/**
* 获取origin
* @return
*/
getOrigin():string;
/**
* 获取类型
* @return
*/
getType():string;
/**
* 设置内容
* @param content
*/
setContent(content:any):void;
/**
* 设置origin
* @param origin
*/
setOrigin(origin:string):void;
/**
* 设置类型
* @param type
*/
setType(type_arg:string):void;
}
type IFrameMessage_T = $.java.io.Serializable & IFrameMessage_S & IFrameMessage$;
interface IFrameMessage extends IFrameMessage_T {
}
interface Tips_S {
readonly Bill:string;
readonly Tab:string;
readonly Text:string;
readonly Warp:string;
/**
* 创建一个链接数据对象
*
* @param tipsLink
* @return
*/
createLinkData(tipsLink:$.java.util.List):$.java.util.List;
/**
* 创建一个链接数据对象
* @param tipsLink
* @return
*/
createLinkData(tipsLink:TipsLink):$.java.util.List;
/**
* 插入链接占位符
* @param index
* @return
*/
insertLinkPlaceholder(index:number):string;
}
type Tips_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.java.io.Serializable & Tips_S;
interface Tips_C extends Tips_ST {
/**
* 构造函数
*/
new():Tips;
/**
* 构造函数
* @param type 显示类型
* @param billno 表单id
*/
new(type_arg:string,billno:string):Tips;
/**
* 构造函数
* @param type 显示类型
* @param title 纯文本title
* @param content 纯文本内容
* @param link 是否包含链接
* @param linkData 链接数据项
*/
new(type_arg:string,title:$.kd.bos.dataentity.entity.LocaleString,content:$.kd.bos.dataentity.entity.LocaleString,link:boolean,linkData:$.java.util.List):Tips;
}
interface Tips$ {
/**
* 获取表单id
* @return
*/
getBillno():string;
/**
* 获取纯文本内容
* @return
*/
getContent():$.kd.bos.dataentity.entity.LocaleString;
/**
* 获取小图标样式
* @return
*/
getIconClassName():string;
/**
* 获取链接数据项 (运行时)
*
* @return
*/
getLinkData():$.java.util.List;
getLinkTitles():$.java.util.List;
/**
* 获取链接数据项
*
* @return
*/
getOriLinkData():$.java.util.List;
/**
* 获取显示位置
* @return
*/
getPlace():string;
/**
* 获取纯文本title
* @return
*/
getTitle():$.kd.bos.dataentity.entity.LocaleString;
/**
* 获取触发类型
* @return
*/
getTriggerType():string;
/**
* 获取显示类型 text/bill
* @return
*/
getType():string;
/**
* 是否设置确认操作开关
* @return
*/
isIsConfirm():boolean;
/**
* 是否包含链接
* @return
*/
isLink():boolean;
/**
* 是否显示小图标
* @return
*/
isShowIcon():boolean;
/**
* 设置表单id
* @param billno
*/
setBillno(billno:string):void;
/**
* 设置纯文本内容
* @param content
*/
setContent(content:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置小图标样式
* @param iconClassName
*/
setIconClassName(iconClassName:string):void;
/**
* 设置确认操作开关
* @param isConfirm
*/
setIsConfirm(isConfirm:boolean):void;
/**
* 设置是否包含链接
* @param link
*/
setLink(link:boolean):void;
/**
* 设置链接数据项
* @param linkData
*/
setLinkData(linkData:$.java.util.List):void;
setLinkTitles(linkTitles:$.java.util.List):void;
/**
* 设置链接数据项
* @param linkData
*/
setOriLinkData(linkData:$.java.util.List):void;
/**
* 设置显示位置
* @param place
*/
setPlace(place:string):void;
/**
* 设置是否显示小图标
* @param showIcon
*/
setShowIcon(showIcon:boolean):void;
/**
* 设置纯文本title
* @param title
*/
setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置触发类型
* @param triggerType
*/
setTriggerType(triggerType:string):void;
/**
* 设置显示类型 text/bill
* @param type
*/
setType(type_arg:string):void;
}
type Tips_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & Tips_S & Tips$;
interface Tips extends Tips_T {
}
interface ValueMapItem_S {
}
type ValueMapItem_ST = $.java.io.Serializable & ValueMapItem_S;
interface ValueMapItem_C extends ValueMapItem_ST {
/**
* 构造函数
*/
new():ValueMapItem;
/**
* 构造函数
*
* @param imageKey
* 下拉项标识
* @param value
* 下拉项值
* @param name
* 下拉项名称
*/
new(imageKey:string,value:string,name:$.kd.bos.dataentity.entity.LocaleString):ValueMapItem;
/**
* 构造函数
*
* @param imageKey
* 下拉项标识
* @param value
* 下拉项值
* @param name
* 下拉项名称
* @param itemVisible
* 下拉项选项可见性
*/
new(imageKey:string,value:string,name:$.kd.bos.dataentity.entity.LocaleString,itemVisible:boolean):ValueMapItem;
}
interface ValueMapItem$ {
/**
* 创建下拉项
* @return
*/
createComboItem():$.java.util.Map;
/**
* 获取下拉项标识
* @return 下拉项标识
*/
getImageKey():string;
/**
* 获取下拉项名称
* @return 下拉项名称
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 获取下拉项值
* @return 下拉项值
*/
getValue():string;
/**
* 选项是否可见
* @return
*/
isItemVisible():boolean;
/**
* 设置下拉项标识
* @param imageKey 下拉项标识
*/
setImageKey(imageKey:string):void;
/**
* 设置选项是否可见
* @param itemVisible
*/
setItemVisible(itemVisible:boolean):void;
/**
* 设置下拉项名称
* @param name
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置下拉项值
* @param value
*/
setValue(value:string):void;
}
type ValueMapItem_T = $.java.io.Serializable & ValueMapItem_S & ValueMapItem$;
interface ValueMapItem extends ValueMapItem_T {
}
}
namespace kd.bos.entity.api{
interface ApiResult_S {
ex(ex:$.java.lang.Throwable):ApiResult;
ex(ex:$.java.lang.Throwable,showStackTrace:boolean):ApiResult;
fail(msg:string):ApiResult;
fail(msg:string,errorCode:string):ApiResult;
fromMap(ret:$.java.util.Map):ApiResult;
success(data:any):ApiResult;
toMap(result:ApiResult):$.java.util.Map;
}
interface ApiResult_C extends ApiResult_S {
new():ApiResult;
}
interface ApiResult$ {
getData():any;
getErrorCode():string;
getHttpStatus():number;
getMessage():string;
getSuccess():boolean;
setData(data:any):void;
setErrorCode(errorCode:string):void;
setHttpStatus(httpStatus:number):void;
setMessage(message:string):void;
setSuccess(success:boolean):void;
}
type ApiResult_T = ApiResult_S & ApiResult$;
interface ApiResult extends ApiResult_T {
}
interface AICommand_S {
}
interface AICommand_C extends AICommand_S {
new():AICommand;
}
interface AICommand$ {
getAppId():string;
getCommand():string;
getOpenId():string;
getParameter():$.java.util.Map;
getTaskId():string;
getToken():string;
setAppId(app:string):void;
setCommand(cmd:string):void;
setOpenId(openid:string):void;
setParameter(param:$.java.util.Map):void;
setTaskId(taskId:string):void;
setToken(token:string):void;
}
type AICommand_T = AICommand_S & AICommand$;
interface AICommand extends AICommand_T {
}
interface WebApiContext_S {
}
type WebApiContext_ST = $.java.io.Serializable & WebApiContext_S;
interface WebApiContext_C extends WebApiContext_ST {
new():WebApiContext;
}
interface WebApiContext$ {
Cookie:string;
appId:string;
getAppId():string;
getCookie():string;
getData():$.java.util.Map;
getQueryString():$.java.util.Map;
getRequestHeaders():$.java.util.Map;
getRequestURL():string;
setAppId(arg0:string):void;
setCookie(arg0:string):void;
setData(arg0:$.java.util.Map):void;
setQueryString(arg0:$.java.util.Map):void;
setRequestHeaders(arg0:$.java.util.Map):void;
setRequestURL(arg0:string):void;
}
type WebApiContext_T = $.java.io.Serializable & WebApiContext_S & WebApiContext$;
interface WebApiContext extends WebApiContext_T {
}
interface AICommandParameter_S {
readonly ACTION:string;
readonly BILLNO:string;
readonly BILLNO_SEARCH_LIMIT:string;
readonly INTERVAL:string;
readonly IS_AI_VOICE_REQUEST:string;
readonly OPEN_MENU_BILLNO:string;
readonly OPEN_MENU_BIZAPPID:string;
readonly OPEN_MENU_FORMID:string;
readonly OPEN_MENU_MENUID:string;
readonly OPEN_MENU_PKID:string;
readonly PARAMETERS:string;
readonly REDIRECT_URL:string;
readonly SHOW_VOICE_MESSAGE:string;
readonly UINAME:string;
}
interface AICommandParameter_C extends AICommandParameter_S {
new():AICommandParameter;
}
interface AICommandParameter$ {
getFormId():string;
getPara():$.java.util.Map;
getParameter(arg0:string):any;
setFormId(arg0:string):void;
setPara(arg0:$.java.util.Map):void;
setParameter(arg0:string,arg1:any):void;
}
type AICommandParameter_T = AICommandParameter_S & AICommandParameter$;
interface AICommandParameter extends AICommandParameter_T {
}
interface AsynMessage_S {
}
type AsynMessage_ST = $.java.io.Serializable & AsynMessage_S;
interface AsynMessage_C extends AsynMessage_ST {
new():AsynMessage;
}
interface AsynMessage$ {
getBody():string;
getMessageType():string;
setBody(arg0:string):void;
setMessageType(arg0:string):void;
}
type AsynMessage_T = $.java.io.Serializable & AsynMessage_S & AsynMessage$;
interface AsynMessage extends AsynMessage_T {
}
}
namespace kd.bos.entity.basedata{
interface BaseDataResponse_S {
}
type BaseDataResponse_ST = $.java.io.Serializable & BaseDataResponse_S;
interface BaseDataResponse_C extends BaseDataResponse_ST {
new(success:boolean,errorMsg:string):BaseDataResponse;
}
interface BaseDataResponse$ {
/**
* 获取错误信息
*/
getErrorMsg():string;
/**
* 获取返回详细信息
*/
getResult():$.java.util.Map;
/**
* 获取是否成功
*/
isSuccess():boolean;
/**
* 设置错误信息
*/
setErrorMsg(errorMsg:string):void;
/**
* 设置返回详细信息
*/
setResult(result:$.java.util.Map):void;
/**
* 设置是否成功
*/
setSuccess(success:boolean):void;
}
type BaseDataResponse_T = $.java.io.Serializable & BaseDataResponse_S & BaseDataResponse$;
interface BaseDataResponse extends BaseDataResponse_T {
}
interface AssignQueryResponse_S {
}
type AssignQueryResponse_ST = $.java.io.Serializable & AssignQueryResponse_S;
interface AssignQueryResponse_C extends AssignQueryResponse_ST {
new():AssignQueryResponse;
}
interface AssignQueryResponse$ {
getData():$.java.util.Map;
getErrorMsg():string;
getErrorMsgInfo():$.java.util.Map;
isSuccess():boolean;
setData(arg0:$.java.util.Map):void;
setErrorMsg(arg0:string):void;
setErrorMsgInfo(arg0:$.java.util.Map):void;
setSuccess(arg0:boolean):void;
}
type AssignQueryResponse_T = $.java.io.Serializable & AssignQueryResponse_S & AssignQueryResponse$;
interface AssignQueryResponse extends AssignQueryResponse_T {
}
}
namespace kd.bos.entity.botp{
interface ConvertRuleKeyPair_S {
}
interface ConvertRuleKeyPair_C extends ConvertRuleKeyPair_S {
new(arg0:string,arg1:string):ConvertRuleKeyPair;
}
interface ConvertRuleKeyPair$ {
getSourceEntityNumber():string;
getTargetEntityNumber():string;
}
type ConvertRuleKeyPair_T = ConvertRuleKeyPair_S & ConvertRuleKeyPair$;
interface ConvertRuleKeyPair extends ConvertRuleKeyPair_T {
}
enum ConvertOpType {
Push,
SpecPush,
BeforeDraw,
Draw,
SpecDraw
}
enum LinkRecordType {
Link,
OnlyCopy
}
interface AttachmentPanelMapPolicy_S {
}
interface AttachmentPanelMapPolicy_C extends AttachmentPanelMapPolicy_S {
new():AttachmentPanelMapPolicy;
}
interface AttachmentPanelMapPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
getItems():$.java.util.List;
setItems(items:$.java.util.List):void;
}
type AttachmentPanelMapPolicy_T = AttachmentPanelMapPolicy_S & AttachmentPanelMapPolicy$;
interface AttachmentPanelMapPolicy extends AttachmentPanelMapPolicy_T {
}
enum GroupByMode {
AllInOne,
OneToOne,
GroupByField
}
enum ExcessCheckType {
StrictControl,
CanExcessOneTime,
CanExcellAlways,
SelectByFormula
}
enum FieldConvertType {
SourceField,
Formula,
ByCondition,
CONSTANT
}
enum FieldSumType {
First,
Sum,
Average,
Count,
Max,
Min,
Join,
Date_Max,
Date_Min
}
interface PlugInPolicy_S {
}
interface PlugInPolicy_C extends PlugInPolicy_S {
/**
* 默认构造函数
*/
new():PlugInPolicy;
}
interface PlugInPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 转换插件
* @return
*/
getPlugins():$.java.util.List;
setPlugins(plugins:$.java.util.List):void;
}
type PlugInPolicy_T = PlugInPolicy_S & PlugInPolicy$;
interface PlugInPolicy extends PlugInPolicy_T {
}
interface CRCondition_S {
}
type CRCondition_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.botp.CRFormula & CRCondition_S;
interface CRCondition_C extends CRCondition_ST {
new():CRCondition;
}
interface CRCondition$ {
/**
* 合并条件表格、手书条件,生成一条完整的表达式
*
* @param mainType
* @return
*/
buildFullFormula(mainType:$.kd.bos.entity.MainEntityType):string;
/**
* 合并条件表格、手书条件,生成一条完整的表达式
*
* @param mainType
* @param timeService 解析条件需要用到的时间服务(解析"今天"等比较符)
* @param userService 解析条件需要用到的用户服务(解析"我的部门"等比较符)
* @return
*/
buildFullFormula(mainType:$.kd.bos.entity.MainEntityType,userService:$.kd.bos.service.IUserService,timeService:$.kd.bos.service.ITimeService):string;
/**
* 在条件表格中配置的内容
* @return
*/
getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
/**
* 输出FilterCondition对象的序列化字符串
*
* @return
* @remark
* 第一版设计时,直接对FilterCondition属性按条件行序列化、差量化,
* 但在原始条件FilterCondition包含了括号和"或者"时,扩展规则改动了原始条件行,重新组织了括号,
* 后续对原始条件进行升级,在条件中间插入了新的条件行,
* 合并扩展条件行时,括号可能不匹配,逻辑含义也变的完全不一样,
* 基于此,进行了第二版设计:
* 序列化时,把FilterCondition转成字符串,做差量化时,按照字符串进行差量化,整体替换
* 反序列化时,默认恢复FilterCondition对象本身(与V1版本兼容),如果有字符串格式条件(V2版本),则以字符串条件内容替换掉FilterCondition
* 改版后:
* 序列化:同时序列化FilterCondition、FilterContion.toString()
* 反序列化原始:先分别恢复FilterCondition、FilterString属性值,在序列化完成事件endInit中,用FilterString内容替换掉原始的FilterCondition
* 反序列化扩展:先恢复差量化的FilterCondion,再恢复差量化的FilterString,在序列化完成事件endInit中,用FilterString替换掉原始的FilterConditon
* 因此,最终优先取扩展规则中的FilterString为准,其次取扩展规则中的FilterCondition个性化,再次取原始规则中的FilterString,最后取原始规则FilterConditon
*/
getFilterString():string;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
/**
* 获取插件执行顺序,数值小的先执行
*
* @return 执行顺序
*/
getSeq():number;
isEnabled():boolean;
setEnabled(enabled:boolean):void;
/**
* 设置/更新表格条件
*
* @param newFilterCondition
*/
setFilterCondition(newFilterCondition:$.kd.bos.entity.filter.FilterCondition):void;
setFilterString(filterString:string):void;
/**
* 自动产生的唯一标识
* @param value
*/
setId(value:string):void;
/**
* 执行顺序
* @param seq
*/
setSeq(seq:number):void;
}
type CRCondition_T = $.kd.bos.entity.botp.CRFormula & $.kd.bos.dataentity.entity.ISupportInitialize & CRCondition_S & CRCondition$;
interface CRCondition extends CRCondition_T {
}
interface BillTypeMapItem_S {
readonly PushType_NoSpec:string;
readonly PushType_None:string;
readonly PushType_Random:string;
readonly PushType_Spec:string;
readonly SourceType_All:string;
readonly SourceType_Others:string;
readonly SourceType_Spec:string;
}
interface BillTypeMapItem_C extends BillTypeMapItem_S {
new():BillTypeMapItem;
}
interface BillTypeMapItem$ {
/**
* 自动产生的唯一标识
* @return
*/
getId():string;
/**
* 下推类型:指定类型、任意类型、不允许下推、不允许下推指定类型
* @return
*/
getPushType():string;
/**
* 执行顺序。按顺序确定目标单单据类型,找到即止
* @return
*/
getSeq():number;
/**
* 源单单据类型
* @return
*/
getSourceBillTypeId():long;
/**
* 源单类型名称:不序列化,仅用于翻译本条规则
* @return
*/
getSourceBillTypeName():string;
/**
* 源单类型:全部、其他、指定类型
* @return
*/
getSourceType():string;
/**
* 目标单单据类型,可能是具体单据类型id,或者是特殊选项,如默认、随机、无
* @return
*/
getTargetBillTypeId():long;
/**
* 目标单单据类型名称,不序列化
* @return
*/
getTargetBillTypeName():string;
/**
* 当前映射条目是否配置完整有效? 无效的映射条目不被采用
* @return
*/
isValid():boolean;
setId(value:string):void;
setPushType(pushType:string):void;
setSeq(seq:number):void;
setSourceBillTypeId(sourceBillTypeId:long):void;
setSourceBillTypeName(sourceBillTypeName:string):void;
setSourceType(sourceType:string):void;
setTargetBillTypeId(targetBillTypeId:long):void;
setTargetBillTypeName(targetBillTypeName:string):void;
}
type BillTypeMapItem_T = BillTypeMapItem_S & BillTypeMapItem$;
interface BillTypeMapItem extends BillTypeMapItem_T {
}
interface ConvertPath_S {
}
interface ConvertPath_C extends ConvertPath_S {
new():ConvertPath;
}
interface ConvertPath$ {
/**
* 应用Id
* @return
*/
getBizAppId():string;
/**
* 源单应用Id
* @return
*/
getSourceBizAppId():string;
/**
* 源单主实体名称
* @return
*/
getSourceEntityName():string;
/**
* 源单主实体编码
* @return
*/
getSourceEntityNumber():string;
/**
* 目标单应用id
* @return
*/
getTargetBizAppId():string;
/**
* 目标单主实体名称
* @return
*/
getTargetEntityName():string;
/**
* 目标单主实体编码
* @return
*/
getTargetEntityNumber():string;
/**
* 设置应用Id
* @param bizAppId
*/
setBizAppId(bizAppId:string):void;
/**
* 设置源单应用Id
* @param sourceBizAppId
*/
setSourceBizAppId(sourceBizAppId:string):void;
/**
* 设置源单主实体名称
* @param sourceEntityName 源单主实体名称
*/
setSourceEntityName(sourceEntityName:string):void;
/**
* 设置源单主实体编码
* @param sourceEntityNumber 源单主实体编码
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 设置目标单应用id
* @param targetBizAppId
*/
setTargetBizAppId(targetBizAppId:string):void;
/**
* 设置目标单主实体名称
* @param targetEntityName 目标单主实体名称
*/
setTargetEntityName(targetEntityName:string):void;
/**
* 设置目标单主实体编码
* @param targetEntityNumber 目标单主实体编码
*/
setTargetEntityNumber(targetEntityNumber:string):void;
}
type ConvertPath_T = ConvertPath_S & ConvertPath$;
interface ConvertPath extends ConvertPath_T {
}
interface FieldMapItem_S {
}
type FieldMapItem_ST = $.kd.bos.dataentity.entity.ISupportInitialize & FieldMapItem_S;
interface FieldMapItem_C extends FieldMapItem_ST {
/**
* 默认构造函数
*/
new():FieldMapItem;
}
interface FieldMapItem$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,fieldMap:$.java.util.Map):void;
/**
* 按常量取值
* 去常量Id,支持基础资料与下拉列表
* @return
*/
getConstant():$.kd.bos.entity.botp.CRFormula;
/**
* 输出字段取值模式的名称,用于序列化
* @return
*/
getConvertType():string;
/**
* 输出(字段取值模式+取值公式hashCode)合并成的字符串,由序列化自动调用
*
* @return
*/
getConvertType2():string;
/**
* 字段取值模式:取源单字段、取计算公式、按条件取值
* @return
*/
getFieldConvertType():FieldConvertType;
/**
* 多行合并时,字段值合并模式:取第一行,合计、平均、计数、最大、最小、拼接
* @return
*/
getFieldSumType():FieldSumType;
/**
* 计算公式
* @return
*/
getFormula():$.kd.bos.entity.botp.CRFormula;
/**
* 源单字段标识
*
* @return :
*
* @remark:
*
* 源单字段标识有如下几种格式:
* 1. id: 取单据主键;
* 2. entityKey.id : 取单据体主键;
* 3. entityKey.seq : 取单据体行序号;
* 4. fieldKey : 取源单字段;
* 5. fieldKey.property :取基础资料字段的属性
* 6. fieldKey.property.subProperty : 取基础资料字段的嵌套属性
*/
getSourceFieldKey():string;
/**
* 字段值合并模式,用于序列化
* @return
*/
getSumType():string;
/**
* 目标字段
* @return
*/
getTargetFieldKey():string;
/**
* 输出按条件取数设置的整体json字符串
*
* @return
* @remark
* 输出字段取值映射时,把按条件取值设置整体打包序列化为字符串;
* 现场扩展调整了按条件取值中的条件或取值公式后,会输出完整的按条件取值设置,
* 后续预置规则升级,还是会以现场扩展配置的取值条件和计算公式为准,不会被覆盖,各条件执行优先级得到保障
*/
getValByCondiionsString():string;
/**
* 按条件取值
* @return
*/
getValByConditions():CRValByConditions;
/**
* 如果目标组织没有分配此基础资料,是否中断下推过程?
* @return
* @remark:
* 如果不中断,则填写基础资料字段为空;
*/
isBreakForNoDistribute():boolean;
/**
* 追加选单时,是否按此字段过滤数据,即不允许追加选择上一次所选之外的数据
* @return
*/
isDrawAgainFilter():boolean;
/**
* 选单时,是否按此字段过滤数据
* @return
*/
isDrawFilter():boolean;
/**
* 是否仅携带已审核的数据
* @return
*/
isOnlyTakeApprovedData():boolean;
/**
* 是否仅携带未禁用的数据
* @return
*/
isOnlyTakeUsedData():boolean;
/**
* 判断字段映射配置是否完整有效:无效的规则,不能在运行时被使用
* 判断标准:取值模式和取值公式一致
* @return
*/
isValid():boolean;
setBreakForNoDistribute(breakForNoDistribute:boolean):void;
setConstant(constant:$.kd.bos.entity.botp.CRFormula):void;
setConvertType(convertType:string):void;
setConvertType2(convertType2:string):void;
setDrawAgainFilter(drawAgainFilter:boolean):void;
setDrawFilter(drawFilter:boolean):void;
setFieldConvertType(fieldConvertType:FieldConvertType):void;
setFieldSumType(fieldSumType:FieldSumType):void;
setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
setOnlyTakeApprovedData(onlyTakeApprovedData:boolean):void;
setOnlyTakeUsedData(onlyTakeUsedData:boolean):void;
setSourceFieldKey(sourceFieldKey:string):void;
setSumType(sumType:string):void;
setTargetFieldKey(targetFieldKey:string):void;
setValByCondiionsString(valByCondiionsString:string):void;
setValByConditions(valByConditions:CRValByConditions):void;
}
type FieldMapItem_T = $.kd.bos.dataentity.entity.ISupportInitialize & FieldMapItem_S & FieldMapItem$;
interface FieldMapItem extends FieldMapItem_T {
}
interface WriteBackRuleElement_S {
}
interface WriteBackRuleElement_C extends WriteBackRuleElement_S {
/**
* 默认构造函数:给属性设置默认值
*/
new():WriteBackRuleElement;
}
interface WriteBackRuleElement$ {
/**
* 检查配置是否合理
*
* @param checkResult
* @return
*/
check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
/**
* 回滚反写后,恢复的源单关闭状态值
* @return
*/
getBillCloseFieldFailStatus():string;
/**
* 源单整单关闭状态字段
* @return
*/
getBillCloseFieldKey():string;
/**
* 达成整单关闭条件后,源单关闭状态值
* @return
*/
getBillCloseFieldSuccesStatus():string;
/**
* 源单整体关闭方式:AllRowsClosed(0),OneRowClosed(1);
* @return
*/
getBillCloseType():BillCloseType;
/**
* 业务规则:在反写完毕后,对源单其他字段进行同步刷新
*
* @return
*/
getBizRules():$.java.util.List;
/**
* 运行时版本,格式:yyyy-MM-dd hh:mm:ss
* @return
*/
getCacheVersion():string;
/**
* 最近一次检查版本时间
* @return
*/
getCheckVersionTimeMillis():long;
/**
* 源单行关闭条件
* @return
*/
getCloseCheckCondition():CRCondition;
getCloseType():string;
/**
* 用户调整的状态:0 = 草稿;1 = 启用;2 = 禁用
* @return
* @remark
* 用户状态的存取:
* 1. 使用单独的物理表格,存储用户状态 t_botp_writeBackRule_S.fcuststatus;
* 2. 读取规则元数据插件WriteBackRuleMetaDaoPlugin,使用物理字段中状态值,替换本对象从xml中读取的状态值;
* 3. 存储规则时,在元数据插件中,把本对象中的状态,同步更新到用户状态表格中;
* 4. 加载运行时反写规则时,WriteBackRuleMetaDaoPlugin插件,去掉已禁用的扩展;
* 5. 打包安装规则时,不打包用户状态字段值,避免覆盖现场用户设置的状态
*/
getCustStatus():string;
getDistribute():string;
/**
* 合并后反写超量分配方式:TopDown = 0, Weight = 1
* @return
*/
getDistributeType():DistributeType;
/**
* 回滚反写后,恢复的源单行关闭状态值
* @return
*/
getEntryCloseFieldFailStatus():string;
/**
* 源单行关闭状态字段
* @return
*/
getEntryCloseFieldKey():string;
/**
* 达成关闭条件后,源单行关闭状态值
* @return
*/
getEntryCloseFieldSuccesStatus():string;
getExcessCheck():string;
/**
* 超额检查公式
* @return
*/
getExcessCheckConditon():CRCondition;
/**
* 超额提示信息
* @return
*/
getExcessCheckMessage():$.kd.bos.dataentity.entity.LocaleString;
/**
* 超额检查模式:StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
* @return
*/
getExcessCheckType():ExcessCheckType;
getExcessFalse():string;
/**
* 条件为假选择的超额控制模式
* @return
*/
getExcessSelectFalse():ExcessCheckType;
/**
* 条件为真时选择的超额控制模式
* @return
*/
getExcessSelectTrue():ExcessCheckType;
getExcessTrue():string;
/**
* 超额模式选择条件
* @return
*/
getExcessTypeSelectCondition():CRCondition;
getExtElements():$.java.util.List;
/**
* 扩展反写规则的版本:系统在保存扩展规则时,自动更新
*
* @return
*/
getExtVersion():long;
/**
* 反写公式集合
* @return
*/
getFormulas():$.java.util.List;
/**
* 唯一标识:自动产生;对外号称ruleId
* @return
*/
getId():string;
/**
* 规则的名称
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 执行反写的操作;本属性专用于序列化
* @return
*/
getOp():string;
/**
* 执行反写的操作:Save = 0, Audit = 1
* @return
*/
getOpType():WriteBackOpType;
/**
* 原生反写规则的版本:系统自动产生,每次保存时,都自动更新;
* @return
* @remark
*
* 单据保存执行反写时,会把当时使用的反写规则,压入规则版本库,以作为后续冲销数据依据;
* 产生的反写快照,记录的是反写规则版本,而不是反写规则标识;
*
* 此属性值,在原生的规则保存时更新;
* 与元数据对象中的时间版本FVersion,不是一回事
*/
getOriVersion():long;
/**
* 源头单据
* @return
*/
getSourceEntityNumber():string;
/**
* 出厂时的状态:0 = 正常;1 = 禁用;出厂时的禁用状态最优先
* @return
* @remark
* 系统出厂状态的存取:
* 1. 通过物理表格字段存储系统出厂状态,忽略XML中的值及其差量
* 2. 暂时不提供用户修改出厂状态的入口(只能预插SQL语句更改),因此,忽略掉用户自行扩展的规则状态,不考虑差量化
* 3. 取数时,使用规则对应的出厂状态值,直接替换XML中的值
* 4. 存储时,把规则的出厂状态值,存回字段
* 5. 上述存取功能,通过DesignWriteBackRuleMeta实体对象实现
*/
getSysStatus():string;
/**
* 下游单据
* @return
*/
getTargetEntityNumber():string;
/**
* 判断反写规则是否正常启用
* @return
*/
isNormual():boolean;
/**
* 回滚反写后,恢复的源单关闭状态值
* @param billCloseFieldFailStatus
*/
setBillCloseFieldFailStatus(billCloseFieldFailStatus:string):void;
/**
* 源单整单关闭状态字段
* @param billCloseFieldKey
*/
setBillCloseFieldKey(billCloseFieldKey:string):void;
/**
* 达成整单关闭条件后,源单关闭状态值
* @param billCloseFieldSuccesStatus
*/
setBillCloseFieldSuccesStatus(billCloseFieldSuccesStatus:string):void;
/**
* 源单整体关闭方式:AllRowsClosed(0),OneRowClosed(1);
* @param billCloseType
*/
setBillCloseType(billCloseType:BillCloseType):void;
/**
* 运行时版本,格式:yyyy-MM-dd hh:mm:ss
* @param cacheVersion
*/
setCacheVersion(cacheVersion:string):void;
/**
* 最近一次检查版本时间
* @param checkVersionTimeMillis
*/
setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
/**
* 源单行关闭条件
* @param closeCheckCondition
*/
setCloseCheckCondition(closeCheckCondition:CRCondition):void;
setCloseType(billCloseType:string):void;
setCustStatus(custStatus:string):void;
setDistribute(distributeType:string):void;
/**
* 合并后反写超量分配方式:TopDown = 0, Weight = 1
* @param distributeType
*/
setDistributeType(distributeType:DistributeType):void;
/**
* 回滚反写后,恢复的源单行关闭状态值
* @param entryCloseFieldFailStatus
*/
setEntryCloseFieldFailStatus(entryCloseFieldFailStatus:string):void;
/**
* 源单行关闭状态字段
* @param entryCloseFieldKey
*/
setEntryCloseFieldKey(entryCloseFieldKey:string):void;
/**
* 达成关闭条件后,源单行关闭状态值
* @param entryCloseFieldSuccesStatus
*/
setEntryCloseFieldSuccesStatus(entryCloseFieldSuccesStatus:string):void;
setExcessCheck(excessCheckType:string):void;
/**
* 超额检查公式
* @param excessCheckConditon
*/
setExcessCheckConditon(excessCheckConditon:CRCondition):void;
/**
* 超额提示信息
* @param excessCheckMessage
*/
setExcessCheckMessage(excessCheckMessage:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 超额检查模式:StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
* @param excessCheckType
*/
setExcessCheckType(excessCheckType:ExcessCheckType):void;
setExcessFalse(excessSelectFalse:string):void;
/**
* 条件为假选择的超额控制模式
* @param excessSelectFalse
*/
setExcessSelectFalse(excessSelectFalse:ExcessCheckType):void;
/**
* 条件为真时选择的超额控制模式
* @param excessSelectTrue
*/
setExcessSelectTrue(excessSelectTrue:ExcessCheckType):void;
setExcessTrue(excessSelectTrue:string):void;
/**
* 超额模式选择条件
* @param excessTypeSelectCondition
*/
setExcessTypeSelectCondition(excessTypeSelectCondition:CRCondition):void;
setExtElements(extElements:$.java.util.List):void;
/**
* 扩展反写规则的版本
* @param extVersion
*/
setExtVersion(extVersion:long):void;
setId(id:string):void;
/**
* 规则的名称
* @param name
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setOp(op:string):void;
/**
* 执行反写的操作:Save = 0, Audit = 1
* @param opType
*/
setOpType(opType:WriteBackOpType):void;
setOriVersion(oriVersion:long):void;
/**
* 源头单据
* @param sourceEntityNumber
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
setSysStatus(sysStatus:string):void;
/**
* 下游单据
* @param targetEntityNumber
*/
setTargetEntityNumber(targetEntityNumber:string):void;
}
type WriteBackRuleElement_T = WriteBackRuleElement_S & WriteBackRuleElement$;
interface WriteBackRuleElement extends WriteBackRuleElement_T {
}
enum WriteBackType {
Add,
Lessen,
Cover
}
interface BillTypeMapPolicy_S {
}
interface BillTypeMapPolicy_C extends BillTypeMapPolicy_S {
new():BillTypeMapPolicy;
}
interface BillTypeMapPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 单据类型映射配置项
* @return
*/
getItems():$.java.util.List;
setItems(items:$.java.util.List):void;
}
type BillTypeMapPolicy_T = BillTypeMapPolicy_S & BillTypeMapPolicy$;
interface BillTypeMapPolicy extends BillTypeMapPolicy_T {
}
enum BillCloseType {
AllRowsClosed,
OneRowClosed
}
interface CRValByCondition_S {
}
interface CRValByCondition_C extends CRValByCondition_S {
new():CRValByCondition;
}
interface CRValByCondition$ {
/**
* 检查配置是否合理
*
* @param mainType
* @param checkResult
* @return
*/
check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 取值条件:如果为空,表示不设条件
* @return
*/
getCondition():CRCondition;
/**
* 取值公式:条件满足则取此计算公式结果
* @return
*/
getFormula():$.kd.bos.entity.botp.CRFormula;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
/**
* 是否是按条件取值中的常量取值
* 0否 1是
* @return
*/
getIfconstant():number;
/**
* 取值方式toString,用于序列化
* @return
*/
getSelect():string;
/**
* 本项取值方式:
* 1. 严格按条件取值:只有条件满足,才会选用本项;条件为空,认为满足条件
* 2. 其他情况:不判断条件,直接选用本项;适用于放在最后,进行兜底
* @return
*/
getSelectType():CRValByConditionType;
/**
* 选择顺序:
* 取值时,从前往后,逐项比较条件,条件满足时,即选中返回;后面的选择项,不再分析;
* 因此,选择顺序,对取值结果起到非常关键的作用
* @return
*/
getSeq():number;
setCondition(condition:CRCondition):void;
setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
setId(value:string):void;
setIfconstant(ifconstant:number):void;
setSelect(name:string):void;
setSelectType(selectType:CRValByConditionType):void;
setSeq(seq:number):void;
}
type CRValByCondition_T = CRValByCondition_S & CRValByCondition$;
interface CRValByCondition extends CRValByCondition_T {
}
interface FilterPolicy_S {
}
interface FilterPolicy_C extends FilterPolicy_S {
/**
* 默认构造函数
*/
new():FilterPolicy;
}
interface FilterPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 启用高级条件
* @return
*/
getAdvCondition():boolean;
/**
* 条件对象
* @return
*/
getCondition():CRCondition;
/**
* 条件对象
* @return
*/
getConditionList():$.java.util.List;
setAdvCondition(advCondition:boolean):void;
setCondition(condition:CRCondition):void;
setConditionList(conditionList:$.java.util.List):void;
}
type FilterPolicy_T = FilterPolicy_S & FilterPolicy$;
interface FilterPolicy extends FilterPolicy_T {
}
enum CRValByConditionType {
ByCondition,
Others
}
interface GroupByPolicy_S {
}
interface GroupByPolicy_C extends GroupByPolicy_S {
/**
* 默认构造函数
*/
new():GroupByPolicy;
}
interface GroupByPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 分单依赖的字段:只有按字段分单模式下,这个属性才会赋值
*/
getGroupByField():string;
/**
* 单据体行合并依赖字段:只有按字段合并模式下,这个属性才会赋值
* @return
*/
getGroupByField2():string;
/**
* 单据体行合并依赖字段:只有按字段合并模式下,这个属性才会赋值
* @return
*/
getGroupByField3():string;
/**
* 单据分单方式:一对一、全部合并、按字段分单
* @return
*/
getGroupByMode():GroupByMode;
/**
* 单据体行合并方式:一对一、全部合并、按字段合并
* @return
*/
getGroupByMode2():GroupByMode;
/**
* 子单据体行合并方式:一对一、全部合并、按字段合并
* @return
*/
getGroupByMode3():GroupByMode;
/**
* 分单模式,用于序列化
*
* @return
* @remark
* 枚举类型属性,序列化、反序列化时,非常麻烦;特别定义一个字符串类型属性,专用于序列化
*/
getGroupMode():string;
/**
* 单据体行合并模式,用于序列化
*
* @return
*/
getGroupMode2():string;
/**
* 子单据体行合并方式,用于序列化
*
* @return
*/
getGroupMode3():string;
/**
* 分单依赖的字段
* @param groupByField
*/
setGroupByField(groupByField:string):void;
/**
* 单据体行合并依赖字段
* @param groupByField2
*/
setGroupByField2(groupByField2:string):void;
/**
* 单据体行合并依赖字段
* @param groupByField3
*/
setGroupByField3(groupByField3:string):void;
/**
* 单据分单方式:一对一、全部合并、按字段分单
* @param groupByMode
*/
setGroupByMode(groupByMode:GroupByMode):void;
/**
* 单据体行合并方式
* @param groupByMode2
*/
setGroupByMode2(groupByMode2:GroupByMode):void;
/**
* 子单据体行合并方式
* @param groupByMode3
*/
setGroupByMode3(groupByMode3:GroupByMode):void;
/**
* 分单模式,用于序列化
* @param groupMode
*/
setGroupMode(groupMode:string):void;
/**
* 单据体行合并模式,用于序列化
* @param groupMode
*/
setGroupMode2(groupMode:string):void;
/**
* 子单据体行合并方式
* @param groupMode
*/
setGroupMode3(groupMode:string):void;
}
type GroupByPolicy_T = GroupByPolicy_S & GroupByPolicy$;
interface GroupByPolicy extends GroupByPolicy_T {
}
interface LinkEntityPolicy_S {
}
interface LinkEntityPolicy_C extends LinkEntityPolicy_S {
/**
* 默认构造函数
*/
new():LinkEntityPolicy;
}
interface LinkEntityPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 关联关系记录类型:关联、仅复制
* @return
*/
getLinkRecordType():LinkRecordType;
/**
* 关联关系,用于序列化
* @return
*/
getLinkType():string;
/**
* 移动端选单操作,显示源单数据列表时,采用的源单布局。
* @return
*/
getMobSourceLayout():string;
/**
* 移动端端下推操作,显示目标单新增界面时,采用的目标单布局。
*/
getMobTargetLayout():string;
/**
* 来源单据关联主实体:可以是单据头、单据体、子单据体
* @return
* @remark:
* 以此实体追踪关联关系
*/
getSourceEntryKey():string;
/**
* PC端选单操作,显示源单数据列表时,采用的源单布局。
*/
getSourceLayout():string;
/**
* 来源单据子实体:可以是单据体、子单据体,取关联主实体的下属实体
*/
getSourceSubEntryKey():string;
/**
* 输出源单关联主实体及其父实体:校验数据筛选、数据分组策略中用到的源单字段,必须来自于关联主实体
* @param srcMainType
* @return
*/
getSrcLinkEntitys(srcMainType:$.kd.bos.entity.MainEntityType):$.java.util.HashSet;
/**
* 目标单据关联主实体:可以是单据头、单据体、子单据体,在此实体上,记录关联的源单信息
* @return
*/
getTargetEntryKey():string;
/**
* PC端下推操作,显示目标单新增界面时,采用的目标单布局。
*/
getTargetLayout():string;
/**
* 目标单据关联子实体:可以是单据体、子单据体,取关联主实体的下属实体
* @return
*/
getTargetSubEntryKey():string;
setLinkRecordType(linkRecordType:LinkRecordType):void;
setLinkType(linkType:string):void;
setMobSourceLayout(mobSourceLayout:string):void;
setMobTargetLayout(mobTargetLayout:string):void;
setSourceEntryKey(sourceEntryKey:string):void;
setSourceLayout(sourceLayout:string):void;
setSourceSubEntryKey(sourceSubEntryKey:string):void;
setTargetEntryKey(targetEntryKey:string):void;
setTargetLayout(targetLayout:string):void;
setTargetSubEntryKey(targetSubEntryKey:string):void;
}
type LinkEntityPolicy_T = LinkEntityPolicy_S & LinkEntityPolicy$;
interface LinkEntityPolicy extends LinkEntityPolicy_T {
}
enum DistributeType {
TopDown,
Weight
}
interface WriteBackFormula_S {
}
interface WriteBackFormula_C extends WriteBackFormula_S {
new():WriteBackFormula;
}
interface WriteBackFormula$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @return
*/
getCondition():CRCondition;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @return
*/
getFormula():$.kd.bos.entity.botp.CRFormula;
/**
* 反写条目标识,随机产生的长整数,绝不重复
* @return
*/
getId():long;
/**
* 反写条目执行顺序
* @return
*/
getSeq():number;
/**
* 反写源单字段:把反写值,追加到此字段上
* @return
*/
getSourceCommitFieldKey():string;
/**
* 反写方式:Add = 0, Lessen = 1, Cover = 2
* @return
*/
getWriteBackType():WriteBackType;
/**
* 反写方式类型
* @return
*/
getWriteType():string;
/**
* 是否禁用:可以临时禁用某条反写条目
* @return
*/
isDisabled():boolean;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @param condition
*/
setCondition(condition:CRCondition):void;
/**
* 是否禁用:可以临时禁用某条反写条目
* @param disabled
*/
setDisabled(disabled:boolean):void;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @param formula
*/
setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
/**
* 反写条目标识
* @param id
*/
setId(id:long):void;
/**
* 反写条目执行顺序
* @param seq
*/
setSeq(seq:number):void;
/**
* 反写源单字段:把反写值,追加到此字段上
* @param sourceCommitFieldKey
*/
setSourceCommitFieldKey(sourceCommitFieldKey:string):void;
/**
* 反写方式:Add = 0, Lessen = 1, Cover = 2
* @param writeBackType
*/
setWriteBackType(writeBackType:WriteBackType):void;
/**
* 反写方式 (字符串转换)
* @param writeType
*/
setWriteType(writeType:string):void;
}
type WriteBackFormula_T = WriteBackFormula_S & WriteBackFormula$;
interface WriteBackFormula extends WriteBackFormula_T {
}
interface ConvertRuleElement_S {
}
interface ConvertRuleElement_C extends ConvertRuleElement_S {
/**
* 构造函数
*/
new():ConvertRuleElement;
}
interface ConvertRuleElement$ {
/**
* 检查规则配置是否合理
*
* @param parentPoint 父检查点
* @param checkResult 输出检查结果
* @return
*/
check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):boolean;
/**
* 附件面板映射策略
* @return
*/
getAttachmentPanelMapPolicy():AttachmentPanelMapPolicy;
/**
* 单据类型映射策略
* @return
*/
getBillTypeMapPolicy():BillTypeMapPolicy;
/**
* 业务规则策略
*
* @return
*/
getBizRulePolicy():BizRulePolicy;
/**
* 运行时版本,格式:yyyy-MM-dd hh:mm:ss
*
* @return
*/
getCacheVersion():string;
/**
* 最近一次检查版本时间
*
* @return
*/
getCheckVersionTimeMillis():long;
getExtElements():$.java.util.List;
/**
* 主实体字段映射策略
*
* @return
*/
getFieldMapPolicy():FieldMapPolicy;
/**
* 过滤策略
*
* @return
*/
getFilterPolicy():FilterPolicy;
/**
* 分单合并策略
*
* @return
*/
getGroupByPolicy():GroupByPolicy;
/**
* 自动生成的唯一标识,永不改变
*
* @return
*/
getId():string;
/**
* 关联主实体策略
*
* @return
*/
getLinkEntityPolicy():LinkEntityPolicy;
/**
* 规则名称,用户输入
*
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 单据转换选项控制策略
* @return
*/
getOptionPolicy():OptionPolicy;
/**
* 插件策略
*
* @return
*/
getPlugInPolicy():PlugInPolicy;
/**
* 启动条件
*
* @return
*/
getRunCondition():CRCondition;
/**
* 源单实体编码
*
* @return
*/
getSourceEntityNumber():string;
/**
* 出厂时的状态:0 = 正常;1 = 禁用;出厂时的禁用状态最优先
* @return
* @remark
* 系统出厂状态的存取:
* 1. 通过物理表格字段存储系统出厂状态,忽略XML中的值及其差量
* 2. 暂时不提供用户修改出厂状态的入口(只能预插SQL语句更改),因此,忽略掉用户自行扩展的规则状态,不考虑差量化
* 3. 取数时,使用规则对应的出厂状态值,直接替换XML中的值
* 4. 存储时,把规则的出厂状态值,存回字段
* 5. 上述存取功能,通过DesignWriteBackRuleMeta实体对象实现
*/
getSysStatus():string;
/**
* 目标单实体编码
*
* @return
*/
getTargetEntityNumber():string;
/**
* 是否自动保存
* @return
*/
isAutoSave():boolean;
/**
* 整单下推
* @return
*/
isBillPush():boolean;
/**
* 是否默认规则
*
* @return
* @remark 是否默认判断说明:
* 1. 是否默认,存储在元数据表格字段中; 整个路线,只有一个规则,允许设置为默认规则;
* 2. 默认状态,也存储在XML中,并支持序列化、差量化;
* 3. 但因为路线只能有一个规则,在一个规则勾选了默认后,需要忽略其他全部规则的默认状态;这个需求,用批量更新字段值的方式比较简单
* 4. 因此,默认状态,以数据库字段值为准,不管XML是否勾选了默认;
*
* 5. 保存规则元数据时,不更新默认规则字段值: 单独提供保存原生规则默认状态的方法:取消其他规则的默认状态,勾上本规则的状态
* 7. 读取规则的默认状态时,以规则的表格字段值,覆盖XML中的内容 (ConvertRuleMetaDaoPlugin)
* 8. 配置界面,使用一个标记单独记录当前默认规则,默认规则必须是原生规则,在扩展规则上勾选默认选项,还是会把其原生规则作为默认规则
*/
isDefRule():boolean;
/**
* 选单时是否显示出来供用户选择
*
* @return
*/
isDrawVisibled():boolean;
/**
* 是否启用
*
* @return
* @remark 是否启用判断说明:
* 1. 规则状态,有单独表格存储,t_BOTP_ConvertRule_S.FEnabled(0 = 未启用, 1= 启用)存储;
* 2. 原生规则、扩展规则,可以分别设置启用状态,但是其含义不同:原生规则的启用状态,确定此规则是否允许使用;扩展规则的启用状态,确定此扩展是否启用
* 3. 读取规则时,在元数据插件中,从数据库字段单独读取启用状态,覆盖XML中的状态值
* 5. 保存规则时,从对象中,提取状态值,更新数据库表格规则状态字段值;
* 6. 提交SVN生成的文件中,不包含状态值,避免部署包,覆盖用户的配置
*/
isEnabled():boolean;
/**
* 判断反写规则是否正常启用
* @return
*/
isNormual():boolean;
/**
* 运行时是否显示出来供用户选择
*
* @return
*/
isVisibled():boolean;
/**
* 运行时可见控制
*
* @return
*/
isVisibledCtrl():boolean;
/**
* 附件面板映射策略
* @param attachmentPanelMapPolicy
*/
setAttachmentPanelMapPolicy(attachmentPanelMapPolicy:AttachmentPanelMapPolicy):void;
/**
* 是否自动保存
* @param autoSave
*/
setAutoSave(autoSave:boolean):void;
/**
* 整单下推
* @param billPush
*/
setBillPush(billPush:boolean):void;
/**
* 单据类型映射策略
* @param billTypeMapPolicy
*/
setBillTypeMapPolicy(billTypeMapPolicy:BillTypeMapPolicy):void;
/**
* 业务规则策略
* @param bizRulePolicy
*/
setBizRulePolicy(bizRulePolicy:BizRulePolicy):void;
/**
* 设置运行时版本
* @param cacheVersion
*/
setCacheVersion(cacheVersion:string):void;
/**
* 设置最近一次检查版本时间
* @param checkVersionTimeMillis
*/
setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
/**
* 设置是否默认规则
* @param defRule
*/
setDefRule(defRule:boolean):void;
/**
* 选单时是否显示出来供用户选择
* @param drawVisibled
*/
setDrawVisibled(drawVisibled:boolean):void;
/**
* 设置是否启用
* @param enabled
*/
setEnabled(enabled:boolean):void;
setExtElements(extElements:$.java.util.List):void;
/**
* 主实体字段映射策略
* @param fieldMapPolicy
*/
setFieldMapPolicy(fieldMapPolicy:FieldMapPolicy):void;
/**
* 过滤策略
* @param filterPolicy
*/
setFilterPolicy(filterPolicy:FilterPolicy):void;
/**
* 分单合并策略
* @param groupByPolicy
*/
setGroupByPolicy(groupByPolicy:GroupByPolicy):void;
/**
* 自动生成的唯一标识,永不改变
* @param id
*/
setId(id:string):void;
/**
* 关联主实体策略
* @param linkEntityPolicy
*/
setLinkEntityPolicy(linkEntityPolicy:LinkEntityPolicy):void;
/**
* 规则名称,用户输入
* @param name
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 单据转换选项控制策略
* @param optionPolicy
*/
setOptionPolicy(optionPolicy:OptionPolicy):void;
/**
* 插件策略
* @param plugInPolicy
*/
setPlugInPolicy(plugInPolicy:PlugInPolicy):void;
/**
* 设置启动条件
* @param runCondition
*/
setRunCondition(runCondition:CRCondition):void;
/**
* 源单实体编码
* @param sourceEntityNumber
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
setSysStatus(sysStatus:string):void;
/**
* 目标单实体编码
* @param targetEntityNumber
*/
setTargetEntityNumber(targetEntityNumber:string):void;
/**
* 运行时是否显示出来供用户选择
* @param visibled
*/
setVisibled(visibled:boolean):void;
setVisibledCtrl(visibledCtrl:boolean):void;
}
type ConvertRuleElement_T = ConvertRuleElement_S & ConvertRuleElement$;
interface ConvertRuleElement extends ConvertRuleElement_T {
}
interface FieldMapPolicy_S {
}
type FieldMapPolicy_ST = $.kd.bos.dataentity.entity.ISupportInitialize & FieldMapPolicy_S;
interface FieldMapPolicy_C extends FieldMapPolicy_ST {
new():FieldMapPolicy;
}
interface FieldMapPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 字段映射集合
* @return
*/
getFieldMaps():$.java.util.List;
setFieldMaps(fieldMaps:$.java.util.List):void;
}
type FieldMapPolicy_T = $.kd.bos.dataentity.entity.ISupportInitialize & FieldMapPolicy_S & FieldMapPolicy$;
interface FieldMapPolicy extends FieldMapPolicy_T {
}
interface CRValByConditions_S {
}
interface CRValByConditions_C extends CRValByConditions_S {
new():CRValByConditions;
}
interface CRValByConditions$ {
/**
* 检查配置是否合理
*
* @param mainType
* @param checkResult
* @return
*/
check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 输出本项配置的取值内容,把各项的取值公式,拼接起来
* @return
*/
getDescription():string;
/**
* 取值项集合:
* 按顺序,逐项比较条件,满足条件即返回选择项
* @return
*/
getItems():$.java.util.List;
}
type CRValByConditions_T = CRValByConditions_S & CRValByConditions$;
interface CRValByConditions extends CRValByConditions_T {
}
interface CRBizRuleElement_S {
}
interface CRBizRuleElement_C extends CRBizRuleElement_S {
new():CRBizRuleElement;
}
interface CRBizRuleElement$ {
/**
* 检查配置是否合理
*
* @param mainType
* @param parentPoint
* @param checkResult
* @return
*/
check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 服务类型,据此寻找服务元模型,获取服务执行类,以及配置界面
* @return
*/
getActionId():string;
/**
* 服务描述,介绍服务的用途
* @return
*/
getDescription():$.kd.bos.dataentity.entity.LocaleString;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
/**
* 服务配置参数:各种具体服务的配置参数,包括格式都是不同的;
* 这里并不关注这种差异,只是提供存储的载体,由服务执行类自行解析服务配置参数,实现功能
* @return
*/
getParameters():string;
/**
* 服务执行条件
* @return
*/
getPreCondition():CRCondition;
/**
* 服务执行类名,必须派生自CRBizRuleAction
* @return
*/
getRunActionClass():string;
/**
* 执行顺序
* @return
*/
getSeq():number;
/**
* 是否启用
* @return
*/
isEnabled():boolean;
/**
* 服务类型
* @param actionId
*/
setActionId(actionId:string):void;
/**
* 服务描述
* @param description
*/
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 是否启用
* @param enabled
*/
setEnabled(enabled:boolean):void;
/**
* 自动产生的唯一标识
* @param value
*/
setId(value:string):void;
/**
* 服务配置参数
* @param parameters
*/
setParameters(parameters:string):void;
/**
* 服务执行条件
* @param preCondition
*/
setPreCondition(preCondition:CRCondition):void;
/**
* 服务执行类名
* @param runActionClass
*/
setRunActionClass(runActionClass:string):void;
/**
* 执行顺序
* @param seq
*/
setSeq(seq:number):void;
}
type CRBizRuleElement_T = CRBizRuleElement_S & CRBizRuleElement$;
interface CRBizRuleElement extends CRBizRuleElement_T {
}
interface WriteBackBizRule_S {
}
interface WriteBackBizRule_C extends WriteBackBizRule_S {
new():WriteBackBizRule;
}
interface WriteBackBizRule$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param srcEntityKey
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,srcEntityKey:string,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 条件失败时执行的业务规则
* @return
*/
getBizRuleFalse():CRBizRuleElement;
/**
* 条件成立时执行的业务规则
* @return
*/
getBizRuleTrue():CRBizRuleElement;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
/**
* 前置条件
* @return
*/
getPreCondition():CRCondition;
/**
* 执行顺序
* @return
*/
getSeq():number;
/**
* 是否启用
* @return
*/
isEnabled():boolean;
/**
* 条件失败时执行的业务规则
* @param bizRuleFalse
*/
setBizRuleFalse(bizRuleFalse:CRBizRuleElement):void;
/**
* 条件成立时执行的业务规则
* @param bizRuleTrue
*/
setBizRuleTrue(bizRuleTrue:CRBizRuleElement):void;
/**
* 是否启用
* @param enabled
*/
setEnabled(enabled:boolean):void;
/**
* 唯一标识
* @param value
*/
setId(value:string):void;
/**
* 前置条件
* @param preCondition
*/
setPreCondition(preCondition:CRCondition):void;
/**
* 执行顺序
* @param seq
*/
setSeq(seq:number):void;
}
type WriteBackBizRule_T = WriteBackBizRule_S & WriteBackBizRule$;
interface WriteBackBizRule extends WriteBackBizRule_T {
}
interface BizRulePolicy_S {
}
interface BizRulePolicy_C extends BizRulePolicy_S {
new():BizRulePolicy;
}
interface BizRulePolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 业务规则列表
*
* @return
*/
getActions():$.java.util.List;
setActions(actions:$.java.util.List):void;
}
type BizRulePolicy_T = BizRulePolicy_S & BizRulePolicy$;
interface BizRulePolicy extends BizRulePolicy_T {
}
interface AttachmentPanelMapItem_S {
}
interface AttachmentPanelMapItem_C extends AttachmentPanelMapItem_S {
new():AttachmentPanelMapItem;
}
interface AttachmentPanelMapItem$ {
getAttachmentPanelMergeType():string;
/**
* 自动产生的唯一标识
* @return
*/
getId():string;
getSeq():number;
getSourceAttachmentPanel():string;
getTargetAttachmentPanel():string;
setAttachmentPanelMergeType(attachmentPanelMergeType:string):void;
setId(value:string):void;
setSeq(seq:number):void;
setSourceAttachmentPanel(sourceAttachmentPanel:string):void;
setTargetAttachmentPanel(targetAttachmentPanel:string):void;
}
type AttachmentPanelMapItem_T = AttachmentPanelMapItem_S & AttachmentPanelMapItem$;
interface AttachmentPanelMapItem extends AttachmentPanelMapItem_T {
}
interface ConvertRuleCache_S {
/**
* 批量读取两个单据之间的全部转换规则
* @param keys
* @return
*/
batchLoadRules(keys:$.java.util.List):$.java.util.Map;
/**
* 清除全部转换规则的缓存
*/
clearAllConvertRuleCache():void;
/**
* 清除指定规则的缓存
*
* @param ruleId
*/
clearConvertRuleCache(ruleId:string):void;
/**
* 输出监视用的规则内容,在出现问题时,使用此方法获取当前内存中的规则详情
*
* @param id
* @param cacheType
* @return
*/
loadDebugRule(id:string,cacheType:string):string;
/**
* 读取指定的转换规则
*
* @param id
* @return
*/
loadRule(id:string):ConvertRuleElement;
/**
* 读取指定的转换规则
* @param ids
* @return
*/
loadRules(ids:string[]):$.java.util.List;
/**
* 读取两个单据之间的全部转换规则
*
* @param sourceEntityNumber
* @param targetEntityNumber
* @return
*/
loadRules(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
}
interface ConvertRuleCache_C extends ConvertRuleCache_S {
new():ConvertRuleCache;
}
interface ConvertRuleCache$ {
}
type ConvertRuleCache_T = ConvertRuleCache_S & ConvertRuleCache$;
interface ConvertRuleCache extends ConvertRuleCache_T {
}
enum WriteBackOpType {
Save,
Audit
}
interface BotpModule_S {
}
type BotpModule_ST = $.kd.sdk.module.Module & BotpModule_S;
interface BotpModule_C extends BotpModule_ST {
new():BotpModule;
}
interface BotpModule$ {
}
type BotpModule_T = $.kd.sdk.module.Module & BotpModule_S & BotpModule$;
interface BotpModule extends BotpModule_T {
}
interface OptionPolicy_S {
}
interface OptionPolicy_C extends OptionPolicy_S {
new():OptionPolicy;
}
interface OptionPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
/**
* 其他单据体也下推到关联主单据体时,直接合并到关联主单据体行中,不生成新行
* @return
* @remark
* 从源单其他单据体上,携带字段到关联主单据体行中,默认把数据合并到已生成的关联主单据体行中,取其他单据体第一行的字段值,填写到关联主单据体每行字段上,不生成新行
* 取掉此选项后,则自行创建目标单据体行(创建新行时,会减去目标单据体已有的行,仅补上不足的行),然后逐行逐字段赋值
* 例如:
* 1. 关联主单据体已有2行数据;
* 2. 其他单据体有3行数据,也要带到关联主单据体上;
* 3. 给关联主单据体创建新行,使总行数等于3行(即实际只新建了1行)
* 4. 把其他单据体的3行数据,逐行填写到目标单关联主单据体各对应行上
*/
getMergeIntoLinkRow():string;
/**
* 开启校验基础资料可用性后, 需选择下游单可用性校验的具体基础资料, 通过下拉框选择多项, 以逗号隔开标识
* @return
*/
getMulComboBaseEnableStr():string;
/**
* 开启校验基础资料可用性后, 选择的下游单可用性校验的具体基础资料集合
* @return
*/
getMulComboBaseEnables():$.java.util.List;
/**
* 是否把单据、基础资料分为多次读取
* @return
* @remark
* 当前下推取数,是把主表和基础资料表关联起来,一次性读取主表字段、基础资料属性字段值
* 在基础资料属于其他分库,且主表数据行很多时,会单独、无条件的读取关联的基础资料表,然后用Algo进行join,性能很慢。
* 勾上此选项后,把基础资料数据剥离出来,在主表数据读取完毕后,根据主表上记录的基础资料内码,单独读取基础资料数据,且使用缓存方式读取,性能会有提升
*
* 默认此选项不勾选:为了和历史代码保持兼容,避免新的取数模式测试不充分,影响客户生产环境业务运行
*/
getOnlyReadBillTable():string;
/**
* 生成结束时间
* @return
*/
getReportEndTime():Date;
/**
* 生成报告开始时间
* @return
*/
getReportStartTime():Date;
/**
* 是否校验基础资料可用性, 默认不校验, 可允许已禁用的基础资料继续下推
* (暂时仅控制通过 masterid 检索 id 的方式时, 启用禁用状态的甄别. 直接携带 id 的方式不进行控制)
* @return
*/
isCheckBaseEnable():boolean;
/**
* 单据转换快照
* @return
*/
isConvertSnapshot():boolean;
/**
* 是否生成报告
* @return
*/
isCreateReport():boolean;
/**
* 下推时是否启动网络控制,不允许对源单做其他操作。默认不启动网控,以免影响用户操作
* @return
*/
isPushMutex():boolean;
/**
* 是否只允许下推一次:已经下推并保存了下游单据后,不允许再次下推到这种单据(可下推到其他单据)
* @return
* @remark
* 默认不限下推次数,特殊场景可勾选此选项,不允许重复下推(如后台自动下推,通常一次性下推完毕,不允许重复下推)
*/
isPushOneTime():boolean;
/**
* 条件及表达式是否保留首尾空格
* @return
*/
isWithoutTrim():boolean;
/**
* 是否校验基础资料可用性
* @param checkBaseEnable
*/
setCheckBaseEnable(checkBaseEnable:boolean):void;
setConvertSnapshot(convertSnapshot:boolean):void;
setCreateReport(createReport:boolean):void;
setMergeIntoLinkRow(mergeIntoLinkRow:string):void;
/**
* 开启校验基础资料可用性后
* @param mulComboBaseEnableStr
*/
setMulComboBaseEnableStr(mulComboBaseEnableStr:string):void;
/**
* 是否把单据、基础资料分为多次读取
* @param onlyReadBillTable
*/
setOnlyReadBillTable(onlyReadBillTable:string):void;
/**
* 下推时是否启动网络控制
* @param pushMutex
*/
setPushMutex(pushMutex:boolean):void;
/**
* 是否只允许下推一次
* @param pushOneTime
*/
setPushOneTime(pushOneTime:boolean):void;
setReportEndTime(reportEndTime:Date):void;
setReportStartTime(reportStartTime:Date):void;
setWithoutTrim(withoutTrim:boolean):void;
}
type OptionPolicy_T = OptionPolicy_S & OptionPolicy$;
interface OptionPolicy extends OptionPolicy_T {
}
interface ConvertBill_S {
}
interface ConvertBill_C extends ConvertBill_S {
new():ConvertBill;
}
interface ConvertBill$ {
/**
* 实体名称
* @return
*/
getEntityName():string;
/**
* 实体编码
* @return
*/
getEntityNumber():string;
/**
* 可用的转换规则
* @return
*/
getRules():$.java.util.List;
/**
* 源单编码
* @return
*/
getSourceEntityNumber():string;
/**
* 是否第三方下推
* @return
*/
getThirdPush():boolean;
/**
* 设置实体名称
* @param entityName
*/
setEntityName(entityName:string):void;
/**
* 设置实体编码
* @param entityNumber
*/
setEntityNumber(entityNumber:string):void;
setSourceEntityNumber(sourceEntityNumber:string):void;
setThirdPush(thirdPush:boolean):void;
}
type ConvertBill_T = ConvertBill_S & ConvertBill$;
interface ConvertBill extends ConvertBill_T {
}
enum CheckMessageType {
Normal,
Warn,
Error
}
interface CRFormula_S {
}
interface CRFormula_C extends CRFormula_S {
/**
* 构造函数:初始化本地变量
*/
new():CRFormula;
}
interface CRFormula$ {
/**
* 获取用户手工输入的计算公式描述(简略但人性化)
*
* @return 计算公式描述
*/
getDescription():$.kd.bos.dataentity.entity.LocaleString;
/**
* 输出合并后的计算公式描述:优先取用户手书的描述,其次取自动翻译的条件描述
*
* @return 计算公式描述
*/
getExprDesc():string;
/**
* 获取系统自动翻译的计算公式描述(机械但完整)
*
* @return 计算公式描述
*/
getExprTran():string;
/**
* 获取计算公式(纯文本,手工录入)
*
* @return 返回计算公式
*/
getExpression():string;
/**
* 获取系统自动翻译的计算公式描述(多语言)
*
* @return 计算公式描述
*/
getLocaleExprTran():$.kd.bos.dataentity.entity.LocaleString;
/**
* 传入用户手工输入的计算公式描述
* @param description
*/
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 传入系统自动翻译的计算公式描述(当前语言)
*
* @param exprTran 计算公式描述
*/
setExprTran(exprTran:string):void;
/**
* 设置计算公式(纯文本,手工录入)
*
* @param expression 计算公式
*/
setExpression(expression:string):void;
/**
* 传入系统自动翻译的计算公式描述(多语言)
*
* @param exprTran 计算公式描述
*/
setLocaleExprTran(exprTran:$.kd.bos.dataentity.entity.LocaleString):void;
}
type CRFormula_T = CRFormula_S & CRFormula$;
interface CRFormula extends CRFormula_T {
}
interface CheckMessage_S {
}
interface CheckMessage_C extends CheckMessage_S {
/**
* 空构造函数:用于反序列化
*/
new():CheckMessage;
new(checkPoint:CheckPoint,message:string):CheckMessage;
new(checkPoint:CheckPoint,msgType:CheckMessageType,message:string):CheckMessage;
}
interface CheckMessage$ {
/**
* 检查点:相同的检查点,内容需要依次显示,以加强可读性
* @return
*/
getCheckPoint():CheckPoint;
/**
* 检查提示
* @return
*/
getMessage():string;
/**
* 消息类型:普通提示、警告、错误
* @return
*/
getMsgType():CheckMessageType;
setCheckPoint(checkPoint:CheckPoint):void;
setMessage(message:string):void;
setMsgType(msgType:CheckMessageType):void;
}
type CheckMessage_T = CheckMessage_S & CheckMessage$;
interface CheckMessage extends CheckMessage_T {
}
interface CheckResult_S {
}
interface CheckResult_C extends CheckResult_S {
new():CheckResult;
}
interface CheckResult$ {
/**
* 添加错误消息
*
* @param checkPoint
* @param errMessage
* @return
*/
addErrorMessage(checkPoint:CheckPoint,errMessage:string):CheckMessage;
/**
* 添加提示消息
*
* @param checkPoint
* @param message
* @return
*/
addMessage(checkPoint:CheckPoint,message:string):CheckMessage;
/**
* 检查提示信息
* @return
*/
getMessages():$.java.util.List;
/**
* 是否检查通过
* @return
*/
isPass():boolean;
/**
* 把另一个检查结果及提示信息,合并到本结果中
* @param otherResult
*/
merge(otherResult:CheckResult):void;
/**
* 对消息按照检查点的层级次序进行排序
*/
sortMessage():void;
}
type CheckResult_T = CheckResult_S & CheckResult$;
interface CheckResult extends CheckResult_T {
}
interface CRPlugin_S {
}
type CRPlugin_ST = kd.bos.entity.plugin.Plugin_S & CRPlugin_S;
interface CRPlugin_C extends CRPlugin_ST {
/**
* 构造函数,给属性赋默认值
*/
new():CRPlugin;
}
interface CRPlugin$ {
/**
* 获取脚本描述
*
* @return 脚本描述
*/
getDisplayName():string;
/**
* 获取引用的脚本插件内码
*
* 本属性仅在脚本类型插件时有值。
* 脚本不再直接存储在script变量中,而是存储于数据库表格中。
* 通过脚本单据( ide_pluginscript)进行访问, 本属性存储脚本单据的数据内码。
*
* @return 脚本插件内码
*/
getScriptId():string;
/**
* 获取插件执行顺序,数值小的先执行
*
* @return 执行顺序
*/
getSeq():number;
/**
* 设置脚本描述
*
* @param displayName 脚本描述
*/
setDisplayName(displayName:string):void;
/**
* 传入脚本插件内码
* @param scriptId 脚本插件内码
*/
setScriptId(scriptId:string):void;
/**
* 设置插件执行顺序
*
* @param seq 执行顺序
*/
setSeq(seq:number):void;
}
type CRPlugin_T = kd.bos.entity.plugin.Plugin & CRPlugin_S & CRPlugin$;
interface CRPlugin extends CRPlugin_T {
}
interface CheckPoint_S {
}
interface CheckPoint_C extends CheckPoint_S {
/**
* 空构造函数:用于反序列化
*/
new():CheckPoint;
new(parent:CheckPoint,point:string):CheckPoint;
}
interface CheckPoint$ {
/**
* 子检查点的数量
* @return
*/
getChildCount():number;
/**
* 完整的检查点
* @return
*/
getFullPoint():string;
/**
* 上一级检查点
* @return
*/
getParent():this;
/**
* 本级检查点说明
* @return
*/
getPoint():string;
/**
* 序号:分成多级排序
* @return
*/
getSeqArray():number[];
setChildCount(childCount:number):void;
setFullPoint(fullPoint:string):void;
setParent(parent:CheckPoint):void;
setPoint(point:string):void;
setSeqArray(seqArray:number[]):void;
}
type CheckPoint_T = CheckPoint_S & CheckPoint$;
interface CheckPoint extends CheckPoint_T {
}
}
namespace kd.bos.entity.botp.linkquery{
interface QueryTcLinkArgs_S {
}
interface QueryTcLinkArgs_C extends QueryTcLinkArgs_S {
new(targetNumber:string,sourceNumber:string,targetBillnos:$.java.util.List,sourceBillnos:$.java.util.List,sourceEntity:string,targetEntity:string):QueryTcLinkArgs;
new(targetNumber:string,sourceNumber:string,targetBillnos:$.java.util.List,sourceBillnos:$.java.util.List,sourceEntity:string,targetEntity:string,pageIndex:number,pageRows:number):QueryTcLinkArgs;
}
interface QueryTcLinkArgs$ {
getPageIndex():number;
getPageRows():number;
getSourceBillnos():$.java.util.List;
getSourceEntity():string;
getSourceNumber():string;
getTargetBillnos():$.java.util.List;
getTargetEntity():string;
getTargetNumber():string;
setPageIndex(pageIndex:number):void;
setPageRows(pageRows:number):void;
setSourceBillnos(sourceBillnos:$.java.util.List):void;
setSourceEntity(sourceEntity:string):void;
setSourceNumber(sourceNumber:string):void;
setTargetBillnos(targetBillnos:$.java.util.List):void;
setTargetEntity(targetEntity:string):void;
setTargetNumber(targetNumber:string):void;
}
type QueryTcLinkArgs_T = QueryTcLinkArgs_S & QueryTcLinkArgs$;
interface QueryTcLinkArgs extends QueryTcLinkArgs_T {
}
}
namespace kd.bos.entity.botp.plugin{
interface AbstractConvertPlugIn_S {
}
type AbstractConvertPlugIn_ST = IConvertPlugIn_S & AbstractConvertPlugIn_S;
interface AbstractConvertPlugIn_C extends AbstractConvertPlugIn_ST {
new():AbstractConvertPlugIn;
}
interface AbstractConvertPlugIn$ {
}
type AbstractConvertPlugIn_T = IConvertPlugIn & AbstractConvertPlugIn_S & AbstractConvertPlugIn$;
interface AbstractConvertPlugIn extends AbstractConvertPlugIn_T {
}
interface IWriteBackPlugIn_S {
}
interface IWriteBackPlugIn$ {
/**
* 建立源单单据内码和分录内码之后, 触发此事件: 用于添加需要加载的源单单据与单据分录行
* @param e
*/
afterBuildSourceBillIds(e:kd.bos.entity.botp.plugin.args.AfterBuildSourceBillIdsEventArgs):void;
/**
* 基于下游单据当前行,反写值计算完毕后,触发此事件:用于修正反写量,调整对各源单行的分配量
* @param e
*/
afterCalcWriteValue(e:kd.bos.entity.botp.plugin.args.AfterCalcWriteValueEventArgs):void;
/**
* 对上游行进行了关闭状态填写后调用
* @param e
*/
afterCloseRow(e:kd.bos.entity.botp.plugin.args.AfterCloseRowEventArgs):void;
/**
* 执行反写规则,把当前反写量,写到源单行之后,触发此事件:用于对源单行,进行连锁更新
* @param e
*/
afterCommitAmount(e:kd.bos.entity.botp.plugin.args.AfterCommitAmountEventArgs):void;
/**
* 对源单行反写执行完毕,超额检查完毕后,触发此事件:用于控制是否中止反写、提示超额,修正提示内容
* @param e
*/
afterExcessCheck(e:kd.bos.entity.botp.plugin.args.AfterExcessCheckEventArgs):void;
/**
* 读取源单数据之后,触发此事件:供插件读取相关的第三方单据
* @param e
*/
afterReadSourceBill(e:kd.bos.entity.botp.plugin.args.AfterReadSourceBillEventArgs):void;
/**
* 源单数据保存到数据库后调用
* @param e
*/
afterSaveSourceBill(e:kd.bos.entity.botp.plugin.args.AfterSaveSourceBillEventArgs):void;
/**
* 关闭上游行前调用,IsCancelCheck==true,则不再做关闭条件检查
* @param e
*/
beforeCloseRow(e:kd.bos.entity.botp.plugin.args.BeforeCloseRowEventArgs):void;
/**
* 构建本关联主实体,单行数据与源单的关联记录前,触发此事件:用于取消本行的关联、反写
* @param e
*/
beforeCreateArticulationRow(e:kd.bos.entity.botp.plugin.args.BeforeCreateArticulationRowEventArgs):void;
/**
* 对源单行反写执行完毕,超额检查前,触发此事件:用于取消超额检查
* @param e
*/
beforeExcessCheck(e:kd.bos.entity.botp.plugin.args.BeforeExcessCheckEventArgs):void;
/**
* 开始分析反写规则,计算反写量前触发此事件:用于取消当前反写规则的执行
*
* @param e
* @remark
* 升级版本后,系统预置插件,可以通过此事件,强制禁用系统预置的反写规则
*/
beforeExecWriteBackRule(e:kd.bos.entity.botp.plugin.args.BeforeExecWriteBackRuleEventArgs):void;
/**
* 读取源单数据之前,触发此事件:用于添加需要加载的源单字段
* @param e
*/
beforeReadSourceBill(e:kd.bos.entity.botp.plugin.args.BeforeReadSourceBillEventArgs):void;
/**
* 反写规则执行完毕后,源单数据保存到数据库之前调用
* @param e
*/
beforeSaveSourceBill(e:kd.bos.entity.botp.plugin.args.BeforeSaveSourceBillEventArgs):void;
/**
* 反写逻辑处理完毕,开始开启事务,保存反写数据前触发此事件,供插件在事务前读取并处理第三方数据,以便在随后开启的事务中一并保存
* @param e
*/
beforeSaveTrans(e:kd.bos.entity.botp.plugin.args.BeforeSaveTransEventArgs):void;
/**
* 构建本关联主实体全部关联记录前,触发此事件:用于取消关联、反写
*
* @param e
*/
beforeTrack(e:kd.bos.entity.botp.plugin.args.BeforeTrackEventArgs):void;
/**
* 反写所有逻辑已经执行完毕后触发,用于通知插件释放资源,如插件申请的网控
* @param e
*/
finishWriteBack(e:kd.bos.entity.botp.plugin.args.FinishWriteBackEventArgs):void;
/**
* 当前处理的关联主实体
*
* @return
*/
getCurrLinkSetItem():$.kd.bos.entity.LinkSetItemElement;
/**
* 当前操作类型:Draft,Save,Audit,UnAudit,Delete,Cancel,UnCancel,Unknown
* @return
*/
getOpType():string;
/**
* 下游目标单主实体,仅包含了需要的字段,与单据数据包一致
* @return
*/
getTargetSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 在读取下游目标单数据之前,触发此事件:用于添加需要加载的目标单字段
* @param e
* @remark
* 这个事件比设置上下文方法,更早执行,在此事件中,只能依赖事件参数获取上下文信息
*/
preparePropertys(e:kd.bos.entity.botp.plugin.args.PreparePropertysEventArgs):void;
/**
* 保存失败,触发此事件,通知插件回滚数据
* @param e
*/
rollbackSave(e:kd.bos.entity.botp.plugin.args.RollbackSaveEventArgs):void;
/**
* 设置当前上下文
*
* @param targetMainType 下游目标单主实体,仅包含了需要的字段
* @param opType 操作类型
* @param linkSetItem 关联主实体
*/
setContext(targetSubMainType:$.kd.bos.entity.BillEntityType,opType:string,linkSetItem:$.kd.bos.entity.LinkSetItemElement):void;
}
type IWriteBackPlugIn_T = IWriteBackPlugIn_S & IWriteBackPlugIn$;
interface IWriteBackPlugIn extends IWriteBackPlugIn_T {
}
interface AbstractWriteBackPlugIn_S {
}
type AbstractWriteBackPlugIn_ST = IWriteBackPlugIn_S & AbstractWriteBackPlugIn_S;
interface AbstractWriteBackPlugIn_C extends AbstractWriteBackPlugIn_ST {
new():AbstractWriteBackPlugIn;
}
interface AbstractWriteBackPlugIn$ {
}
type AbstractWriteBackPlugIn_T = IWriteBackPlugIn & AbstractWriteBackPlugIn_S & AbstractWriteBackPlugIn$;
interface AbstractWriteBackPlugIn extends AbstractWriteBackPlugIn_T {
}
interface IConvertPlugIn_S {
}
interface IConvertPlugIn$ {
/**
* 业务规则后事件,:插件可以在这个事件中,对生成的目标单数据,进行修改
*
* @param e
* @remark
* 由 MergePushResultAction 动作触发
*/
afterBizRule(e:kd.bos.entity.botp.plugin.args.AfterBizRuleEventArgs):void;
/**
* 选单条件生成后,触发此事件:供插件追加选单条件
*
* @param e
*/
afterBuildDrawFilter(e:kd.bos.entity.botp.plugin.args.AfterBuildDrawFilterEventArgs):void;
/**
* 构建取数参数后事件:可在正式读取源单数据之前,添加额外的字段、过滤条件
*
* @param e
* @remark
* 由 BuildQueryParameterAction 动作触发
*/
afterBuildQueryParemeter(e:kd.bos.entity.botp.plugin.args.AfterBuildQueryParemeterEventArgs):void;
/**
* 转换规则,数据行筛选条件解析完毕后事件:供插件为各子条件设置人性化的条件说明,显示给用户
*
* @param e
*/
afterBuildRowCondition(e:kd.bos.entity.botp.plugin.args.AfterBuildRowConditionEventArgs):void;
/**
* 单据转换后事件,最后执行:插件可以在这个事件中,对生成的目标单数据,进行最后的修改
*
* @param e
* @remark
* 由 MergePushResultAction 动作触发
*/
afterConvert(e:kd.bos.entity.botp.plugin.args.AfterConvertEventArgs):void;
/**
* 记录关联关系后事件:根据系统自动记录的关联关系,进行相关数据的同步携带,如携带其他子单据体数据
*
* @param e
* @remark
* 由 FillLinkInfoAction 动作触发
*/
afterCreateLink(e:kd.bos.entity.botp.plugin.args.AfterCreateLinkEventArgs):void;
/**
* 创建目标单据数据包后事件:把根据分单规则创建好的目标单,传递给插件
*
* @param e
* @remark
* 由 CreateLinkEntityRowsAction 动作触发
*/
afterCreateTarget(e:kd.bos.entity.botp.plugin.args.AfterCreateTargetEventArgs):void;
/**
* 目标字段赋值完毕后事件:插件可以在此基础上,继续填写目标字段值
*
* @param e
* @remark
* 由 MappingFieldAction 动作触发
*/
afterFieldMapping(e:kd.bos.entity.botp.plugin.args.AfterFieldMappingEventArgs):void;
/**
* 取源单数据后事件:根据源单数据,获取其他定制的引用数据;也可以替换系统自动获取到的数据
*
* @param e
* @remark
* 由 RunDataConditionAction 动作触发
*/
afterGetSourceData(e:kd.bos.entity.botp.plugin.args.AfterGetSourceDataEventArgs):void;
/**
* 构建分单、行合并模式之前事件:调整分单、合并策略及依赖的字段
*
* @param e
* @remark
* 由 ConvertRuleCompiler 动作触发
*/
beforeBuildGroupMode(e:kd.bos.entity.botp.plugin.args.BeforeBuildGroupModeEventArgs):void;
/**
* 编译数据筛选条件前事件:可追加定制条件,是否忽略规则原生的条件
*
* @param e 事件参数:包括本次下推的源单数据、是否忽略规则原生条件
* @remark
* 由 ConvertRuleCompiler 动作触发
*/
beforeBuildRowCondition(e:kd.bos.entity.botp.plugin.args.BeforeBuildRowConditionEventArgs):void;
/**
* 记录关联关系前事件:取消记录关联关系
*
* @param e
* @remark
* 由 FillLinkInfoAction 动作触发
*/
beforeCreateLink(e:kd.bos.entity.botp.plugin.args.BeforeCreateLinkEventArgs):void;
/**
* 初始化创建目标单据数据包前事件 (暂未触发)
*
* @param e
* @remark
* 这个事件,只在选单时触发:
* 选单时,需要基于现有的目标单数据包,进行追加处理;
* 插件可以在此事件,获取到现有的目标单数据包,提前进行定制处理
*/
beforeCreateTarget(e:kd.bos.entity.botp.plugin.args.BeforeCreateTargetEventArgs):void;
/**
* 取源单数据前事件:可在正式读取源单数据之前,修改取数语句、取数条件
*
* @param e
* @remark
* 由 LoadSourceDataAction 动作触发
*/
beforeGetSourceData(e:kd.bos.entity.botp.plugin.args.BeforeGetSourceDataEventArgs):void;
getOpType():ConvertOpType;
/**
* 单据转换可选参数
* @return
*/
getOption():$.kd.bos.dataentity.OperateOption;
getRule():ConvertRuleElement;
getSrcMainType():$.kd.bos.entity.BillEntityType;
getTgtMainType():$.kd.bos.entity.BillEntityType;
/**
* 初始化变量事件,此时还没有开始编译规则
*
* @param e
* @remark
* 获取上下文信息,构建一些必须的变量
* 由 InitializeAction 动作触发
*/
initVariable(e:kd.bos.entity.botp.plugin.args.InitVariableEventArgs):void;
/**
* 开始执行转换规则之前,创建规则上挂的插件后,触发此事件
*
* @param opType
* @param srcMainType
* @param tgtMainType
* @param rule
* @remark
* 由 CreateConvertPlugAction 动作触发
*/
setContext(opType:ConvertOpType,srcMainType:$.kd.bos.entity.BillEntityType,tgtMainType:$.kd.bos.entity.BillEntityType,rule:ConvertRuleElement):void;
setOption(option:$.kd.bos.dataentity.OperateOption):void;
}
type IConvertPlugIn_T = IConvertPlugIn_S & IConvertPlugIn$;
interface IConvertPlugIn extends IConvertPlugIn_T {
}
}
namespace kd.bos.entity.botp.plugin.args{
interface AfterBuildSourceBillIdsEventArgs_S {
}
type AfterBuildSourceBillIdsEventArgs_ST = WriteBackEventArgs_S & AfterBuildSourceBillIdsEventArgs_S;
interface AfterBuildSourceBillIdsEventArgs_C extends AfterBuildSourceBillIdsEventArgs_ST {
/**
* 构造函数
* @param srcMainType 上游源单主实体,包含了完整字段
*/
new(srcMainType:$.kd.bos.entity.BillEntityType,ruleElements:$.java.util.List,billIds:$.java.util.Set):AfterBuildSourceBillIdsEventArgs;
}
interface AfterBuildSourceBillIdsEventArgs$ {
addEntryInfo(e:AfterBuildSourceBillIdsEventArgs$EntryInfo):void;
getBillIds():$.java.util.Set;
getEntryInfos():$.java.util.List;
getRuleElements():$.java.util.List;
/**
* 上游源单主实体,包含了完整字段
* @return
*/
getSrcMainType():$.kd.bos.entity.BillEntityType;
}
type AfterBuildSourceBillIdsEventArgs_T = WriteBackEventArgs & AfterBuildSourceBillIdsEventArgs_S & AfterBuildSourceBillIdsEventArgs$;
interface AfterBuildSourceBillIdsEventArgs extends AfterBuildSourceBillIdsEventArgs_T {
}
interface BeforeGetSourceDataEventArgs_S {
}
type BeforeGetSourceDataEventArgs_ST = ConvertPluginEventArgs_S & BeforeGetSourceDataEventArgs_S;
interface BeforeGetSourceDataEventArgs_C extends BeforeGetSourceDataEventArgs_ST {
/**
* 构造函数
*
* @param selectSQL 取数SELECT子句,包含了全部字段及别名
* @param qFilters 条件
*/
new(selectSQL:string,qFilters:$.java.util.List):BeforeGetSourceDataEventArgs;
}
interface BeforeGetSourceDataEventArgs$ {
/**
* 条件
* @return
*/
getQFilters():$.java.util.List;
/**
* 取数SELECT子句,包含了全部字段及别名
* @return
*/
getSelectSQL():string;
/**
* 设置取数SELECT子句,包含了全部字段及别名
* @param selectSQL
*/
setSelectSQL(selectSQL:string):void;
}
type BeforeGetSourceDataEventArgs_T = ConvertPluginEventArgs & BeforeGetSourceDataEventArgs_S & BeforeGetSourceDataEventArgs$;
interface BeforeGetSourceDataEventArgs extends BeforeGetSourceDataEventArgs_T {
}
interface ConvertPluginEventArgs_S {
}
interface ConvertPluginEventArgs_C extends ConvertPluginEventArgs_S {
new():ConvertPluginEventArgs;
}
interface ConvertPluginEventArgs$ {
}
type ConvertPluginEventArgs_T = ConvertPluginEventArgs_S & ConvertPluginEventArgs$;
interface ConvertPluginEventArgs extends ConvertPluginEventArgs_T {
}
interface AfterCloseRowEventArgs_S {
}
type AfterCloseRowEventArgs_ST = WriteBackEventArgs_S & AfterCloseRowEventArgs_S;
interface AfterCloseRowEventArgs_C extends AfterCloseRowEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:WriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):AfterCloseRowEventArgs;
}
interface AfterCloseRowEventArgs$ {
/**
* 反写规则
* @return
*/
getRule():WriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 是否达成行关闭条件
* @return
*/
isCloseRow():boolean;
/**
* 设置中是否达成行关闭条件
* @param closeRow 是否达成行关闭条件
*/
setCloseRow(closeRow:boolean):void;
}
type AfterCloseRowEventArgs_T = WriteBackEventArgs & AfterCloseRowEventArgs_S & AfterCloseRowEventArgs$;
interface AfterCloseRowEventArgs extends AfterCloseRowEventArgs_T {
}
interface AfterCalcWriteValueEventArgs_S {
}
type AfterCalcWriteValueEventArgs_ST = WriteBackEventArgs_S & AfterCalcWriteValueEventArgs_S;
interface AfterCalcWriteValueEventArgs_C extends AfterCalcWriteValueEventArgs_ST {
/**
* 构造函数
* @param entity 关联主实体
* @param activeRow 关联主实体当前行
* @param rule 反写规则
* @param ruleItem 反写公式
* @param val 根据反写公式,算出的反写量
* @param cVal 覆盖反写模式,根据反写公式算出的覆盖值
*/
new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,rule:WriteBackRuleElement,ruleItem:WriteBackFormula,val:$.java.math.BigDecimal,cVal:any):AfterCalcWriteValueEventArgs;
}
interface AfterCalcWriteValueEventArgs$ {
/**
* 关联主实体当前行
* @return
*/
getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 覆盖反写模式,根据反写公式算出的覆盖值
*/
getCVal():any;
/**
* 关联主实体
* @return
*/
getEntity():$.kd.bos.entity.EntityType;
/**
* 反写规则
* @return
*/
getRule():WriteBackRuleElement;
/**
* 反写公式
*/
getRuleItem():WriteBackFormula;
/**
* 搜索出的源单行,以及其分配的反写量:
* 如果有多个源单行,默认每行的反写量为0;需要插件自行给各源单行分配反写量;
* 如果插件不处理,则不反写
* @return
*/
getSrcRowVal():$.java.util.Map;
/**
* 根据反写公式,算出的反写量
* @return
*/
getVal():$.java.math.BigDecimal;
}
type AfterCalcWriteValueEventArgs_T = WriteBackEventArgs & AfterCalcWriteValueEventArgs_S & AfterCalcWriteValueEventArgs$;
interface AfterCalcWriteValueEventArgs extends AfterCalcWriteValueEventArgs_T {
}
interface BeforeBuildGroupModeEventArgs_S {
}
type BeforeBuildGroupModeEventArgs_ST = ConvertPluginEventArgs_S & BeforeBuildGroupModeEventArgs_S;
interface BeforeBuildGroupModeEventArgs_C extends BeforeBuildGroupModeEventArgs_ST {
/**
* 构造函数
* @param headGroupKey 单据头分组(分单)字段
* @param entryGroupKey 单据体分组字段
* @param subEntryGroupKey 子单据体分组字段
*/
new(headGroupKey:string,entryGroupKey:string,subEntryGroupKey:string):BeforeBuildGroupModeEventArgs;
}
interface BeforeBuildGroupModeEventArgs$ {
/**
* 单据体分组字段
* @return
*/
getEntryGroupKey():string;
/**
* 单据头分组(分单)字段
* @return
*/
getHeadGroupKey():string;
/**
* 子单据体分组字段
* @return
*/
getSubEntryGroupKey():string;
/**
* 设置单据体分组字段
* @param entryGroupKey 单据体分组字段
*/
setEntryGroupKey(entryGroupKey:string):void;
/**
* 设置单据头分组(分单)字段
* @param headGroupKey 单据头分组(分单)字段
*/
setHeadGroupKey(headGroupKey:string):void;
/**
* 设置子单据体分组字段
* @param subEntryGroupKey 子单据体分组字段
*/
setSubEntryGroupKey(subEntryGroupKey:string):void;
}
type BeforeBuildGroupModeEventArgs_T = ConvertPluginEventArgs & BeforeBuildGroupModeEventArgs_S & BeforeBuildGroupModeEventArgs$;
interface BeforeBuildGroupModeEventArgs extends BeforeBuildGroupModeEventArgs_T {
}
interface AfterGetSourceDataEventArgs_S {
}
type AfterGetSourceDataEventArgs_ST = ConvertPluginEventArgs_S & AfterGetSourceDataEventArgs_S;
interface AfterGetSourceDataEventArgs_C extends AfterGetSourceDataEventArgs_ST {
/**
* 构造函数
* @param sourceRows 待下推的源单数据行
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(sourceRows:$.java.util.List,fldProperties:$.java.util.Map):AfterGetSourceDataEventArgs;
}
interface AfterGetSourceDataEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 待下推的源单数据行
* @return
*/
getSourceRows():$.java.util.List;
}
type AfterGetSourceDataEventArgs_T = ConvertPluginEventArgs & AfterGetSourceDataEventArgs_S & AfterGetSourceDataEventArgs$;
interface AfterGetSourceDataEventArgs extends AfterGetSourceDataEventArgs_T {
}
interface BeforeCreateLinkEventArgs_S {
}
type BeforeCreateLinkEventArgs_ST = ConvertPluginEventArgs_S & BeforeCreateLinkEventArgs_S;
interface BeforeCreateLinkEventArgs_C extends BeforeCreateLinkEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet
* @param fldProperties
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):BeforeCreateLinkEventArgs;
}
interface BeforeCreateLinkEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 是否略过关联关系的创建
* @return
*/
isCancel():boolean;
/**
* 设置是否略过关联关系的创建
* @param cancel
*/
setCancel(cancel:boolean):void;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type BeforeCreateLinkEventArgs_T = ConvertPluginEventArgs & BeforeCreateLinkEventArgs_S & BeforeCreateLinkEventArgs$;
interface BeforeCreateLinkEventArgs extends BeforeCreateLinkEventArgs_T {
}
interface PreparePropertysEventArgs_S {
}
type PreparePropertysEventArgs_ST = WriteBackEventArgs_S & PreparePropertysEventArgs_S;
interface PreparePropertysEventArgs_C extends PreparePropertysEventArgs_ST {
/**
* 构造函数
* @param mainType 目标单实体类型
* @param fieldKeys 需要加载的目标单字段
*/
new(mainType:$.kd.bos.entity.BillEntityType,fieldKeys:$.java.util.List):PreparePropertysEventArgs;
}
interface PreparePropertysEventArgs$ {
/**
* 需要加载的目标单字段
* @return
*/
getFieldKeys():$.java.util.List;
/**
* 目标单实体类型
* @return
*/
getMainType():$.kd.bos.entity.BillEntityType;
}
type PreparePropertysEventArgs_T = WriteBackEventArgs & PreparePropertysEventArgs_S & PreparePropertysEventArgs$;
interface PreparePropertysEventArgs extends PreparePropertysEventArgs_T {
}
interface WriteBackEventArgs_S {
}
interface WriteBackEventArgs_C extends WriteBackEventArgs_S {
new():WriteBackEventArgs;
}
interface WriteBackEventArgs$ {
}
type WriteBackEventArgs_T = WriteBackEventArgs_S & WriteBackEventArgs$;
interface WriteBackEventArgs extends WriteBackEventArgs_T {
}
interface AfterCreateTargetEventArgs_S {
}
type AfterCreateTargetEventArgs_ST = ConvertPluginEventArgs_S & AfterCreateTargetEventArgs_S;
interface AfterCreateTargetEventArgs_C extends AfterCreateTargetEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterCreateTargetEventArgs;
}
interface AfterCreateTargetEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包 :还没有开始填写字段值
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type AfterCreateTargetEventArgs_T = ConvertPluginEventArgs & AfterCreateTargetEventArgs_S & AfterCreateTargetEventArgs$;
interface AfterCreateTargetEventArgs extends AfterCreateTargetEventArgs_T {
}
interface AfterFieldMappingEventArgs_S {
}
type AfterFieldMappingEventArgs_ST = ConvertPluginEventArgs_S & AfterFieldMappingEventArgs_S;
interface AfterFieldMappingEventArgs_C extends AfterFieldMappingEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterFieldMappingEventArgs;
}
interface AfterFieldMappingEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type AfterFieldMappingEventArgs_T = ConvertPluginEventArgs & AfterFieldMappingEventArgs_S & AfterFieldMappingEventArgs$;
interface AfterFieldMappingEventArgs extends AfterFieldMappingEventArgs_T {
}
interface AfterCommitAmountEventArgs_S {
}
type AfterCommitAmountEventArgs_ST = WriteBackEventArgs_S & AfterCommitAmountEventArgs_S;
interface AfterCommitAmountEventArgs_C extends AfterCommitAmountEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param ruleItem 反写公式
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param srcFieldKey 上游源单反写字段
* @param currVal 本次操作,对源单行执行的反写差量
* @param realVal 本次操作执行完毕完后,对源单行的反写总量
* @param currCVal 覆盖反写值
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:WriteBackRuleElement,ruleItem:WriteBackFormula,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,srcFieldKey:string,currVal:$.java.math.BigDecimal,realVal:$.java.math.BigDecimal,currCVal:any,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):AfterCommitAmountEventArgs;
}
interface AfterCommitAmountEventArgs$ {
/**
* 覆盖反写值
* @return
*/
getCurrCVal():any;
/**
* 本次操作,对源单行执行的反写差量:公式计算出的反写量 - 上一次保存已执行的反写量;如果是删除行,反冲历史量
* @return
*/
getCurrVal():$.java.math.BigDecimal;
/**
* 本次操作执行完毕完后,对源单行的反写总量;如果是删除行,反写总量 = 0;
* @return
*/
getRealVal():$.java.math.BigDecimal;
/**
* 反写规则
* @return
*/
getRule():WriteBackRuleElement;
/**
* 反写公式
* @return
*/
getRuleItem():WriteBackFormula;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单反写字段
* @return
*/
getSrcFieldKey():string;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 下游目标单关联行信息:删除操作,可以据此从数据库取到删除前的行数据
* @return
*/
getTargetRowId():kd.bos.entity.botp.runtime.BFRowId;
/**
* 设置下游目标单关联行
* @param targetRowId 目标单关联行
*/
setTargetRowId(targetRowId:kd.bos.entity.botp.runtime.BFRowId):void;
}
type AfterCommitAmountEventArgs_T = WriteBackEventArgs & AfterCommitAmountEventArgs_S & AfterCommitAmountEventArgs$;
interface AfterCommitAmountEventArgs extends AfterCommitAmountEventArgs_T {
}
interface BeforeTrackEventArgs_S {
}
type BeforeTrackEventArgs_ST = WriteBackEventArgs_S & BeforeTrackEventArgs_S;
interface BeforeTrackEventArgs_C extends BeforeTrackEventArgs_ST {
/**
* 构造函数
* @param dataEntity 当前单据数据包
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):BeforeTrackEventArgs;
}
interface BeforeTrackEventArgs$ {
/**
* 当前单据数据包
* @return
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 插件取消关联、反写
* @return
*/
isCancel():boolean;
/**
* 设置插件取消关联、反写
* @param cancel
*/
setCancel(cancel:boolean):void;
}
type BeforeTrackEventArgs_T = WriteBackEventArgs & BeforeTrackEventArgs_S & BeforeTrackEventArgs$;
interface BeforeTrackEventArgs extends BeforeTrackEventArgs_T {
}
interface AfterSaveSourceBillEventArgs_S {
}
type AfterSaveSourceBillEventArgs_ST = WriteBackEventArgs_S & AfterSaveSourceBillEventArgs_S;
interface AfterSaveSourceBillEventArgs_C extends AfterSaveSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcSubMainType 源单主实体,只包含了部分用到的字段
* @param srcDataEntities 源单数据包,只包含了部分用到的字段
*/
new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):AfterSaveSourceBillEventArgs;
}
interface AfterSaveSourceBillEventArgs$ {
/**
* 源单数据包,只包含了部分用到的字段
* @return
*/
getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 源单主实体,只包含了部分用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 当前事件是否由异步线程触发,不在事务内:跨库反写时,会启动一个异步线程,在事务外单独的保存源单反写结果,没有事务保护,不能回滚数据。
* 此时插件抛出异常并不能取消反写,回滚数据。因此,此场景下插件要确保不抛出异常
* @return
*/
isNewThread():boolean;
/**
* 设置当前事件是否由异步线程触发,不在事务内:跨库反写时,会启动一个异步线程,在事务外单独的保存源单反写结果,没有事务保护,不能回滚数据。
* @param newThread
*/
setNewThread(newThread:boolean):void;
}
type AfterSaveSourceBillEventArgs_T = WriteBackEventArgs & AfterSaveSourceBillEventArgs_S & AfterSaveSourceBillEventArgs$;
interface AfterSaveSourceBillEventArgs extends AfterSaveSourceBillEventArgs_T {
}
interface AfterBuildRowConditionEventArgs_S {
}
type AfterBuildRowConditionEventArgs_ST = ConvertPluginEventArgs_S & AfterBuildRowConditionEventArgs_S;
interface AfterBuildRowConditionEventArgs_C extends AfterBuildRowConditionEventArgs_ST {
}
interface AfterBuildRowConditionEventArgs$ {
/**
* 添加新条件表达式到集合中
* @param expression
*/
addCondition(expression:string):void;
/**
* 拆分后的单据转换数据筛选条件,每个元素都是一个独立的条件
* @return
*/
getConditons():$.java.util.List;
}
type AfterBuildRowConditionEventArgs_T = ConvertPluginEventArgs & AfterBuildRowConditionEventArgs_S & AfterBuildRowConditionEventArgs$;
interface AfterBuildRowConditionEventArgs extends AfterBuildRowConditionEventArgs_T {
}
interface BeforeBuildRowConditionEventArgs_S {
}
type BeforeBuildRowConditionEventArgs_ST = ConvertPluginEventArgs_S & BeforeBuildRowConditionEventArgs_S;
interface BeforeBuildRowConditionEventArgs_C extends BeforeBuildRowConditionEventArgs_ST {
/**
* 构造函数
*/
new():BeforeBuildRowConditionEventArgs;
}
interface BeforeBuildRowConditionEventArgs$ {
/**
* 插件定制条件的说明:当数据不符合条件时,会显示条件说明,提示用户原因
* @return
*/
getCustFilterDesc():string;
/**
* 插件定制条件:用于脚本执行
*
* 特别说明:必须同时设置用于数据库查询的CustQFilters,且效果要保持一致
*
* @return
*/
getCustFilterExpression():string;
/**
* 插件定制条件:用于数据库查询
* @return
*/
getCustQFilters():$.java.util.List;
/**
* 当前规则需要处理的源单行 : 已经通过了规则启动条件校验
* @return
*/
getSelectedRows():$.java.util.List;
/**
* 是否忽略规则上配置的数据筛选条件,仅使用插件设置的定制条件;
* 如果不设置这个属性,插件传入的定制条件,会与规则条件,同时起作用
* @return
*/
isIgnoreRuleFilterPolicy():boolean;
/**
* 设置插件定制条件的说明
* @param custFilterDesc
*/
setCustFilterDesc(custFilterDesc:string):void;
/**
* 设置插件定制条件
* @param custFilterExpression
*/
setCustFilterExpression(custFilterExpression:string):void;
/**
* 设置是否忽略规则上配置的数据筛选条件,仅使用插件设置的定制条件
* @param ignoreRuleFilterPolicy
*/
setIgnoreRuleFilterPolicy(ignoreRuleFilterPolicy:boolean):void;
/**
* 设置当前规则需要处理的源单行
* @param selectedRows 当前规则需要处理的源单行
*/
setSelectedRows(selectedRows:$.java.util.List):void;
}
type BeforeBuildRowConditionEventArgs_T = ConvertPluginEventArgs & BeforeBuildRowConditionEventArgs_S & BeforeBuildRowConditionEventArgs$;
interface BeforeBuildRowConditionEventArgs extends BeforeBuildRowConditionEventArgs_T {
}
interface RollbackSaveEventArgs_S {
}
type RollbackSaveEventArgs_ST = WriteBackEventArgs_S & RollbackSaveEventArgs_S;
interface RollbackSaveEventArgs_C extends RollbackSaveEventArgs_ST {
new():RollbackSaveEventArgs;
}
interface RollbackSaveEventArgs$ {
}
type RollbackSaveEventArgs_T = WriteBackEventArgs & RollbackSaveEventArgs_S & RollbackSaveEventArgs$;
interface RollbackSaveEventArgs extends RollbackSaveEventArgs_T {
}
interface BeforeCloseRowEventArgs_S {
}
type BeforeCloseRowEventArgs_ST = WriteBackEventArgs_S & BeforeCloseRowEventArgs_S;
interface BeforeCloseRowEventArgs_C extends BeforeCloseRowEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:WriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):BeforeCloseRowEventArgs;
}
interface BeforeCloseRowEventArgs$ {
/**
* 反写规则
* @return
*/
getRule():WriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 插件是否要求略过超额检查
* @return
*/
isCancel():boolean;
/**
* 设置插件是否要求略过超额检查
* @param cancel
*/
setCancel(cancel:boolean):void;
}
type BeforeCloseRowEventArgs_T = WriteBackEventArgs & BeforeCloseRowEventArgs_S & BeforeCloseRowEventArgs$;
interface BeforeCloseRowEventArgs extends BeforeCloseRowEventArgs_T {
}
interface AfterReadSourceBillEventArgs_S {
}
type AfterReadSourceBillEventArgs_ST = WriteBackEventArgs_S & AfterReadSourceBillEventArgs_S;
interface AfterReadSourceBillEventArgs_C extends AfterReadSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcSubMainType 源单主实体,只包含了部分用到的字段
* @param srcDataEntities 源单数据包,只包含了部分用到的字段
*/
new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):AfterReadSourceBillEventArgs;
}
interface AfterReadSourceBillEventArgs$ {
/**
* 源单数据包,只包含了部分用到的字段
* @return
*/
getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 源单主实体,只包含了部分用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
}
type AfterReadSourceBillEventArgs_T = WriteBackEventArgs & AfterReadSourceBillEventArgs_S & AfterReadSourceBillEventArgs$;
interface AfterReadSourceBillEventArgs extends AfterReadSourceBillEventArgs_T {
}
interface BeforeSaveTransEventArgs_S {
}
type BeforeSaveTransEventArgs_ST = WriteBackEventArgs_S & BeforeSaveTransEventArgs_S;
interface BeforeSaveTransEventArgs_C extends BeforeSaveTransEventArgs_ST {
new():BeforeSaveTransEventArgs;
}
interface BeforeSaveTransEventArgs$ {
}
type BeforeSaveTransEventArgs_T = WriteBackEventArgs & BeforeSaveTransEventArgs_S & BeforeSaveTransEventArgs$;
interface BeforeSaveTransEventArgs extends BeforeSaveTransEventArgs_T {
}
interface BeforeExecWriteBackRuleEventArgs_S {
}
type BeforeExecWriteBackRuleEventArgs_ST = WriteBackEventArgs_S & BeforeExecWriteBackRuleEventArgs_S;
interface BeforeExecWriteBackRuleEventArgs_C extends BeforeExecWriteBackRuleEventArgs_ST {
/**
* 构造函数
*/
new():BeforeExecWriteBackRuleEventArgs;
}
interface BeforeExecWriteBackRuleEventArgs$ {
/**
* 当前准备执行的反写规则
*
* @return
*/
getRule():WriteBackRuleElement;
/**
* 当前准备执行的反写公式
*
* @return
*/
getRuleItem():WriteBackFormula;
/**
* 是否取消本反写公式的执行
* @return
*/
isCancel():boolean;
/**
* 设置是否取消本反写公式的执行
* @param cancel
*/
setCancel(cancel:boolean):void;
/**
* 调整当前反写规则、反写条目
* @param rule
* @param ruleItem
*/
setContext(rule:WriteBackRuleElement,ruleItem:WriteBackFormula):void;
}
type BeforeExecWriteBackRuleEventArgs_T = WriteBackEventArgs & BeforeExecWriteBackRuleEventArgs_S & BeforeExecWriteBackRuleEventArgs$;
interface BeforeExecWriteBackRuleEventArgs extends BeforeExecWriteBackRuleEventArgs_T {
}
interface AfterExcessCheckEventArgs_S {
}
interface AfterExcessCheckEventArgs_C extends AfterExcessCheckEventArgs_S {
new(rule:WriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):AfterExcessCheckEventArgs;
}
interface AfterExcessCheckEventArgs$ {
/**
* 超额提示
* @return
*/
getMessage():string;
/**
* 反写规则
* @return
*/
getRule():WriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 是否超额;插件可以调整此属性值,决定是否显示超额提示
* @return
*/
isExcess():boolean;
/**
* 设置是否超额
* @param excess 是否超额
*/
setExcess(excess:boolean):void;
/**
* 设置超额提示
* @param message 超额提示
*/
setMessage(message:string):void;
}
type AfterExcessCheckEventArgs_T = AfterExcessCheckEventArgs_S & AfterExcessCheckEventArgs$;
interface AfterExcessCheckEventArgs extends AfterExcessCheckEventArgs_T {
}
interface BeforeCreateTargetEventArgs_S {
}
interface BeforeCreateTargetEventArgs_C extends BeforeCreateTargetEventArgs_S {
new():BeforeCreateTargetEventArgs;
}
interface BeforeCreateTargetEventArgs$ {
}
type BeforeCreateTargetEventArgs_T = BeforeCreateTargetEventArgs_S & BeforeCreateTargetEventArgs$;
interface BeforeCreateTargetEventArgs extends BeforeCreateTargetEventArgs_T {
}
interface InitVariableEventArgs_S {
}
type InitVariableEventArgs_ST = ConvertPluginEventArgs_S & InitVariableEventArgs_S;
interface InitVariableEventArgs_C extends InitVariableEventArgs_ST {
/**
* 构造函数
* @param convertArgs 单据转换参数
*/
new(convertArgs:kd.bos.entity.botp.runtime.AbstractConvertServiceArgs):InitVariableEventArgs;
}
interface InitVariableEventArgs$ {
/**
* 单据转换参数
* @return
*/
getConvertArgs():kd.bos.entity.botp.runtime.AbstractConvertServiceArgs;
}
type InitVariableEventArgs_T = ConvertPluginEventArgs & InitVariableEventArgs_S & InitVariableEventArgs$;
interface InitVariableEventArgs extends InitVariableEventArgs_T {
}
interface BeforeExcessCheckEventArgs_S {
}
type BeforeExcessCheckEventArgs_ST = WriteBackEventArgs_S & BeforeExcessCheckEventArgs_S;
interface BeforeExcessCheckEventArgs_C extends BeforeExcessCheckEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:WriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):BeforeExcessCheckEventArgs;
}
interface BeforeExcessCheckEventArgs$ {
/**
* 反写规则
* @return
*/
getRule():WriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 插件是否要求略过超额检查
* @return
*/
isCancel():boolean;
/**
* 设置插件是否要求略过超额检查
* @param cancel
*/
setCancel(cancel:boolean):void;
}
type BeforeExcessCheckEventArgs_T = WriteBackEventArgs & BeforeExcessCheckEventArgs_S & BeforeExcessCheckEventArgs$;
interface BeforeExcessCheckEventArgs extends BeforeExcessCheckEventArgs_T {
}
interface AfterBizRuleEventArgs_S {
}
type AfterBizRuleEventArgs_ST = ConvertPluginEventArgs_S & AfterBizRuleEventArgs_S;
interface AfterBizRuleEventArgs_C extends AfterBizRuleEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterBizRuleEventArgs;
}
interface AfterBizRuleEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type AfterBizRuleEventArgs_T = ConvertPluginEventArgs & AfterBizRuleEventArgs_S & AfterBizRuleEventArgs$;
interface AfterBizRuleEventArgs extends AfterBizRuleEventArgs_T {
}
interface BeforeSaveSourceBillEventArgs_S {
}
type BeforeSaveSourceBillEventArgs_ST = WriteBackEventArgs_S & BeforeSaveSourceBillEventArgs_S;
interface BeforeSaveSourceBillEventArgs_C extends BeforeSaveSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcSubMainType 源单主实体,只包含了部分用到的字段
* @param srcDataEntities 源单数据包,只包含了部分用到的字段
*/
new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):BeforeSaveSourceBillEventArgs;
}
interface BeforeSaveSourceBillEventArgs$ {
/**
* 源单数据包,只包含了部分用到的字段
* @return
*/
getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 源单主实体,只包含了部分用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 当前事件是否由异步线程触发,不在事务内:跨库反写时,会启动一个异步线程,在事务外单独的保存源单反写结果,没有事务保护,不能回滚数据。
* 此时插件抛出异常并不能取消反写,回滚数据。因此,此场景下插件要确保不抛出异常
* @return
*/
isNewThread():boolean;
setNewThread(newThread:boolean):void;
}
type BeforeSaveSourceBillEventArgs_T = WriteBackEventArgs & BeforeSaveSourceBillEventArgs_S & BeforeSaveSourceBillEventArgs$;
interface BeforeSaveSourceBillEventArgs extends BeforeSaveSourceBillEventArgs_T {
}
interface BeforeCreateArticulationRowEventArgs_S {
}
type BeforeCreateArticulationRowEventArgs_ST = WriteBackEventArgs_S & BeforeCreateArticulationRowEventArgs_S;
interface BeforeCreateArticulationRowEventArgs_C extends BeforeCreateArticulationRowEventArgs_ST {
/**
* 构造函数
* @param entity 当前关联主实体
* @param activeRow 关联主实体当前行
* @param linkRows 关联主实体行下属的关联子实体行,包含了来源单据行信息
*/
new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,linkRows:$.kd.bos.dataentity.entity.DynamicObjectCollection):BeforeCreateArticulationRowEventArgs;
}
interface BeforeCreateArticulationRowEventArgs$ {
/**
* 关联主实体当前行
* @return
*/
getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 当前关联主实体
* @return
*/
getEntity():$.kd.bos.entity.EntityType;
/**
* 关联主实体行下属的关联子实体行,包含了来源单据行信息
* @return
*/
getLinkRows():$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 是否取消创建本行的关联记录:
* 取消后,相当于本行无源单,不会记录业务流程路线记录与反写源单
* @return
*/
isCancel():boolean;
/**
* 由插件自行调整控制字段对各源单行的分配量,取消系统的自动分配处理;
* @return
*/
isCancelReDistributeAmount():boolean;
/**
* 设置是否取消创建本行的关联记录
* @param cancel
*/
setCancel(cancel:boolean):void;
/**
* 设置由插件自行调整控制字段对各源单行的分配量,取消系统的自动分配处理
* @param cancelReDistributeAmount
*/
setCancelReDistributeAmount(cancelReDistributeAmount:boolean):void;
}
type BeforeCreateArticulationRowEventArgs_T = WriteBackEventArgs & BeforeCreateArticulationRowEventArgs_S & BeforeCreateArticulationRowEventArgs$;
interface BeforeCreateArticulationRowEventArgs extends BeforeCreateArticulationRowEventArgs_T {
}
interface AfterCreateLinkEventArgs_S {
}
type AfterCreateLinkEventArgs_ST = ConvertPluginEventArgs_S & AfterCreateLinkEventArgs_S;
interface AfterCreateLinkEventArgs_C extends AfterCreateLinkEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterCreateLinkEventArgs;
}
interface AfterCreateLinkEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type AfterCreateLinkEventArgs_T = ConvertPluginEventArgs & AfterCreateLinkEventArgs_S & AfterCreateLinkEventArgs$;
interface AfterCreateLinkEventArgs extends AfterCreateLinkEventArgs_T {
}
interface AfterConvertEventArgs_S {
}
type AfterConvertEventArgs_ST = ConvertPluginEventArgs_S & AfterConvertEventArgs_S;
interface AfterConvertEventArgs_C extends AfterConvertEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterConvertEventArgs;
}
interface AfterConvertEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type AfterConvertEventArgs_T = ConvertPluginEventArgs & AfterConvertEventArgs_S & AfterConvertEventArgs$;
interface AfterConvertEventArgs extends AfterConvertEventArgs_T {
}
interface AfterBuildDrawFilterEventArgs_S {
}
type AfterBuildDrawFilterEventArgs_ST = ConvertPluginEventArgs_S & AfterBuildDrawFilterEventArgs_S;
interface AfterBuildDrawFilterEventArgs_C extends AfterBuildDrawFilterEventArgs_ST {
/**
* 构造函数
*
* @param targetDataEntity 目标单数据包
*/
new(targetDataEntity:$.kd.bos.dataentity.entity.DynamicObject):AfterBuildDrawFilterEventArgs;
}
interface AfterBuildDrawFilterEventArgs$ {
/**
* 插件追加的选单条件
* @return
*/
getPlugFilter():$.kd.bos.orm.query.QFilter;
/**
* 获取插件设置的选单时打开的源单列表布局
* @return
*/
getSourceLayout():string;
/**
* 目标单当前数据包
* @return
*/
getTargetDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 插件追加选单条件
* @param plugFilter
*/
setPlugFilter(plugFilter:$.kd.bos.orm.query.QFilter):void;
/**
* 插件设置选单时打开的源单列表布局
* @param sourceLayout
*/
setSourceLayout(sourceLayout:string):void;
}
type AfterBuildDrawFilterEventArgs_T = ConvertPluginEventArgs & AfterBuildDrawFilterEventArgs_S & AfterBuildDrawFilterEventArgs$;
interface AfterBuildDrawFilterEventArgs extends AfterBuildDrawFilterEventArgs_T {
}
interface AfterBuildQueryParemeterEventArgs_S {
}
type AfterBuildQueryParemeterEventArgs_ST = ConvertPluginEventArgs_S & AfterBuildQueryParemeterEventArgs_S;
interface AfterBuildQueryParemeterEventArgs_C extends AfterBuildQueryParemeterEventArgs_ST {
/**
* 构造函数
*
* @param srcFldAlias
* @param qFilters
*/
new(srcFldAlias:$.java.util.Map,qFilters:$.java.util.List):AfterBuildQueryParemeterEventArgs;
}
interface AfterBuildQueryParemeterEventArgs$ {
/**
* 添加需加载的源单字段
*
* @param fullPropName 字段及引用属性名,如 basedata.name;不需要在前面带单据体标识
*/
addSrcField(fullPropName:string):void;
/**
* 系统自动生成的源单内码条件;插件可以修改与追加新条件
* @return
*/
getQFilters():$.java.util.List;
/**
* 系统自动生成,源单字段与字段别名字典;插件可以向此字典追加新字段,并指定别名;不支持删除字段
* @return
*/
getSrcFldAlias():$.java.util.Map;
}
type AfterBuildQueryParemeterEventArgs_T = ConvertPluginEventArgs & AfterBuildQueryParemeterEventArgs_S & AfterBuildQueryParemeterEventArgs$;
interface AfterBuildQueryParemeterEventArgs extends AfterBuildQueryParemeterEventArgs_T {
}
interface AfterBuildSourceBillIdsEventArgs$EntryInfo_S {
}
interface AfterBuildSourceBillIdsEventArgs$EntryInfo_C extends AfterBuildSourceBillIdsEventArgs$EntryInfo_S {
new(arg0:long):AfterBuildSourceBillIdsEventArgs$EntryInfo;
new(arg0:long,arg1:long,arg2:long):AfterBuildSourceBillIdsEventArgs$EntryInfo;
}
interface AfterBuildSourceBillIdsEventArgs$EntryInfo$ {
getBillId():long;
getEntryId():long;
getEntryTableId():long;
}
type AfterBuildSourceBillIdsEventArgs$EntryInfo_T = AfterBuildSourceBillIdsEventArgs$EntryInfo_S & AfterBuildSourceBillIdsEventArgs$EntryInfo$;
interface AfterBuildSourceBillIdsEventArgs$EntryInfo extends AfterBuildSourceBillIdsEventArgs$EntryInfo_T {
}
interface FinishWriteBackEventArgs_S {
}
type FinishWriteBackEventArgs_ST = WriteBackEventArgs_S & FinishWriteBackEventArgs_S;
interface FinishWriteBackEventArgs_C extends FinishWriteBackEventArgs_ST {
new():FinishWriteBackEventArgs;
}
interface FinishWriteBackEventArgs$ {
}
type FinishWriteBackEventArgs_T = WriteBackEventArgs & FinishWriteBackEventArgs_S & FinishWriteBackEventArgs$;
interface FinishWriteBackEventArgs extends FinishWriteBackEventArgs_T {
}
interface BeforeReadSourceBillEventArgs_S {
}
type BeforeReadSourceBillEventArgs_ST = WriteBackEventArgs_S & BeforeReadSourceBillEventArgs_S;
interface BeforeReadSourceBillEventArgs_C extends BeforeReadSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcMainType 上游源单主实体,包含了完整字段
* @param rules 反写上游源单的全部反写规则
*/
new(srcMainType:$.kd.bos.entity.BillEntityType,rules:$.java.util.List):BeforeReadSourceBillEventArgs;
}
interface BeforeReadSourceBillEventArgs$ {
/**
* 插件需要用到的源单字段
* @return
*/
getFieldKeys():$.java.util.List;
/**
* 反写上游源单的全部反写规则
* @return
*/
getRules():$.java.util.List;
/**
* 需要读取的源单内码:插件可以反写前,根据源单内码,读取第三方单据数据
* @return
*/
getSrcBillIds():$.java.util.Set;
/**
* 上游源单主实体,包含了完整字段
* @return
*/
getSrcMainType():$.kd.bos.entity.BillEntityType;
/**
* 传入源单内码
* @param srcBillIds
*/
setSrcBillIds(srcBillIds:$.java.util.Set):void;
}
type BeforeReadSourceBillEventArgs_T = WriteBackEventArgs & BeforeReadSourceBillEventArgs_S & BeforeReadSourceBillEventArgs$;
interface BeforeReadSourceBillEventArgs extends BeforeReadSourceBillEventArgs_T {
}
}
namespace kd.bos.entity.botp.runtime{
interface ConvertConst_S {
readonly BOTPTAG_OF_DATASOURCE:string;
readonly BOTP_CHILDVIEW_FROM_CONVERTRESULTFORM:string;
readonly BOTP_TRACK_SEARCH_ENTRY:string;
readonly ConvExtDataKey_AttachmentMappingSourceRowIds:string;
readonly ConvExtDataKey_IsNewEntity:string;
readonly ConvExtDataKey_SourceAttachmentPanelInfos:string;
readonly ConvExtDataKey_SourceRows:string;
readonly ConvExtDataKey_SourceRowsGroupKey:string;
readonly ConvPageCacheKey_AttachmentPanel:string;
readonly ConvPageCacheKey_ConvertOperationResult:string;
readonly ConvPageCacheKey_ConvertOperationResult_Simple:string;
readonly ConvPageCacheKey_CurrBillIndex:string;
readonly ConvPageCacheKey_NullBillnoBills:string;
readonly DataMutex_ISSTRICT:string;
readonly DataMutex_OPKEY_CONVERT:string;
readonly FOMR_CALL_SOURCE_TYPE_DRAW:string;
readonly FOMR_CALL_SOURCE_TYPE_PUSH:string;
readonly FOMR_CALL_SOURCE_TYPE_TRACK:string;
readonly FirstRelationOrgId:string;
readonly HasRight:string;
readonly OutFormula:string;
readonly PushByBill:string;
readonly Push_Target_Bill_FormId:string;
readonly Push_Target_Bill_MobFormId:string;
readonly Push_Target_Bills_FormId:string;
readonly Push_Target_Bills_MobFormId:string;
readonly RequireDataMutex:string;
readonly TRACK_OPTION_ONLY_BILL:string;
readonly TRACK_OPTION_ONLY_DIRT:string;
readonly TRACK_SHOW_BILL_CUST_PLUGIN:string;
readonly TRACK_SHOW_BILL_EDIT_STATUS:string;
readonly TargetMainOrgId:string;
}
interface ConvertConst_C extends ConvertConst_S {
new():ConvertConst;
}
interface ConvertConst$ {
}
type ConvertConst_T = ConvertConst_S & ConvertConst$;
interface ConvertConst extends ConvertConst_T {
}
interface GetTargetOptionalOrgsResult_S {
}
interface GetTargetOptionalOrgsResult_C extends GetTargetOptionalOrgsResult_S {
new():GetTargetOptionalOrgsResult;
}
interface GetTargetOptionalOrgsResult$ {
/**
* 提示消息
* @return
*/
getMessage():string;
/**
* 可选的组织清单
* @return
*/
getOrgIds():$.java.util.Set;
/**
* 是否有所有组织的新增权
* @return
*/
isHasAllOrgPerm():boolean;
/**
* 目标单是否有主组织字段
* @return
*/
isHasMainOrg():boolean;
/**
* 下推界面,是否需要显示组织选择下拉列表(如果没有找到可选委托组织,无需显示下拉列表)
* @return
*/
isShowTargetOrgCombo():boolean;
/**
* 是否执行成功
* @return
*/
isSuccess():boolean;
/**
* 设置是否有所有组织的新增权
* @param hasAllOrgPerm 是否有所有组织的新增权
*/
setHasAllOrgPerm(hasAllOrgPerm:boolean):void;
/**
* 设置目标单是否有主组织字段
* @param hasMainOrg 是否有主组织字段
*/
setHasMainOrg(hasMainOrg:boolean):void;
/**
* 设置提示消息
* @param message 提示消息
*/
setMessage(message:string):void;
/**
* 设置可选的组织清单
* @param orgIds 组织内码集
*/
setOrgIds(orgIds:$.java.util.Set):void;
/**
* 设置是否需要显示组织选择下拉列表 (下推界面)
* @param showTargetOrgCombo 是否需要显示组织选择下拉列表
*/
setShowTargetOrgCombo(showTargetOrgCombo:boolean):void;
/**
* 设置是否执行成功
* @param success 是否执行成功
*/
setSuccess(success:boolean):void;
}
type GetTargetOptionalOrgsResult_T = GetTargetOptionalOrgsResult_S & GetTargetOptionalOrgsResult$;
interface GetTargetOptionalOrgsResult extends GetTargetOptionalOrgsResult_T {
}
interface SourceRowReport_S {
}
type SourceRowReport_ST = $.java.io.Serializable & SourceRowReport_S;
interface SourceRowReport_C extends SourceRowReport_ST {
new():SourceRowReport;
}
interface SourceRowReport$ {
/**
* 源单主单据体行内码
* @return
*/
getEntryId():any;
/**
* 源单主单据体行号
* @return
*/
getEntrySeq():number;
/**
* 输出转换失败原因
* @return
*/
getFailMessage():string;
/**
* 转换失败原因说明
* @return
*/
getFailMessages():$.java.util.List;
/**
* 输出行信息,格式:单据(001),单据体第2行,子单据体第1行
* @return
*/
getRowInfo(billReport:SourceBillReport):string;
/**
* 输出行信息,格式:单据(001),单据体第2行,子单据体第1行
*
* @return
*/
getRowInfo(billNo:string,entryName:string,subEntryName:string):string;
/**
* 源单主子单据体行内码
* @return
*/
getSubEntryId():any;
/**
* 源单主子单据体行序号
* @return
*/
getSubEntrySeq():number;
/**
* 设置源单主单据体行内码
* @param entryId 源单主单据体行内码
*/
setEntryId(entryId:any):void;
/**
* 设置源单主单据体行号
* @param entrySeq 源单主单据体行号
*/
setEntrySeq(entrySeq:number):void;
/**
* 设置源单主子单据体行内码
* @param subEntryId 源单主子单据体行内码
*/
setSubEntryId(subEntryId:any):void;
/**
* 设置源单主子单据体行序号
* @param subEntrySeq 源单主子单据体行序号
*/
setSubEntrySeq(subEntrySeq:number):void;
}
type SourceRowReport_T = $.java.io.Serializable & SourceRowReport_S & SourceRowReport$;
interface SourceRowReport extends SourceRowReport_T {
}
interface DrawArgs_S {
}
type DrawArgs_ST = AbstractConvertServiceArgs_S & DrawArgs_S;
interface DrawArgs_C extends DrawArgs_ST {
/**
* 构造函数
* @param sourceEntityNumber 源单主实体编码
* @param targetEntityNumber 目标单主实体编码
* @param ruleId 规则内码
* @param selectedRows 所选源单行集合
* @param targetPageId 目标单界面PageId
*/
new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,selectedRows:$.java.util.List,targetPageId:string):DrawArgs;
}
interface DrawArgs$ {
/**
* 覆盖式选单:选单前,清除指定的单据体行
* @return
*/
getClearEntrys():$.java.util.List;
/**
* 源单行
* @return
*/
getSelectedRows():$.java.util.List;
/**
* 基于目标单PageId,到缓存中,读取目标单数据包
*
* @return
*/
getTargetDataEntity(refProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 目标单界面PageId
* @return
* @remark:
* 选单操作是在目标单,新增界面上进行的,需要把源单数据,填充到当前界面上
* 因此,需要传入当前目标单新增界面的数据包;
* 传入PageId后,可以据此到缓存中,获取到界面数据包
*/
getTargetPageId():string;
/**
* 设置需要清除的单据体行
* @param clearEntrys 单据体行
*/
setClearEntrys(clearEntrys:$.java.util.List):void;
/**
* 设置目标单界面PageId
* @param targetPageId 目标单界面PageId
*/
setTargetPageId(targetPageId:string):void;
}
type DrawArgs_T = AbstractConvertServiceArgs & DrawArgs_S & DrawArgs$;
interface DrawArgs extends DrawArgs_T {
}
interface BeforeDrawArgs_S {
}
type BeforeDrawArgs_ST = AbstractConvertServiceArgs_S & BeforeDrawArgs_S;
interface BeforeDrawArgs_C extends BeforeDrawArgs_ST {
/**
* 空参数构造函数:用于反序列化
*/
new():BeforeDrawArgs;
/**
* 构造函数
* @param sourceEntityNumber 源单主实体编码
* @param targetEntityNumber 目标单主实体编码
* @param ruleId 转换规则ID
* @param targetPageId 目标单界面PageId
*/
new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,targetPageId:string):BeforeDrawArgs;
}
interface BeforeDrawArgs$ {
/**
* 基于目标单PageId,到缓存中,读取目标单数据包
*
* @return
*/
getTargetDataEntity(refProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 目标单界面PageId
* @return
* @remark:
* 选单操作是在目标单,新增界面上进行的,需要把源单数据,填充到当前界面上
* 因此,需要传入当前目标单新增界面的数据包;
* 传入PageId后,可以据此到缓存中,获取到界面数据包
*/
getTargetPageId():string;
/**
* 是否禁止重复选分录
* @return
*/
isDuplicateEntryRemove():boolean;
/**
* 是否禁止重复选单
* @return
*/
isDuplicateRemove():boolean;
/**
* 设置是否禁止重复选分录
* @param duplicateEntryRemove 是否禁止重复选分录
*/
setDuplicateEntryRemove(duplicateEntryRemove:boolean):void;
/**
* 设置是否禁止重复选单
* @param duplicateRemove 是否禁止重复选单
*/
setDuplicateRemove(duplicateRemove:boolean):void;
/**
* 设置目标单界面PageId
* @param targetPageId 目标单界面PageId
*/
setTargetPageId(targetPageId:string):void;
}
type BeforeDrawArgs_T = AbstractConvertServiceArgs & BeforeDrawArgs_S & BeforeDrawArgs$;
interface BeforeDrawArgs extends BeforeDrawArgs_T {
}
interface BeforeDrawOpResult_S {
}
type BeforeDrawOpResult_ST = ConvertOperationResult_S & BeforeDrawOpResult_S;
interface BeforeDrawOpResult_C extends BeforeDrawOpResult_ST {
new():BeforeDrawOpResult;
}
interface BeforeDrawOpResult$ {
/**
* 选单前处理,输出的选单条件(格式:QFilter.toSerializedString())
* @return
* @remark
* 选单分为两个过程:
* 1. 选单前,解析规则,生成源单过滤条件;
* 2. 基于过滤条件,打开源单列表;用户选择行后,执行选单处理,把数据填写到目标单上
*/
getDrawFilter():string;
/**
* 选单前处理,输出源单关联主实体
* @return 源单关联主实体集合
*/
getDrawSelectedEntity():$.java.util.List;
/**
* 选单前处理,输出源单视图
* @return 源单视图
*/
getDrawSourceLayout():string;
/**
* 选单前处理,输出移动端源单视图
* @return 移动端源单视图
*/
getMobDrawSourceLayout():string;
/**
* 源单主业务组织
* @return 主业务组织ID
*/
getSrcMainOrgId():long;
/**
* 设置输出的选单条件(选单前处理)
* @param drawFilter 选单条件 (格式:QFilter.toSerializedString())
*/
setDrawFilter(drawFilter:string):void;
/**
* 设置输出的源单视图(选单前处理)
* @param drawSourceLayout 源单视图
*/
setDrawSourceLayout(drawSourceLayout:string):void;
/**
* 设置输出的移动端源单视图(选单前处理)
* @param mobDrawSourceLayout 源单视图
*/
setMobDrawSourceLayout(mobDrawSourceLayout:string):void;
/**
* 设置源单主业务组织
* @param srcMainOrgId 源单主业务组织
*/
setSrcMainOrgId(srcMainOrgId:long):void;
}
type BeforeDrawOpResult_T = ConvertOperationResult & BeforeDrawOpResult_S & BeforeDrawOpResult$;
interface BeforeDrawOpResult extends BeforeDrawOpResult_T {
}
interface ConvertOperationResult_S {
}
interface ConvertOperationResult_C extends ConvertOperationResult_S {
new():ConvertOperationResult;
}
interface ConvertOperationResult$ {
/**
* 把生成的目标单,存入缓存
*
* @param refDataProvider 引用数据读取服务
* @param mainType 主实体
* @param dataEntities 目标单
*/
addTargetDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,dataEntities:$.java.util.List):void;
/**
* 把生成的目标单,存入缓存
*
* @param refDataProvider 引用数据读取服务
* @param mainType 主实体
* @param dataEntities 目标单
*/
cacheAutoSavedDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,dataEntities:$.java.util.List):$.java.util.List;
/**
* 创建不包含目标单数据的返回结果, 在仅需要部分信息的场景下, 可有效减少使用端反序列化消耗
* @return
*/
createSimpleConvertOperationResult():this;
getBillAttachmentPanelInfos():$.java.util.Map;
/**
* 源单转换报告,主要包含转换失败的行报告,转换成功的行,自动略过
*
* @return
*/
getBillReports():$.java.util.List;
getBillUseRuleMap():$.java.util.Map;
/**
* 数据缓存pageId
* @return
* @remark
* 下推成功后,生成的数据包,是放在Redis缓存中的,以pageId为标识存取
*/
getCachePageIds():$.java.util.List;
/**
* 下推生成的目标单单据编号
* @return
*/
getCacheTargetBillno():$.java.util.Map;
/**
* 下推生成的目标单,序列化后的字符串内容
* @return
*/
getCacheTargetObjStr():$.java.util.Map;
/**
* 申请网控成功的源单:需要在保存目标单后及时释放网控
* @return
*/
getDataMutexSrcBillIds():$.java.util.Set;
/**
* 下推引擎,完成执行时间
* @return
*/
getFinishedTime():Date;
/**
* 序列化数据包时,目标单单据头字段清单
* @return
*/
getHeadFields():$.java.util.Set;
/**
* 提示消息
* @return
*/
getMessage():string;
getPksWhichNotFullCacheTargetObj():$.java.util.Set;
/**
* 下推引擎,运行时间(单位秒)
* @return
*/
getRunSecond():long;
/**
* 构建简单实体类型, 优化SQL查询耗时
* (属性集仅需要内码与编号)
* @param mainType 主实体类型
* @return
*/
getSimpleEntityType(mainType:$.kd.bos.entity.MainEntityType):$.kd.bos.entity.EntityType;
/**
* 源单主实体编码
* @return
*/
getSourceEntityNumber():string;
/**
* 下推引擎,开始执行时间
* @return
*/
getStartTime():Date;
/**
* 下推成功后,打开目标单使用的布局
* @return
*/
getTargetBillFormId():string;
/**
* 下推大单并保存,保存成功,输出目标单内码
* @return
*/
getTargetBillIds():$.java.util.Set;
/**
* 目标单主实体编码
* @return
*/
getTargetEntityNumber():string;
/**
* 移动端下推成功后,打开目标单使用的移动端布局
* @return
*/
getTargetMobFormId():string;
/**
* 是否下推成功
* @return
*/
isSuccess():boolean;
/**
* 从数据库读取单据数据包
* @param refDataProvider 引用数据读取服务
* @param mainType 主实体
* @param pkId 单据内码
* @return
*/
loadAutoSavedDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IDataProvider,mainType:$.kd.bos.entity.MainEntityType,pkId:any):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 从缓存中,读取指定单据返回
*
* @param refDataProvider 引用数据读取服务
* @param mainType 主实体
* @param pageId 缓存目标单时,给目标单随机生成的唯一标识
* @return
*/
loadTargetDataObject(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,pageId:string):$.kd.bos.dataentity.entity.DynamicObject;
loadTargetDataObject(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,pageId:string,loadReference:boolean):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 从缓存中,读取全部目标单返回;读取后,自动清除全部缓存
*
* @param refDataProvider 引用数据读取服务
* @param mainType 主实体
* @return
*/
loadTargetDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType):$.java.util.List;
/**
* 从缓存中,读取全部目标单返回;读取后,根据参数控制是否清除缓存
* @param refDataProvider
* @param mainType
* @param releaseCach 是否同时清除缓存
* @return
*/
loadTargetDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,releaseCach:boolean):$.java.util.List;
/**
* 获取下游单据第一张单,单据类型绑定的布局,默认返回"默认布局"
*
* @return
*/
loadTargetLayoutFormId():string;
/**
* 释放缓存
*
* @param refDataProvider
* @param mainType
*/
release(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType):void;
setBillAttachmentPanelInfos(billAttachmentPanelInfos:$.java.util.Map):void;
setBillUseRuleMap(billUseRuleMap:$.java.util.Map):void;
/**
* 设置数据缓存pageId
* @param cachePageIds 数据缓存pageId
*/
setCachePageIds(cachePageIds:$.java.util.List):void;
setCacheTargetBillno(cacheTargetBillno:$.java.util.Map):void;
/**
* 设置下推生成的目标单序列化字符串
* @param cacheTargetObjStr 目标单序列化字符串
*/
setCacheTargetObjStr(cacheTargetObjStr:$.java.util.Map):void;
/**
* 设置下推引擎完成执行时间
* @param finishedTime 完成执行时间
*/
setFinishedTime(finishedTime:Date):void;
/**
* 设置目标单单据头字段清单 (序列化数据包时)
* @param headFields 目标单单据头字段清单
*/
setHeadFields(headFields:$.java.util.Set):void;
/**
* 设置提示消息
* @param message 提示消息
*/
setMessage(message:string):void;
setPksWhichNotFullCacheTargetObj(pksWhichNotFullCacheTargetObj:$.java.util.Set):void;
/**
* 设置源单主实体编码
* @param sourceEntityNumber 源单主实体编码
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 设置下推引擎开始执行时间
* @param startTime 开始执行时间
*/
setStartTime(startTime:Date):void;
/**
* 设置是否下推成功
* @param success 是否下推成功
*/
setSuccess(success:boolean):void;
/**
* 设置目标单使用的布局 (下推成功后)
* @param targetBillFormId 目标单使用的布局
*/
setTargetBillFormId(targetBillFormId:string):void;
/**
* 设置目标单主实体编码
* @param targetEntityNumber 目标单主实体编码
*/
setTargetEntityNumber(targetEntityNumber:string):void;
/**
* 设置目标单使用的移动端布局 (移动端下推成功后)
* @param targetMobFormId 目标单使用的移动端布局
*/
setTargetMobFormId(targetMobFormId:string):void;
/**
* 更新单据数据包
*
* @param pageId 目标单唯一标识
* @param dataEntity 目标单最新的数据包
*/
updateTargetDataObject(pageId:string,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
updateTargetDataObject(pageId:string,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,isFullEntityType:boolean):void;
}
type ConvertOperationResult_T = ConvertOperationResult_S & ConvertOperationResult$;
interface ConvertOperationResult extends ConvertOperationResult_T {
}
interface AbstractConvertServiceArgs_S {
}
interface AbstractConvertServiceArgs_C extends AbstractConvertServiceArgs_S {
/**
* 空参数构造函数:用于反序列化
*/
new():AbstractConvertServiceArgs;
new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string):AbstractConvertServiceArgs;
}
interface AbstractConvertServiceArgs$ {
/**
* 增加自定义参数
*
* @param paramName 参数名
* @param paramValue 参数值
*/
addCustomParam(paramName:string,paramValue:string):void;
/**
* 当前应用,用此应用验权
* @return
*/
getAppId():string;
/**
* 自定义参数
* @return
*/
getCustomParams():$.java.util.Map;
/**
* 定时调度任务的taskId
* @return
*/
getJobTaskId():string;
/**
* 获取操作信息
* @return
*/
getOpInfo():OpInfo;
/**
* 单据转换,指定采用的规则
* @return
*/
getRuleId():string;
/**
* 源单主实体编码
* @return
*/
getSourceEntityNumber():string;
/**
* 目标单主实体编码
* @return
*/
getTargetEntityNumber():string;
/**
* 单据转换任务标识,可以根据这个任务标识,查到当前进度
* @return
*/
getTaskId():string;
/**
* 是否生成单据转换报告:生成报告需要花费时间,并且需要占用生成结果对象的空间,对于自动化生成,无需报告
* @return
*/
isBuildConvReport():boolean;
/**
* 设置应用id
* @param appId 应用ID
*/
setAppId(appId:string):void;
/**
* 设置是否生成单据转换报告
* @param buildConvReport 是否生成单据转换报告
*/
setBuildConvReport(buildConvReport:boolean):void;
setJobTaskId(jobTaskId:string):void;
setOpInfo(opInfo:OpInfo):void;
/**
* 设置单据转换规则
* @param ruleId 单据转换规则ID
*/
setRuleId(ruleId:string):void;
/**
* 设置源单主实体编码
* @param sourceEntityNumber 源单主实体编码
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 设置目标单主实体编码
* @param targetEntityNumber 目标单主实体编码
*/
setTargetEntityNumber(targetEntityNumber:string):void;
/**
* 设置单据转换任务标识
* @param taskId 单据转换任务标识
*/
setTaskId(taskId:string):void;
}
type AbstractConvertServiceArgs_T = AbstractConvertServiceArgs_S & AbstractConvertServiceArgs$;
interface AbstractConvertServiceArgs extends AbstractConvertServiceArgs_T {
}
interface OpInfo_S {
}
type OpInfo_ST = $.java.io.Serializable & OpInfo_S;
interface OpInfo_C extends OpInfo_ST {
new():OpInfo;
}
interface OpInfo$ {
getOpDesc():$.kd.bos.dataentity.entity.LocaleString;
getOpKey():string;
getOpName():$.kd.bos.dataentity.entity.LocaleString;
getOpType():string;
setOpDesc(opDesc:$.kd.bos.dataentity.entity.LocaleString):void;
setOpKey(opKey:string):void;
setOpName(opName:$.kd.bos.dataentity.entity.LocaleString):void;
setOpType(opType:string):void;
}
type OpInfo_T = $.java.io.Serializable & OpInfo_S & OpInfo$;
interface OpInfo extends OpInfo_T {
}
interface BFRow_S {
}
type BFRow_ST = $.java.io.Serializable & BFRow_S;
interface BFRow_C extends BFRow_ST {
new():BFRow;
}
interface BFRow$ {
/**
* 目标单行
* @return
*/
getId():BFRowId;
/**
* 源单行
* @return
*/
getSId():BFRowId;
/**
* 设置目标单行
* @param id 目标单行id
*/
setId(id:BFRowId):void;
/**
* 设置源单行
* @param sid 源单行id
*/
setSId(sid:BFRowId):void;
}
type BFRow_T = $.java.io.Serializable & BFRow_S & BFRow$;
interface BFRow extends BFRow_T {
}
interface SourceBillReport_S {
}
type SourceBillReport_ST = $.java.io.Serializable & SourceBillReport_S;
interface SourceBillReport_C extends SourceBillReport_ST {
new():SourceBillReport;
}
interface SourceBillReport$ {
/**
* 添加转换失败消息
* @param failMessage 失败消息
*/
addFailMessage(failMessage:string):void;
/**
* 增加关联主实体行数
* @param count
*/
addRowCount(count:number):void;
/**
* 添加分录行转换错误报告
*
* @param entityKey 分录标识
* @param rowReport 分录行错误报告
*/
addSourceRowReport(entityKey:string,rowReport:SourceRowReport):void;
/**
* 输出单据级转换摘要信息:成功多少行,失败多少行
*
* @return
*/
buildSummary():string;
/**
* 输出单据级转换摘要信息:成功多少行,失败多少行
*
* @param mainType 传入单据主实体,据此获取下级各单据体、子单据体的名称,生成准确的报告
*
* @return
*/
buildSummary(mainType:$.kd.bos.entity.MainEntityType):string;
/**
* 单据转换结束,把行转换报告,从Map转移到List中,以支持序列化、反序列化;
* 为减少数据传输量,每张单仅保留20条失败行信息及原因,其他全部舍弃掉
*/
copyReportToList():void;
/**
* 源单内码
* @return
*/
getBillId():any;
/**
* 源单编码
* @return
*/
getBillNo():string;
/**
* 从属实体行转换报告,实体 -> 实体的各行报告
* @return
*/
getDependEntityRowReports():$.java.util.Map;
/**
* 关联主单据体标识
* @return
*/
getEntryKey():string;
/**
* 关联主单据体名称
* @return
*/
getEntryName():string;
/**
* 输出整单失败原因:如果有行转换成功,则输出""
*
* @return
* @remark
* 1. 优先输出整单失败原因;
* 2. 其次取第一条分录行失败原因:其他行的失败原因大体和第一行一样,不需要重复输出;即使不一样,拼接在一起输出可读性也不好
*/
getFailMessage():string;
/**
* 整单转换失败消息
*/
getFailMessages():$.java.util.List;
/**
* 关联主实体,转换失败行数
* @return
*/
getFailRowCount():number;
/**
* 关联主实体
* @return
*/
getLinkEntityKey():string;
/**
* 关联主实体名称
* @return
*/
getLinkEntityName():string;
/**
* 关联主实体行转换报告
* @return
*/
getLinkEntityRowReports():$.java.util.List;
/**
* 关联主实体总行数
* @return
*/
getRowCount():number;
/**
* 输出行信息,格式:单据(001)
* @return
*/
getRowInfo():string;
/**
* 采用的转换规则内码
* @return
*/
getRuleId():string;
/**
* 采用的转换规则
* @return
*/
getRuleName():string;
/**
* 子单据体标识
* @return
*/
getSubEntryKey():string;
/**
* 子单据体名称
* @return
*/
getSubEntryName():string;
/**
* 是否完整的转换成功:即没有失败行
*
* @return
*/
isFullSuccess():boolean;
/**
* 转换有单据体行转换成功
* @return
*/
isSuccess():boolean;
/**
* 设置源单内码
* @param billId 源单内码
*/
setBillId(billId:any):void;
/**
* 设置源单编码
* @param billNo 源单编码
*/
setBillNo(billNo:string):void;
/**
* 设置关联主单据体标识
* @param entryKey 关联主单据体标识
*/
setEntryKey(entryKey:string):void;
/**
* 设置关联主单据体名称
* @param entryName 关联主单据体名称
*/
setEntryName(entryName:string):void;
/**
* 设置关联主实体
* @param linkEntityKey 关联主实体
*/
setLinkEntityKey(linkEntityKey:string):void;
/**
* 设置关联主实体名称
* @param linkEntityName 关联主实体名称
*/
setLinkEntityName(linkEntityName:string):void;
/**
* 设置采用的转换规则内码
* @param ruleId 转换规则内码
*/
setRuleId(ruleId:string):void;
/**
* 设置采用的转换规则名称
* @param ruleName 转换规则名称
*/
setRuleName(ruleName:string):void;
/**
* 设置子单据体标识
* @param subEntryKey 子单据体标识
*/
setSubEntryKey(subEntryKey:string):void;
/**
* 设置子单据体名称
* @param subEntryName 子单据体名称
*/
setSubEntryName(subEntryName:string):void;
}
type SourceBillReport_T = $.java.io.Serializable & SourceBillReport_S & SourceBillReport$;
interface SourceBillReport extends SourceBillReport_T {
}
interface BFRowId_S {
}
type BFRowId_ST = $.java.io.Serializable & BFRowId_S;
interface BFRowId_C extends BFRowId_ST {
/**
* 构造函数
* @param mainTableId 单据主表的表格编码
* @param billId 单据内码
* @param tableId 表格编码
* @param entryId 实体行内码
*/
new(mainTableId:long,billId:long,tableId:long,entryId:long):BFRowId;
}
interface BFRowId$ {
/**
* 单据内码
* @return
* @remark
* 冗余的数据:
* 从实体行内码,也能追查到单据内码,但是比较麻烦,在这个对象中,直接存下单据内码,后续处理比较方便
*/
getBillId():long;
/**
* 实体行内码
* @return
*/
getEntryId():long;
/**
* 单据主表的表格编码:用于明确单据类型
* @return
*/
getMainTableId():long;
/**
* 表格编码:每个单据的每个实体,都有个唯一的表格编码
*/
getTableId():long;
/**
* 设置单据内码
* @param billId 单据内码
*/
setBillId(billId:long):void;
/**
* 设置实体行内码
* @param entryId 实体行内码
*/
setEntryId(entryId:long):void;
/**
* 设置单据主表的表格编码
* @param mainTableId 单据主表的表格编码
*/
setMainTableId(mainTableId:long):void;
/**
* 设置表格编码
* @param tableId 表格编码
*/
setTableId(tableId:long):void;
}
type BFRowId_T = $.java.io.Serializable & BFRowId_S & BFRowId$;
interface BFRowId extends BFRowId_T {
}
interface BFRowLinkDownNode_S {
}
type BFRowLinkDownNode_ST = $.java.io.Serializable & BFRowLinkDownNode_S;
interface BFRowLinkDownNode_C extends BFRowLinkDownNode_ST {
/**
* 构造函数
* @param rowId 本节点对应的实体行
*/
new(rowId:BFRowId):BFRowLinkDownNode;
}
interface BFRowLinkDownNode$ {
/**
* 获取全部下游节点,包括直级下游、间接下游
*
* @return
*/
findAllChildNodes():$.java.util.List;
findTargetNodes(tMainTableId:long):$.java.util.List;
/**
* 在本节点的下游节点中,搜索指定单据节点
*
* @param tMainTableId 目标单主表的表格编码
* @return
*/
findTargetNodes(tMainTableId:long,sbillid:long):$.java.util.List;
/**
* 本节点对应的实体行
*/
getRowId():BFRowId;
/**
* 直级下游节点
*
* @return
* @remark
* 通常只有一个源头,如果有行合并,则会有多个源头;
* 如有多个源头,反写时,就需要按照比例分配反写量
*/
getTNodes():$.java.util.Map;
/**
* 设置本节点对应的实体行
* @param rowId 本节点对应的实体行
*/
setRowId(rowId:BFRowId):void;
/**
* 设置直级下游节点
* @param tNodes 直级下游节点
*/
setTNodes(tNodes:$.java.util.Map):void;
}
type BFRowLinkDownNode_T = $.java.io.Serializable & BFRowLinkDownNode_S & BFRowLinkDownNode$;
interface BFRowLinkDownNode extends BFRowLinkDownNode_T {
}
interface BFRowLinkUpNode_S {
}
type BFRowLinkUpNode_ST = $.java.io.Serializable & BFRowLinkUpNode_S;
interface BFRowLinkUpNode_C extends BFRowLinkUpNode_ST {
/**
* 构造函数
* @param rowId
*/
new(rowId:BFRowId):BFRowLinkUpNode;
}
interface BFRowLinkUpNode$ {
/**
* 获取全部上游节点,包括直级上游、间接上游
*
* @return
*/
findAllSourceNodes():$.java.util.List;
/**
* 在本节点的来源中,搜索指定源单节点
*
* @param sMainTableId 源单主表的表格编码
* @return
*/
findSourceNodes(sMainTableId:long):$.java.util.List;
/**
* 本节点对应的实体行
*/
getRowId():BFRowId;
/**
* 来源节点
* @return
* @remark
* 通常只有一个源头,如果有行合并,则会有多个源头;
* 如有多个源头,反写时,就需要按照比例分配反写量
*/
getSNodes():$.java.util.Map;
/**
* 设置本节点对应的实体行
* @param rowId 本节点对应的实体行
*/
setRowId(rowId:BFRowId):void;
/**
* 设置来源节点
* @param sNodes 来源节点
*/
setSNodes(sNodes:$.java.util.Map):void;
}
type BFRowLinkUpNode_T = $.java.io.Serializable & BFRowLinkUpNode_S & BFRowLinkUpNode$;
interface BFRowLinkUpNode extends BFRowLinkUpNode_T {
}
interface ConvertOpRule_S {
}
interface ConvertOpRule_C extends ConvertOpRule_S {
/**
* 构造函数
* @param ruleId 规则内码
* @param ruleName 规则名称
*/
new(ruleId:string,ruleName:string):ConvertOpRule;
}
interface ConvertOpRule$ {
/**
* 指定可选的单据类型
* @return
*/
getBillTypeIds():$.java.util.List;
/**
* 优先选择的单据类型
* @return
*/
getDefBillType():long;
/**
* 允许选择全部单据类型,但这些特别类型除外
* @return
*/
getInvalidBillTypeIds():$.java.util.List;
/**
* 规则内码
* @return
*/
getRuleId():string;
/**
* 规则名称
* @return
*/
getRuleName():string;
/**
* 是否允许全部单据类型,不需要指定可选的单据类型
* @return
*/
isAllBillType():boolean;
/**
* 选单时是否隐藏不可选
* @return
*/
isDrawVisibled():boolean;
/**
* 运行时是否隐藏不可选(仅供后台自动下推使用)
* @return
*/
isVisibled():boolean;
isVisibledCtrl():boolean;
/**
* 设置是否允许全部单据类型,不需要指定可选的单据类型
* @param allBillType 单据类型
*/
setAllBillType(allBillType:boolean):void;
/**
* 设置优先选择的单据类型
* @param defBillType 单据类型
*/
setDefBillType(defBillType:long):void;
/**
* 设置选单时是否隐藏不可选
* @param drawVisibled 选单时是否隐藏不可选
*/
setDrawVisibled(drawVisibled:boolean):void;
/**
* 设置规则内码
* @param ruleId 规则内码
*/
setRuleId(ruleId:string):void;
/**
* 设置规则名称
* @param ruleName 规则名称
*/
setRuleName(ruleName:string):void;
/**
* 设置运行时是否隐藏不可选(仅供后台自动下推使用)
* @param visibled 运行时是否隐藏不可选
*/
setVisibled(visibled:boolean):void;
setVisibledCtrl(visibledCtrl:boolean):void;
}
type ConvertOpRule_T = ConvertOpRule_S & ConvertOpRule$;
interface ConvertOpRule extends ConvertOpRule_T {
}
interface PushArgs_S {
}
type PushArgs_ST = AbstractConvertServiceArgs_S & PushArgs_S;
interface PushArgs_C extends PushArgs_ST {
/**
* 构造函数
* @param sourceEntityNumber 源单主实体编码
* @param targetEntityNumber 目标单主实体编码
* @param selectedRows 待下推的源单数据行
*/
new(sourceEntityNumber:string,targetEntityNumber:string,selectedRows:$.java.util.List):PushArgs;
}
interface PushArgs$ {
getCurrentOrgId():long;
/**
* 下推默认设置的主组织:优先取此组织,但需要满足主组织字段计算公式、权限要求、职能要求
* @return
*/
getDefOrgId():long;
/**
* 限定可用的转换规则范围,如果为空,则即时到数据库取所有可用的转换规则进行下推
* @return
*/
getRuleIds():$.java.util.Set;
/**
* 待下推的源单数据行
*
* @return
*/
getSelectedRows():$.java.util.List;
/**
* 是否下推自动保存,在转换规则和参数都启用的情况下才有效
* @return
*/
isAutoSave():boolean;
isCountUserRule():boolean;
/**
* 是否已经通过验权,不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要,如工作流审核通过后自动生成下游单据,不需要验权
* @return
*/
isHasRight():boolean;
isShowReport():boolean;
isWholeConvert():boolean;
/**
* 设置是否下推自动保存,在转换规则和参数都启用的情况下才有效
* @param autoSave 是否下推自动保存
*/
setAutoSave(autoSave:boolean):void;
setCountUserRule(countUserRule:boolean):void;
setCurrentOrgId(currentOrgId:long):void;
/**
* 设置下推默认设置的主组织
* @param defOrgId 组织ID
*/
setDefOrgId(defOrgId:long):void;
/**
* 设置是否已经通过验权,不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要,如工作流审核通过后自动生成下游单据,不需要验权
* @param hasRight 是否已经通过验权
*/
setHasRight(hasRight:boolean):void;
/**
* 设置待下推的源单数据行
* @param selectedRows 待下推的源单数据行
*/
setSelectedRows(selectedRows:$.java.util.List):void;
setShowReport(showReport:boolean):void;
setWholeConvert(wholeConvert:boolean):void;
}
type PushArgs_T = AbstractConvertServiceArgs & PushArgs_S & PushArgs$;
interface PushArgs extends PushArgs_T {
}
interface GetTargetOptionalOrgsArgs_S {
}
type GetTargetOptionalOrgsArgs_ST = PushArgs_S & GetTargetOptionalOrgsArgs_S;
interface GetTargetOptionalOrgsArgs_C extends GetTargetOptionalOrgsArgs_ST {
new():GetTargetOptionalOrgsArgs;
}
interface GetTargetOptionalOrgsArgs$ {
}
type GetTargetOptionalOrgsArgs_T = PushArgs & GetTargetOptionalOrgsArgs_S & GetTargetOptionalOrgsArgs$;
interface GetTargetOptionalOrgsArgs extends GetTargetOptionalOrgsArgs_T {
}
interface TableDefine_S {
}
interface TableDefine_C extends TableDefine_S {
new():TableDefine;
}
interface TableDefine$ {
/**
* 获取实体标识:单据头、单据体、或子单据体的标识
*
* 根实体此属性值和{@link #getEntityNumber()}相同
*
* @return 实体标识
*/
getEntityKey():string;
/**
* 获取单据根实体编码:根实体,即单据头
*
* @return 单据根实体编码
*/
getEntityNumber():string;
/**
* 返回表格编码
*
* 全部单据的实体,表格编码互不重复,BOTP使用表格编码,确认来源单据+实体
*
* @return 表格编码
*/
getTableId():long;
/**
* 设置实体标识
*
* @param entityKey 实体标识
*/
setEntityKey(entityKey:string):void;
/**
* 设置单据根实体编码
*
* @param entityNumber 单据根实体编码
*/
setEntityNumber(entityNumber:string):void;
/**
* 设置表格编码
*
* @param tableId 表格编码
*/
setTableId(tableId:long):void;
}
type TableDefine_T = TableDefine_S & TableDefine$;
interface TableDefine extends TableDefine_T {
}
}
namespace kd.bos.entity.ca{
interface SignScheme_S {
readonly T_BD_SIGNSCHEME:string;
}
interface SignScheme_C extends SignScheme_S {
new():SignScheme;
new(formNumber:string,formName:string,org:long,signField:string,signOperates:$.java.util.List,verifyOperate:string):SignScheme;
}
interface SignScheme$ {
getBizAppId():string;
getFormBizAppId():string;
getFormName():string;
getFormNumber():string;
getId():long;
/**
* 获取签名字段,如果要显示名称
* 名称是多语言字段得从元数据获取
* @param fields
* @return
*/
getListString(fields:$.java.util.List):string;
getOrg():long;
getSignField():string;
getSignFieldDesc():string;
getSignOperate():string;
getSignOperateDesc():string;
getVerifyOperate():string;
getVerifyOperateDesc():string;
setBizAppId(bizAppId:string):void;
setFormBizAppId(formBizAppId:string):void;
setFormName(formName:string):void;
setFormNumber(formNumber:string):void;
setId(id:long):void;
setOrg(org:long):void;
setSignField(signField:string):void;
setSignFieldDesc(signFieldDesc:string):void;
setSignOperate(signOperate:string):void;
setSignOperateDesc(signOperateDesc:string):void;
setVerifyOperate(verifyOperate:string):void;
setVerifyOperateDesc(verifyOperateDesc:string):void;
}
type SignScheme_T = SignScheme_S & SignScheme$;
interface SignScheme extends SignScheme_T {
}
interface VerifySignInfo_S {
}
type VerifySignInfo_ST = $.java.io.Serializable & VerifySignInfo_S;
interface VerifySignInfo_C extends VerifySignInfo_ST {
new():VerifySignInfo;
new(success:boolean):VerifySignInfo;
new(success:boolean,message:string):VerifySignInfo;
}
interface VerifySignInfo$ {
getMessage():string;
isSuccess():boolean;
setMessage(message:string):void;
setSuccess(success:boolean):void;
}
type VerifySignInfo_T = $.java.io.Serializable & VerifySignInfo_S & VerifySignInfo$;
interface VerifySignInfo extends VerifySignInfo_T {
}
interface CertInfo_S {
}
type CertInfo_ST = $.java.io.Serializable & CertInfo_S;
interface CertInfo_C extends CertInfo_ST {
new():CertInfo;
}
interface CertInfo$ {
getBegin():Date;
getCertIssuer():string;
getCertName():string;
getEnable():number;
getEnd():Date;
getIssuer():$.kd.bos.dataentity.entity.LocaleString;
getPublicKey():string;
getSerialNumber():string;
setBegin(arg0:Date):void;
setCertIssuer(arg0:string):void;
setCertName(arg0:string):void;
setEnable(arg0:number):void;
setEnd(arg0:Date):void;
setIssuer(arg0:$.kd.bos.dataentity.entity.LocaleString):void;
setPublicKey(arg0:string):void;
setSerialNumber(arg0:string):void;
}
type CertInfo_T = $.java.io.Serializable & CertInfo_S & CertInfo$;
interface CertInfo extends CertInfo_T {
}
}
namespace kd.bos.entity.cache{
interface AppCache_S {
/**
* 获取业务应用缓存接口实现类,可基于此访问业务应用缓存
* @param appKey 应用标识,如"gl"
* @return 缓存接口实现类
*/
get(appKey:string):IAppCache;
}
interface AppCache_C extends AppCache_S {
new():AppCache;
}
interface AppCache$ {
}
type AppCache_T = AppCache_S & AppCache$;
interface AppCache extends AppCache_T {
}
interface RedisModelCache_S {
}
type RedisModelCache_ST = $.kd.bos.entity.cache.IModelCache & RedisModelCache_S;
interface RedisModelCache_C extends RedisModelCache_ST {
new(refProvide:$.kd.bos.entity.datamodel.IRefrencedataProvider,dt:$.kd.bos.entity.MainEntityType,pageId:string):RedisModelCache;
}
interface RedisModelCache$ {
saveRemovedItemFlag():void;
}
type RedisModelCache_T = $.kd.bos.entity.cache.IModelCache & RedisModelCache_S & RedisModelCache$;
interface RedisModelCache extends RedisModelCache_T {
}
interface IBusinessAppCache_S {
}
interface IBusinessAppCache$ {
/**
* 清空缓存==removeAll
* 当前clear还未实现,暂请自行管理key,通过remove进行清理,敬请期待
*/
clear():void;
/**
* 获取缓存值,可能返回null
*
* @param key 缓存标识
* @param clazz 缓存数据类型
* @return 读取缓存值,反序列化为指定的类型
* @param 缓存数据类型
*/
get(key:string,clazz:$.java.lang.Class):any;
/**
* 存入
* @param key 缓存标识
* @param value 缓存数据,不限类型,平台自动序列化为字符串后存入缓存;推荐传入String类型,自行序列化,避免平台自动序列化、反序列化时丢失信息
*/
put(key:string,value:any):void;
/**
* 存入,主动设置缓存有效时长
* @param key 缓存标识
* @param value 缓存数据
* @param timeout 缓存有效时长,单位秒
*/
put(key:string,value:any,timeout:number):void;
/**
* 移除缓存:缓存使用完毕,请及时调用此方法,避免泄露
* @param key 缓存标识
*/
remove(key:string):void;
}
type IBusinessAppCache_T = IBusinessAppCache_S & IBusinessAppCache$;
interface IBusinessAppCache extends IBusinessAppCache_T {
}
interface IAppCache_S {
}
interface IAppCache$ {
/**
* 清空缓存==removeAll
* 当前clear还未实现,暂请自行管理key,通过remove进行清理,敬请期待
*/
clear():void;
/**
* 获取缓存值,可能返回null
*
* @param key 缓存标识
* @param clazz 缓存数据类型
* @return 读取缓存值,反序列化为指定的类型
* @param 缓存数据类型
*/
get(key:string,clazz:$.java.lang.Class):any;
/**
* 存入
* @param key 缓存标识
* @param value 缓存数据,不限类型,平台自动序列化为字符串后存入缓存;推荐传入String类型,自行序列化,避免平台自动序列化、反序列化时丢失信息
*/
put(key:string,value:any):void;
/**
* 存入,主动设置缓存有效时长
* @param key 缓存标识
* @param value 缓存数据
* @param timeout 缓存有效时长,单位秒
*/
put(key:string,value:any,timeout:number):void;
/**
* 移除缓存:缓存使用完毕,请及时调用此方法,避免泄露
* @param key 缓存标识
*/
remove(key:string):void;
}
type IAppCache_T = IAppCache_S & IAppCache$;
interface IAppCache extends IAppCache_T {
}
interface CacheKeyUtil_S {
/**
* 获取账套隔离的缓存Key
*
* @return
*/
getAcctId():string;
/**
* 获取表单页面数据缓存 过期时间
*
* @return
*/
getPageCacheKeyTimeout():number;
}
interface CacheKeyUtil_C extends CacheKeyUtil_S {
new():CacheKeyUtil;
}
interface CacheKeyUtil$ {
}
type CacheKeyUtil_T = CacheKeyUtil_S & CacheKeyUtil$;
interface CacheKeyUtil extends CacheKeyUtil_T {
}
interface TableCache_S {
}
interface TableCache$ {
/**
* 表单模型IDataModel是否采用了临时表存储界面数据:适用于大单模式,分录行超多
* @return 默认返回false,当实际表单使用了临时表存储界面数据时,重写此方法返回true
*/
useTableCache?():boolean;
}
type TableCache_T = TableCache_S & TableCache$;
interface TableCache extends TableCache_T {
}
interface IModelCache_S {
}
interface IModelCache$ {
/**
* 添加分录数据集合
*
* @param entryName 分录名称
* @param cols 分录数据集合
*/
appendEntryRows(entryName:string,cols:$.kd.bos.dataentity.entity.DynamicObject[]):void;
/**
* 在指定行插入分录集合数据
*
* @param entryName 分录名称
* @param rowIndex 行索引
* @param cols 分录集合数据
*/
appendEntryRows(entryName:string,rowIndex:number,cols:$.kd.bos.dataentity.entity.DynamicObject[]):void;
/**
* 删除分录行
*
* @param entryName 分录名称
* @param rowIndex 行索引
*/
delEntryRow(entryName:string,rowIndex:number):void;
/**
* 批量删除分录行
*/
delEntryRows(entryName:string,rowIndices:number[]):void;
/**
* 删除数据数据
*
* @param entryKey 分录名称
*/
deleteEntryData(entryKey:string):void;
expireAfter(timeout:number):void;
/**
* @return 返回所有数据
*/
getAll():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 返回分录条数
*
* @param entryName 分录名称
* @return 条数
*/
getEntryRowCount(entryName:string):number;
/**
* 根据分录属性返回分录集合数据
*
* @param prop 分录属性
* @return 分录集合数据
*/
getEntryRowDataEntities(prop:kd.bos.entity.property.EntryProp):$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 返回指定行范围分录行数据
*
* @param entryName 分录名称
* @param startRowIndex 起始行
* @param endRowIndex 结束行
* @return 分录行数据集合
*/
getEntryRowDataEntities(entryName:string,startRowIndex:number,endRowIndex:number):$.java.util.List;
/**
* 根据分录名称和行号返回分录行数据
*
* @param entryName 分录名称
* @param rowIndex 分录行号
* @return 分录行数据
*/
getEntryRowDataEntity(entryName:string,rowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
getRemovedItemFlag():boolean;
/**
* @return 返回缓存单据数据(根结点)
*/
getRootDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 在指定行插入分录集合数据
*
* @param entryName 分录名称
* @param rowIndex 行索引
* @param cols 分录集合数据
*/
insertEntryRows(entryName:string,rowIndex:number,cols:$.kd.bos.dataentity.entity.DynamicObject[]):void;
isChanged():boolean;
/**
* 缓存中,是否存在数据包 : 界面刚创建时,缓存中没有数据
*/
isExistDataEntity?():boolean;
/**
* 移动分录行,从选择行数组移动到目标行
* @param entryName 分录编码
* @param formIndexs 选择行号数组(序号从零开始)
* @param toIndex 目标行号(序号从零开始)
*/
moveEntryBlockRows(entryName:string,formIndexs:number[],toIndex:number):void;
/**
* 移动分录行,从选择行后面len行移动到目标行
* @param entryName 分录编码
* @param startIndex 起始行号
* @param len 长度
* @param toIndex 目标行号
*/
moveEntryBlockRows(entryName:string,startIndex:number,len:number,toIndex:number):void;
/**
* 释放缓存连接
*/
release():void;
setRemovedItemFlag(b:boolean):void;
/**
* 将数据集存储到缓存
*
* @param dataEntity 数据集
*/
storeAll(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
storeChanged():void;
storeEntry(cols:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
/**
* 交换分录两行的数据
*
* @param entryName 分录名称
* @param rowIndex1 交换行1
* @param rowIndex2 交换行2
*/
swapEntryRow(entryName:string,rowIndex1:number,rowIndex2:number):void;
}
type IModelCache_T = kd.bos.entity.datamodel.IEntryFilter & IModelCache_S & IModelCache$;
interface IModelCache extends IModelCache_T {
}
}
namespace kd.bos.entity.ctbotp{
interface CtConvertPath_S {
}
interface CtConvertPath_C extends CtConvertPath_S {
new():CtConvertPath;
}
interface CtConvertPath$ {
getBizAppId():string;
getSourceAccountId():string;
getSourceAccountNumber():string;
getSourceBizAppId():string;
getSourceBizAppName():string;
getSourceEntityName():string;
getSourceEntityNumber():string;
getSourceTenant():string;
getTargetAccountId():string;
getTargetAccountNumber():string;
getTargetBizAppId():string;
getTargetBizAppName():string;
getTargetEntityName():string;
getTargetEntityNumber():string;
getTargetTenant():string;
setBizAppId(arg0:string):void;
setSourceAccountId(arg0:string):void;
setSourceAccountNumber(arg0:string):void;
setSourceBizAppId(arg0:string):void;
setSourceBizAppName(arg0:string):void;
setSourceEntityName(arg0:string):void;
setSourceEntityNumber(arg0:string):void;
setSourceTenant(arg0:string):void;
setTargetAccountId(arg0:string):void;
setTargetAccountNumber(arg0:string):void;
setTargetBizAppId(arg0:string):void;
setTargetBizAppName(arg0:string):void;
setTargetEntityName(arg0:string):void;
setTargetEntityNumber(arg0:string):void;
setTargetTenant(arg0:string):void;
}
type CtConvertPath_T = CtConvertPath_S & CtConvertPath$;
interface CtConvertPath extends CtConvertPath_T {
}
enum CtGroupByMode {
AllInOne,
OneToOne,
GroupByField
}
interface CtFilterPolicy_S {
}
interface CtFilterPolicy_C extends CtFilterPolicy_S {
/**
* 默认构造函数
*/
new():CtFilterPolicy;
}
interface CtFilterPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:CtConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 条件对象
*
* @return
*/
getConditionList():$.java.util.List;
getDataRangeMode():string;
setConditionList(conditionList:$.java.util.List):void;
setDataRangeMode(dataRangeMode:string):void;
}
type CtFilterPolicy_T = CtFilterPolicy_S & CtFilterPolicy$;
interface CtFilterPolicy extends CtFilterPolicy_T {
}
interface CtAttachmentPanelMapItem_S {
}
interface CtAttachmentPanelMapItem_C extends CtAttachmentPanelMapItem_S {
new():CtAttachmentPanelMapItem;
}
interface CtAttachmentPanelMapItem$ {
getAttachmentPanelMergeType():string;
/**
* 自动产生的唯一标识
* @return
*/
getId():string;
getSeq():number;
getSourceAttachmentPanel():string;
getTargetAttachmentPanel():string;
setAttachmentPanelMergeType(attachmentPanelMergeType:string):void;
setId(value:string):void;
setSeq(seq:number):void;
setSourceAttachmentPanel(sourceAttachmentPanel:string):void;
setTargetAttachmentPanel(targetAttachmentPanel:string):void;
}
type CtAttachmentPanelMapItem_T = CtAttachmentPanelMapItem_S & CtAttachmentPanelMapItem$;
interface CtAttachmentPanelMapItem extends CtAttachmentPanelMapItem_T {
}
enum CtFieldConvertType {
SourceField,
Formula,
ByCondition,
CONSTANT
}
interface CtConvertBill_S {
}
interface CtConvertBill_C extends CtConvertBill_S {
new():CtConvertBill;
}
interface CtConvertBill$ {
/**
* 实体名称
* @return
*/
getEntityName():string;
/**
* 实体编码
* @return
*/
getEntityNumber():string;
/**
* 可用的转换规则
* @return
*/
getRules():$.java.util.List;
/**
* 源单编码
* @return
*/
getSourceEntityNumber():string;
/**
* 是否第三方下推
* @return
*/
getThirdPush():boolean;
/**
* 设置实体名称
* @param entityName
*/
setEntityName(entityName:string):void;
/**
* 设置实体编码
* @param entityNumber
*/
setEntityNumber(entityNumber:string):void;
setSourceEntityNumber(sourceEntityNumber:string):void;
setThirdPush(thirdPush:boolean):void;
}
type CtConvertBill_T = CtConvertBill_S & CtConvertBill$;
interface CtConvertBill extends CtConvertBill_T {
}
interface CtDataEntity_S {
}
type CtDataEntity_ST = $.java.io.Serializable & CtDataEntity_S;
interface CtDataEntity_C extends CtDataEntity_ST {
new():CtDataEntity;
new(entityKey:string,joinEntityKeys:string):CtDataEntity;
}
interface CtDataEntity$ {
addChildEntitys(entityKey:string,joinEntityKeys:string,ctDataEntity:CtDataEntity):void;
createChildEntitys(entityKey:string,joinEntityKeys:string,count:number):void;
getAttachmentPanelMapList():$.java.util.List;
getBillTypeInfo():kd.bos.entity.ctbotp.billtype.BillTypeInfo;
getChildEntity(entityKey:string):$.java.util.List;
getChildEntitys():$.java.util.Map;
getEntityKey():string;
getFields():$.java.util.List;
getId():long;
getJoinEntityKeys():string;
getSeq():number;
getSrcBillId():long;
initProp(entityKey:string,joinEntityKeys:string):void;
isConver():boolean;
isExistNextBatch():boolean;
isFirstBatch():boolean;
setAttachmentPanelMapList(attachmentPanelMapList:$.java.util.List):void;
setBillTypeInfo(billTypeInfo:kd.bos.entity.ctbotp.billtype.BillTypeInfo):void;
setBillTypeInfo(ctDataEntity:CtDataEntity,sBillTypeId:long,tBillTypeId:long):void;
setChildEntitys(childEntitys:$.java.util.Map):void;
setConver(conver:boolean):void;
setEntityKey(entityKey:string):void;
setExistNextBatch(existNextBatch:boolean):void;
setFields(fields:$.java.util.List):void;
setFirstBatch(firstBatch:boolean):void;
setId(id:long):void;
setJoinEntityKeys(joinEntityKeys:string):void;
setSeq(seq:number):void;
}
type CtDataEntity_T = $.java.io.Serializable & CtDataEntity_S & CtDataEntity$;
interface CtDataEntity extends CtDataEntity_T {
}
interface CtFieldMapItem_S {
}
type CtFieldMapItem_ST = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapItem_S;
interface CtFieldMapItem_C extends CtFieldMapItem_ST {
/**
* 默认构造函数
*/
new():CtFieldMapItem;
}
interface CtFieldMapItem$ {
/**
* 按常量取值
* 去常量Id,支持基础资料与下拉列表
*
* @return
*/
getConstant():$.kd.bos.entity.botp.CRFormula;
/**
* 输出字段取值模式的名称,用于序列化
*
* @return
*/
getConvertType():string;
/**
* 输出(字段取值模式+取值公式hashCode)合并成的字符串,由序列化自动调用
*
* @return
*/
getConvertType2():string;
/**
* 字段取值模式:取源单字段、取计算公式、按条件取值
*
* @return
*/
getCtFieldConvertType():CtFieldConvertType;
/**
* 多行合并时,字段值合并模式:取第一行,合计、平均、计数、最大、最小、拼接
*
* @return
*/
getCtFieldSumType():CtFieldSumType;
/**
* 计算公式
*
* @return
*/
getFormula():$.kd.bos.entity.botp.CRFormula;
/**
* 源单字段标识
*
* @return :
* @remark: 源单字段标识有如下几种格式:
* 1. id: 取单据主键;
* 2. entityKey.id : 取单据体主键;
* 3. entityKey.seq : 取单据体行序号;
* 4. fieldKey : 取源单字段;
* 5. fieldKey.property :取基础资料字段的属性
* 6. fieldKey.property.subProperty : 取基础资料字段的嵌套属性
*/
getSourceFieldKey():string;
/**
* 字段值合并模式,用于序列化
*
* @return
*/
getSumType():string;
getTargetEntityKeys():string;
getTargetFieldBaseDataNumber():string;
/**
* 目标字段
*
* @return
*/
getTargetFieldKey():string;
getTargetFieldType():string;
/**
* 输出按条件取数设置的整体json字符串
*
* @return
* @remark 输出字段取值映射时,把按条件取值设置整体打包序列化为字符串;
* 现场扩展调整了按条件取值中的条件或取值公式后,会输出完整的按条件取值设置,
* 后续预置规则升级,还是会以现场扩展配置的取值条件和计算公式为准,不会被覆盖,各条件执行优先级得到保障
*/
getValByCondiionsString():string;
/**
* 按条件取值
*
* @return
*/
getValByConditions():CtCRValByConditions;
/**
* 如果目标组织没有分配此基础资料,是否中断下推过程?
*
* @return
* @remark: 如果不中断,则填写基础资料字段为空;
*/
isBreakForNoDistribute():boolean;
/**
* 是否仅携带已审核的数据
*
* @return
*/
isOnlyTakeApprovedData():boolean;
/**
* 是否仅携带未禁用的数据
*
* @return
*/
isOnlyTakeUsedData():boolean;
/**
* 判断字段映射配置是否完整有效:无效的规则,不能在运行时被使用
* 判断标准:取值模式和取值公式一致
*
* @return
*/
isValid():boolean;
setBreakForNoDistribute(breakForNoDistribute:boolean):void;
setConstant(constant:$.kd.bos.entity.botp.CRFormula):void;
setConvertType(convertType:string):void;
setConvertType2(convertType2:string):void;
setCtFieldConvertType(ctFieldConvertType:CtFieldConvertType):void;
setCtFieldSumType(ctFieldSumType:CtFieldSumType):void;
setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
setOnlyTakeApprovedData(onlyTakeApprovedData:boolean):void;
setOnlyTakeUsedData(onlyTakeUsedData:boolean):void;
setSourceFieldKey(sourceFieldKey:string):void;
setSumType(sumType:string):void;
setTargetEntityKeys(targetEntityKeys:string):void;
setTargetFieldBaseDataNumber(targetFieldBaseDataNumber:string):void;
setTargetFieldKey(targetFieldKey:string):void;
setTargetFieldType(targetFieldType:string):void;
setValByCondiionsString(valByCondiionsString:string):void;
setValByConditions(valByConditions:CtCRValByConditions):void;
}
type CtFieldMapItem_T = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapItem_S & CtFieldMapItem$;
interface CtFieldMapItem extends CtFieldMapItem_T {
}
enum CtConvertOpType {
Push,
SpecPush,
BeforeDraw,
Draw,
SpecDraw
}
interface CtGroupByPolicy_S {
}
interface CtGroupByPolicy_C extends CtGroupByPolicy_S {
/**
* 默认构造函数
*/
new():CtGroupByPolicy;
}
interface CtGroupByPolicy$ {
/**
* 单据体行合并方式:一对一、全部合并、按字段合并
*
* @return
*/
getCtGroupByMode2():CtGroupByMode;
/**
* 子单据体行合并方式:一对一、全部合并、按字段合并
*
* @return
*/
getCtGroupByMode3():CtGroupByMode;
/**
* 分单依赖的字段:只有按字段分单模式下,这个属性才会赋值
*/
getGroupByField():string;
/**
* 单据体行合并依赖字段:只有按字段合并模式下,这个属性才会赋值
*
* @return
*/
getGroupByField2():string;
/**
* 单据体行合并依赖字段:只有按字段合并模式下,这个属性才会赋值
*
* @return
*/
getGroupByField3():string;
/**
* 单据分单方式:一对一、全部合并、按字段分单
*
* @return
*/
getGroupByMode():CtGroupByMode;
/**
* 分单模式,用于序列化
*
* @return
* @remark 枚举类型属性,序列化、反序列化时,非常麻烦;特别定义一个字符串类型属性,专用于序列化
*/
getGroupMode():string;
/**
* 单据体行合并模式,用于序列化
*
* @return
*/
getGroupMode2():string;
/**
* 子单据体行合并方式,用于序列化
*
* @return
*/
getGroupMode3():string;
/**
* 单据体行合并方式
*
* @param groupByMode2
*/
setCtGroupByMode2(groupByMode2:CtGroupByMode):void;
/**
* 子单据体行合并方式
*
* @param groupByMode3
*/
setCtGroupByMode3(groupByMode3:CtGroupByMode):void;
/**
* 分单依赖的字段
*
* @param groupByField
*/
setGroupByField(groupByField:string):void;
/**
* 单据体行合并依赖字段
*
* @param groupByField2
*/
setGroupByField2(groupByField2:string):void;
/**
* 单据体行合并依赖字段
*
* @param groupByField3
*/
setGroupByField3(groupByField3:string):void;
/**
* 单据分单方式:一对一、全部合并、按字段分单
*
* @param groupByMode
*/
setGroupByMode(groupByMode:CtGroupByMode):void;
/**
* 分单模式,用于序列化
*
* @param groupMode
*/
setGroupMode(groupMode:string):void;
/**
* 单据体行合并模式,用于序列化
*
* @param groupMode
*/
setGroupMode2(groupMode:string):void;
/**
* 子单据体行合并方式
*
* @param groupMode
*/
setGroupMode3(groupMode:string):void;
}
type CtGroupByPolicy_T = CtGroupByPolicy_S & CtGroupByPolicy$;
interface CtGroupByPolicy extends CtGroupByPolicy_T {
}
interface CtConvertRuleElement_S {
}
interface CtConvertRuleElement_C extends CtConvertRuleElement_S {
/**
* 构造函数
*/
new():CtConvertRuleElement;
}
interface CtConvertRuleElement$ {
/**
* 检查规则配置是否合理
*
* @param parentPoint 父检查点
* @param checkResult 输出检查结果
* @return
*/
check(srcMainTypeDto:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,tgtMainTypeDto:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
/**
* 运行时版本,格式:yyyy-MM-dd hh:mm:ss
*
* @return
*/
getCacheVersion():string;
/**
* 最近一次检查版本时间
*
* @return
*/
getCheckVersionTimeMillis():long;
/**
* 附件面板映射策略
*
* @return
*/
getCtAttachmentPanelMapPolicy():CtAttachmentPanelMapPolicy;
/**
* 单据类型映射策略
*
* @return
*/
getCtBillTypeMapPolicy():CtBillTypeMapPolicy;
/**
* 启动条件
*
* @return
*/
getCtCRCondition():CtCRCondition;
getCtFieldMapPolicy():CtFieldMapPolicy;
getCtFilterPolicy():CtFilterPolicy;
/**
* 分单合并策略
*
* @return
*/
getCtGroupByPolicy():CtGroupByPolicy;
/**
* 关联主实体策略
*
* @return
*/
getCtLinkEntityPolicy():CtLinkEntityPolicy;
getCtOptionPolicy():CtOptionPolicy;
/**
* 插件策略
*
* @return
*/
getCtPlugInPolicy():CtPlugInPolicy;
getCurrentVerId():long;
getExtVerId():long;
/**
* 自动生成的唯一标识,永不改变
*
* @return
*/
getId():string;
/**
* 规则名称,用户输入
*
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
getSourceAccountNumber():string;
/**
* 源单数据中心
*
* @return
*/
getSourceDataCenter():string;
getSourceEntityName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 源单实体编码
*
* @return
*/
getSourceEntityNumber():string;
/**
* 源单租户
*
* @return
*/
getSourceTenant():string;
getSyncType():string;
/**
* 出厂时的状态:0 = 正常;1 = 禁用;出厂时的禁用状态最优先
*
* @return
* @remark 系统出厂状态的存取:
* 1. 通过物理表格字段存储系统出厂状态,忽略XML中的值及其差量
* 2. 暂时不提供用户修改出厂状态的入口(只能预插SQL语句更改),因此,忽略掉用户自行扩展的规则状态,不考虑差量化
* 3. 取数时,使用规则对应的出厂状态值,直接替换XML中的值
* 4. 存储时,把规则的出厂状态值,存回字段
* 5. 上述存取功能,通过DesignWriteBackRuleMeta实体对象实现
*/
getSysStatus():string;
getTargetAccountNumber():string;
/**
* 目标单数据中心
*
* @return
*/
getTargetDataCenter():string;
getTargetEntityName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 目标单实体编码
*
* @return
*/
getTargetEntityNumber():string;
/**
* 目标单租户
*
* @return
*/
getTargetTenant():string;
/**
* 目标单数据中心
*
* @return
*/
getTenantPath():string;
getsBizAppId():string;
getsBizAppName():$.kd.bos.dataentity.entity.LocaleString;
gettBizAppId():string;
gettBizAppName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 是否启用
*
* @return
* @remark 是否启用判断说明:
* 1. 规则状态,有单独表格存储,t_BOTP_ConvertRule_S.FEnabled(0 = 未启用, 1= 启用)存储;
* 2. 原生规则、扩展规则,可以分别设置启用状态,但是其含义不同:原生规则的启用状态,确定此规则是否允许使用;扩展规则的启用状态,确定此扩展是否启用
* 3. 读取规则时,在元数据插件中,从数据库字段单独读取启用状态,覆盖XML中的状态值
* 5. 保存规则时,从对象中,提取状态值,更新数据库表格规则状态字段值;
* 6. 提交SVN生成的文件中,不包含状态值,避免部署包,覆盖用户的配置
*/
isEnabled():boolean;
isMirrorSync():boolean;
isMirrorUpdate():boolean;
/**
* 判断反写规则是否正常启用
*
* @return
*/
isNormual():boolean;
/**
* 设置运行时版本
*
* @param cacheVersion
*/
setCacheVersion(cacheVersion:string):void;
/**
* 设置最近一次检查版本时间
*
* @param checkVersionTimeMillis
*/
setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
/**
* 附件面板映射策略
*
* @param ctAttachmentPanelMapPolicy
*/
setCtAttachmentPanelMapPolicy(ctAttachmentPanelMapPolicy:CtAttachmentPanelMapPolicy):void;
/**
* 单据类型映射策略
*
* @param ctBillTypeMapPolicy
*/
setCtBillTypeMapPolicy(ctBillTypeMapPolicy:CtBillTypeMapPolicy):void;
/**
* 设置启动条件
*
* @param ctCRCondition
*/
setCtCRCondition(ctCRCondition:CtCRCondition):void;
setCtFieldMapPolicy(ctFieldMapPolicy:CtFieldMapPolicy):void;
setCtFilterPolicy(ctFilterPolicy:CtFilterPolicy):void;
/**
* 分单合并策略
*
* @param ctGroupByPolicy
*/
setCtGroupByPolicy(ctGroupByPolicy:CtGroupByPolicy):void;
/**
* 关联主实体策略
*
* @param ctLinkEntityPolicy
*/
setCtLinkEntityPolicy(ctLinkEntityPolicy:CtLinkEntityPolicy):void;
setCtOptionPolicy(ctOptionPolicy:CtOptionPolicy):void;
/**
* 插件策略
*
* @param ctPlugInPolicy
*/
setCtPlugInPolicy(ctPlugInPolicy:CtPlugInPolicy):void;
setCurrentVerId(currentVerId:long):void;
/**
* 设置是否启用
*
* @param enabled
*/
setEnabled(enabled:boolean):void;
setExtVerId(extVerId:long):void;
/**
* 自动生成的唯一标识,永不改变
*
* @param id
*/
setId(id:string):void;
setMirrorSync(mirrorSync:boolean):void;
setMirrorUpdate(mirrorUpdate:boolean):void;
/**
* 规则名称,用户输入
*
* @param name
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setSourceAccountNumber(sourceAccountNumber:string):void;
setSourceDataCenter(sourceDataCenter:string):void;
setSourceEntityName(sourceEntityName:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 源单实体编码
*
* @param sourceEntityNumber
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 源单租户
*
* @param sourceTenant
*/
setSourceTenant(sourceTenant:string):void;
setSyncType(syncType:string):void;
setSysStatus(sysStatus:string):void;
setTargetAccountNumber(targetAccountNumber:string):void;
setTargetDataCenter(targetDataCenter:string):void;
setTargetEntityName(targetEntityName:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 目标单实体编码
*
* @param targetEntityNumber
*/
setTargetEntityNumber(targetEntityNumber:string):void;
/**
* 目标单租户
*
* @param targetTenant
*/
setTargetTenant(targetTenant:string):void;
setTenantPath(tenantPath:string):void;
setsBizAppId(sBizAppId:string):void;
setsBizAppName(sBizAppName:$.kd.bos.dataentity.entity.LocaleString):void;
settBizAppId(tBizAppId:string):void;
settBizAppName(tBizAppName:$.kd.bos.dataentity.entity.LocaleString):void;
}
type CtConvertRuleElement_T = CtConvertRuleElement_S & CtConvertRuleElement$;
interface CtConvertRuleElement extends CtConvertRuleElement_T {
}
interface CtPlugInPolicy_S {
}
interface CtPlugInPolicy_C extends CtPlugInPolicy_S {
/**
* 默认构造函数
*/
new():CtPlugInPolicy;
}
interface CtPlugInPolicy$ {
/**
* 检查配置是否合理
*
* @param parentPoint
* @param checkResult
* @return
*/
check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 转换插件
*
* @return
*/
getPlugins():$.java.util.List;
setPlugins(plugins:$.java.util.List):void;
}
type CtPlugInPolicy_T = CtPlugInPolicy_S & CtPlugInPolicy$;
interface CtPlugInPolicy extends CtPlugInPolicy_T {
}
interface CtLinkEntityPolicy_S {
}
interface CtLinkEntityPolicy_C extends CtLinkEntityPolicy_S {
new():CtLinkEntityPolicy;
}
interface CtLinkEntityPolicy$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param rule
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,tgtMainType:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,rule:CtConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
getMirrorLinkEntitys():$.java.util.List;
getSourceEntityKeys():string;
/**
* 来源单据关联主实体:可以是单据头、单据体、子单据体
*
* @return
* @remark: 以此实体追踪关联关系
*/
getSourceEntryKey():string;
/**
* 来源单据子实体:可以是单据体、子单据体,取关联主实体的下属实体
*/
getSourceSubEntryKey():string;
getTargetEntityKeys():string;
/**
* 目标单据关联主实体:可以是单据头、单据体、子单据体,在此实体上,记录关联的源单信息
*
* @return
*/
getTargetEntryKey():string;
/**
* 目标单据关联子实体:可以是单据体、子单据体,取关联主实体的下属实体
*
* @return
*/
getTargetSubEntryKey():string;
setMirrorLinkEntitys(mirrorLinkEntitys:$.java.util.List):void;
setSourceEntityKeys(sourceEntityKeys:string):void;
setSourceEntryKey(sourceEntryKey:string):void;
setSourceSubEntryKey(sourceSubEntryKey:string):void;
setTargetEntityKeys(targetEntityKeys:string):void;
setTargetEntryKey(targetEntryKey:string):void;
setTargetSubEntryKey(targetSubEntryKey:string):void;
}
type CtLinkEntityPolicy_T = CtLinkEntityPolicy_S & CtLinkEntityPolicy$;
interface CtLinkEntityPolicy extends CtLinkEntityPolicy_T {
}
interface CtCRValByConditions_S {
}
interface CtCRValByConditions_C extends CtCRValByConditions_S {
new():CtCRValByConditions;
}
interface CtCRValByConditions$ {
/**
* 检查配置是否合理
*
* @param mainType
* @param checkResult
* @return
* TODO 主实体类型通过接口获取
*/
check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 输出本项配置的取值内容,把各项的取值公式,拼接起来
*
* @return
*/
getDescription():string;
/**
* 取值项集合:
* 按顺序,逐项比较条件,满足条件即返回选择项
*
* @return
*/
getItems():$.java.util.List;
}
type CtCRValByConditions_T = CtCRValByConditions_S & CtCRValByConditions$;
interface CtCRValByConditions extends CtCRValByConditions_T {
}
enum CtFieldSumType {
First,
Sum,
Average,
Count,
Max,
Min,
Join,
Date_Max,
Date_Min
}
interface CtAttachmentPanelMapPolicy_S {
}
interface CtAttachmentPanelMapPolicy_C extends CtAttachmentPanelMapPolicy_S {
new():CtAttachmentPanelMapPolicy;
}
interface CtAttachmentPanelMapPolicy$ {
getItems():$.java.util.List;
setItems(items:$.java.util.List):void;
}
type CtAttachmentPanelMapPolicy_T = CtAttachmentPanelMapPolicy_S & CtAttachmentPanelMapPolicy$;
interface CtAttachmentPanelMapPolicy extends CtAttachmentPanelMapPolicy_T {
}
interface CtExtendedDataEntitySet_S {
}
interface CtExtendedDataEntitySet_C extends CtExtendedDataEntitySet_S {
new():CtExtendedDataEntitySet;
}
interface CtExtendedDataEntitySet$ {
/**
* 添加一批新的扩展行到指定的实体中
*
* @param entityKey 实体标识
* @param rows 新的扩展行
*/
AddExtendedDataEntities(entityKey:string,rows:$.java.util.List):void;
/**
* 根据表的键,获取对应的数据行集合
*
* @param entityKey 实体的键
* @return 如果包含数据,返回扩展实体集合,否则返回null
*/
FindByEntityKey(entityKey:string):CtExtendedDataEntity[];
/**
* 将数据拉平,并放入字典
* @param dataEntities 数据集合
* @param dType 实体类型
*/
Parse(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],dType:$.kd.bos.entity.MainEntityType):void;
/**
* 获取单据编号
* @param dataEntity
* @return
*/
getBillNo(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):string;
/**
* 星辰扩展支持:便于星辰外部操作该对象
* @return
*/
getExtDataEntityMap():$.java.util.Map;
}
type CtExtendedDataEntitySet_T = CtExtendedDataEntitySet_S & CtExtendedDataEntitySet$;
interface CtExtendedDataEntitySet extends CtExtendedDataEntitySet_T {
}
interface CtMirrorLinkEntity_S {
}
type CtMirrorLinkEntity_ST = $.java.io.Serializable & CtMirrorLinkEntity_S;
interface CtMirrorLinkEntity_C extends CtMirrorLinkEntity_ST {
new():CtMirrorLinkEntity;
}
interface CtMirrorLinkEntity$ {
getLinkMainEntity():boolean;
getSourceEntityKeys():string;
getSourceEntryKey():string;
getTargetEntityKeys():string;
getTargetEntryKey():string;
setLinkMainEntity(linkMainEntity:boolean):void;
setSourceEntityKeys(sourceEntityKeys:string):void;
setSourceEntryKey(sourceEntryKey:string):void;
setTargetEntityKeys(targetEntityKeys:string):void;
setTargetEntryKey(targetEntryKey:string):void;
}
type CtMirrorLinkEntity_T = $.java.io.Serializable & CtMirrorLinkEntity_S & CtMirrorLinkEntity$;
interface CtMirrorLinkEntity extends CtMirrorLinkEntity_T {
}
interface CtFieldMapPolicy_S {
}
type CtFieldMapPolicy_ST = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapPolicy_S;
interface CtFieldMapPolicy_C extends CtFieldMapPolicy_ST {
new():CtFieldMapPolicy;
}
interface CtFieldMapPolicy$ {
/**
* 字段映射集合
*
* @return
*/
getCtFieldMapItems():$.java.util.List;
setCtFieldMapItems(ctFieldMapItems:$.java.util.List):void;
}
type CtFieldMapPolicy_T = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapPolicy_S & CtFieldMapPolicy$;
interface CtFieldMapPolicy extends CtFieldMapPolicy_T {
}
interface CtBillTypeMapItem_S {
readonly PushType_NoSpec:string;
readonly PushType_None:string;
readonly PushType_Random:string;
readonly PushType_Spec:string;
readonly SourceType_All:string;
readonly SourceType_Others:string;
readonly SourceType_Spec:string;
}
interface CtBillTypeMapItem_C extends CtBillTypeMapItem_S {
new():CtBillTypeMapItem;
}
interface CtBillTypeMapItem$ {
/**
* 自动产生的唯一标识
* @return
*/
getId():string;
/**
* 下推类型:指定类型、任意类型、不允许下推、不允许下推指定类型
* @return
*/
getPushType():string;
/**
* 执行顺序。按顺序确定目标单单据类型,找到即止
* @return
*/
getSeq():number;
/**
* 源单单据类型
* @return
*/
getSourceBillTypeId():long;
/**
* 源单类型名称:不序列化,仅用于翻译本条规则
* @return
*/
getSourceBillTypeName():string;
/**
* 源单类型:全部、其他、指定类型
* @return
*/
getSourceType():string;
/**
* 目标单单据类型,可能是具体单据类型id,或者是特殊选项,如默认、随机、无
* @return
*/
getTargetBillTypeId():long;
/**
* 目标单单据类型名称,不序列化
* @return
*/
getTargetBillTypeName():string;
/**
* 当前映射条目是否配置完整有效? 无效的映射条目不被采用
* @return
*/
isValid():boolean;
setId(value:string):void;
setPushType(pushType:string):void;
setSeq(seq:number):void;
setSourceBillTypeId(sourceBillTypeId:long):void;
setSourceBillTypeName(sourceBillTypeName:string):void;
setSourceType(sourceType:string):void;
setTargetBillTypeId(targetBillTypeId:long):void;
setTargetBillTypeName(targetBillTypeName:string):void;
}
type CtBillTypeMapItem_T = CtBillTypeMapItem_S & CtBillTypeMapItem$;
interface CtBillTypeMapItem extends CtBillTypeMapItem_T {
}
interface CtBillTypeMapPolicy_S {
}
interface CtBillTypeMapPolicy_C extends CtBillTypeMapPolicy_S {
new():CtBillTypeMapPolicy;
}
interface CtBillTypeMapPolicy$ {
/**
* 单据类型映射配置项
* @return
*/
getItems():$.java.util.List;
setItems(items:$.java.util.List):void;
}
type CtBillTypeMapPolicy_T = CtBillTypeMapPolicy_S & CtBillTypeMapPolicy$;
interface CtBillTypeMapPolicy extends CtBillTypeMapPolicy_T {
}
interface CtCRCondition_S {
}
type CtCRCondition_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.botp.CRFormula & CtCRCondition_S;
interface CtCRCondition_C extends CtCRCondition_ST {
new():CtCRCondition;
}
interface CtCRCondition$ {
/**
* 合并条件表格、手书条件,生成一条完整的表达式
*
* @param mainType
* @return
* TODO 主实体类型通过接口获取
*/
buildFullFormula(mainType:$.kd.bos.entity.MainEntityType):string;
/**
* 合并条件表格、手书条件,生成一条完整的表达式
*
* @param mainType
* @param timeService 解析条件需要用到的时间服务(解析"今天"等比较符)
* @param userService 解析条件需要用到的用户服务(解析"我的部门"等比较符)
* @return
* TODO 主实体类型通过接口获取
*/
buildFullFormula(mainType:$.kd.bos.entity.MainEntityType,userService:$.kd.bos.service.IUserService,timeService:$.kd.bos.service.ITimeService):string;
/**
* 在条件表格中配置的内容
*
* @return
*/
getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
/**
* 输出FilterCondition对象的序列化字符串
*
* @return
* @remark 第一版设计时,直接对FilterCondition属性按条件行序列化、差量化,
* 但在原始条件FilterCondition包含了括号和"或者"时,扩展规则改动了原始条件行,重新组织了括号,
* 后续对原始条件进行升级,在条件中间插入了新的条件行,
* 合并扩展条件行时,括号可能不匹配,逻辑含义也变的完全不一样,
* 基于此,进行了第二版设计:
* 序列化时,把FilterCondition转成字符串,做差量化时,按照字符串进行差量化,整体替换
* 反序列化时,默认恢复FilterCondition对象本身(与V1版本兼容),如果有字符串格式条件(V2版本),则以字符串条件内容替换掉FilterCondition
* 改版后:
* 序列化:同时序列化FilterCondition、FilterContion.toString()
* 反序列化原始:先分别恢复FilterCondition、FilterString属性值,在序列化完成事件endInit中,用FilterString内容替换掉原始的FilterCondition
* 反序列化扩展:先恢复差量化的FilterCondion,再恢复差量化的FilterString,在序列化完成事件endInit中,用FilterString替换掉原始的FilterConditon
* 因此,最终优先取扩展规则中的FilterString为准,其次取扩展规则中的FilterCondition个性化,再次取原始规则中的FilterString,最后取原始规则FilterConditon
*/
getFilterString():string;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
/**
* 获取插件执行顺序,数值小的先执行
*
* @return 执行顺序
*/
getSeq():number;
isEnabled():boolean;
setEnabled(enabled:boolean):void;
/**
* 设置/更新表格条件
*
* @param newFilterCondition
*/
setFilterCondition(newFilterCondition:$.kd.bos.entity.filter.FilterCondition):void;
setFilterString(filterString:string):void;
/**
* 自动产生的唯一标识
* @param value
*/
setId(value:string):void;
/**
* 执行顺序
* @param seq
*/
setSeq(seq:number):void;
}
type CtCRCondition_T = $.kd.bos.entity.botp.CRFormula & $.kd.bos.dataentity.entity.ISupportInitialize & CtCRCondition_S & CtCRCondition$;
interface CtCRCondition extends CtCRCondition_T {
}
interface CtExtendedDataEntity_S {
}
interface CtExtendedDataEntity_C extends CtExtendedDataEntity_S {
/**
* 构造函数
* @param dataEntity 实体数据
* @param dataEntityIndex 分录索引
* @param rowIndex 数据行索引
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number):CtExtendedDataEntity;
/**
* 构造函数
* @param dataEntity 实体数据
* @param dataEntityIndex 分录索引
* @param rowIndex 数据行索引
*/
new(dataEntity:CtDataEntity,dataEntityIndex:number,rowIndex:number):CtExtendedDataEntity;
/**
* 构造函数
* @param dataEntity 实体数据
* @param dataEntityIndex 分录索引
* @param rowIndex 数据行索引
* @param billNo 单据编号
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,billNo:string):CtExtendedDataEntity;
new(dataEntity:CtDataEntity,dataEntityIndex:number,rowIndex:number,subRowIndex:number,billNo:string):CtExtendedDataEntity;
/**
* 构造函数
* @param dataEntity 实体数据
* @param dataEntityIndex 分录索引
* @param rowIndex 数据行索引
* @param subRowIndex 数据行索引所在分录索引
* @param billNo 单据编号
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,subRowIndex:number,billNo:string):CtExtendedDataEntity;
}
interface CtExtendedDataEntity$ {
/**
* 获取单据编号
* @return 单据编号
*/
getBillNo():string;
/**
* 获取单据主键ID
* @return 单据主键ID
*/
getBillPkId():any;
getCtDataEntity():CtDataEntity;
/**
* 获取实体数据
* @return 实体数据
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取分录索引
* @return 分录索引
*/
getDataEntityIndex():number;
getId():long;
/**
* 获取数据行索引
* @return 数据行索引
*/
getRowIndex():number;
/**
* 获取数据行索引所在分录索引
* @return 数据行索引所在分录索引
*/
getSubRowIndex():number;
/**
* 获取校验错误码
* @return
*/
getValidataErrorCode():$.kd.bos.entity.validate.ValidataErrorCode;
/**
* 获取实体属性数据
* @param name 实体属性名称
* @return Object 实体属性数据
*/
getValue(name:string):any;
/**
* 设置单据编号
* @param billNo 单据编号
*/
setBillNo(billNo:string):void;
setCtDataEntity(ctDataEntity:CtDataEntity):void;
/**
* 设置实体数据
* @param dataEntity 实体数据
*/
setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
/**
* 设置分录索引
* @param dataEntityIndex 分录索引
*/
setDataEntityIndex(dataEntityIndex:number):void;
setId(id:long):void;
/**
* 设置数据行索引
* @param rowIndex 数据行索引
*/
setRowIndex(rowIndex:number):void;
/**
* 设置数据行索引所在分录索引
* @param subRowIndex 数据行索引所在分录索引
*/
setSubRowIndex(subRowIndex:number):void;
/**
* 设置校验错误码
* @param validataErrorCode
*/
setValidataErrorCode(validataErrorCode:$.kd.bos.entity.validate.ValidataErrorCode):void;
/**
* 设置实体属性数据
* @param name 实体属性名称
* @param value 实体属性数据
*/
setValue(name:string,value:any):void;
/**
* 设置实体属性数据
* @param name 实体属性名称
* @param value 实体属性数据
*/
setValueExt(name:string,value:any):void;
}
type CtExtendedDataEntity_T = CtExtendedDataEntity_S & CtExtendedDataEntity$;
interface CtExtendedDataEntity extends CtExtendedDataEntity_T {
}
interface CtOptionPolicy_S {
}
interface CtOptionPolicy_C extends CtOptionPolicy_S {
new():CtOptionPolicy;
}
interface CtOptionPolicy$ {
/**
* 下推后执行目标单操作(保存、提交,审核)
*
* @return
*/
getTargetBillOp():string;
/**
* 分批下推
*
* @return
*/
isBatchPush():boolean;
isCheckauditright():boolean;
isChecknewright():boolean;
isChecksubmitright():boolean;
/**
* 是否只允许下推一次:已经下推并保存了下游单据后,不允许再次下推到这种单据(可下推到其他单据)
*
* @return
* @remark 默认不限下推次数,特殊场景可勾选此选项,不允许重复下推(如后台自动下推,通常一次性下推完毕,不允许重复下推)
*/
isPushOneTime():boolean;
setBatchPush(batchPush:boolean):void;
setCheckauditright(checkauditright:boolean):void;
setChecknewright(checknewright:boolean):void;
setChecksubmitright(checksubmitright:boolean):void;
/**
* 是否只允许下推一次
*
* @param pushOneTime
*/
setPushOneTime(pushOneTime:boolean):void;
/**
* 缺省值为:保存,(跨租户下推必须要保存目标单)
*
* @param targetBillOp
*/
setTargetBillOp(targetBillOp:string):void;
}
type CtOptionPolicy_T = CtOptionPolicy_S & CtOptionPolicy$;
interface CtOptionPolicy extends CtOptionPolicy_T {
}
}
namespace kd.bos.entity.ctbotp.apiresponse{
interface CtBillLkUpRes_S {
}
type CtBillLkUpRes_ST = CtBotpApiRes_S & $.java.io.Serializable & CtBillLkUpRes_S;
interface CtBillLkUpRes_C extends CtBillLkUpRes_ST {
new():CtBillLkUpRes;
}
interface CtBillLkUpRes$ {
getCtBFRowList():$.java.util.List;
getCtTableInfos():$.java.util.List;
setCtBFRowList(arg0:$.java.util.List):void;
setCtTableInfos(arg0:$.java.util.List):void;
}
type CtBillLkUpRes_T = CtBotpApiRes & $.java.io.Serializable & CtBillLkUpRes_S & CtBillLkUpRes$;
interface CtBillLkUpRes extends CtBillLkUpRes_T {
}
interface CtBotpApiRes_S {
}
interface CtBotpApiRes_C extends CtBotpApiRes_S {
new():CtBotpApiRes;
}
interface CtBotpApiRes$ {
}
type CtBotpApiRes_T = CtBotpApiRes_S & CtBotpApiRes$;
interface CtBotpApiRes extends CtBotpApiRes_T {
}
interface CtBillLkDownRes_S {
}
type CtBillLkDownRes_ST = CtBotpApiRes_S & $.java.io.Serializable & CtBillLkDownRes_S;
interface CtBillLkDownRes_C extends CtBillLkDownRes_ST {
new():CtBillLkDownRes;
}
interface CtBillLkDownRes$ {
getCtBFRowList():$.java.util.List;
getCtTableInfos():$.java.util.List;
setCtBFRowList(arg0:$.java.util.List):void;
setCtTableInfos(arg0:$.java.util.List):void;
}
type CtBillLkDownRes_T = CtBotpApiRes & $.java.io.Serializable & CtBillLkDownRes_S & CtBillLkDownRes$;
interface CtBillLkDownRes extends CtBillLkDownRes_T {
}
}
namespace kd.bos.entity.ctbotp.billtype{
interface BillTypeInfo_S {
}
type BillTypeInfo_ST = $.java.io.Serializable & BillTypeInfo_S;
interface BillTypeInfo_C extends BillTypeInfo_ST {
new():BillTypeInfo;
}
interface BillTypeInfo$ {
getsBillTypeId():long;
gettBillTypeId():long;
setsBillTypeId(sBillTypeId:long):void;
settBillTypeId(tBillTypeId:long):void;
}
type BillTypeInfo_T = $.java.io.Serializable & BillTypeInfo_S & BillTypeInfo$;
interface BillTypeInfo extends BillTypeInfo_T {
}
}
namespace kd.bos.entity.ctbotp.dto{
interface MainEntityTypeDto_S {
}
type MainEntityTypeDto_ST = $.java.io.Serializable & MainEntityTypeDto_S;
interface MainEntityTypeDto_C extends MainEntityTypeDto_ST {
new():MainEntityTypeDto;
}
interface MainEntityTypeDto$ {
getAttachmentPanelApDtos():$.java.util.List;
getBillTypes():$.java.util.Map;
getBizAppNumber():string;
getBizappId():string;
getComboItems():$.java.util.List;
getDisplayName():string;
getEntityTypes():$.java.util.Map;
getName():string;
getSourceFieldNames():$.java.util.Map;
getSubComboItems():$.java.util.Map;
getSubSysId():number;
getTargetConvertFields():$.java.util.List;
isExistBillTypeField():boolean;
setAttachmentPanelApDtos(attachmentPanelApDtos:$.java.util.List):void;
setBillTypes(billTypes:$.java.util.Map):void;
setBizAppNumber(bizAppNumber:string):void;
setBizappId(bizappId:string):void;
setComboItems(comboItems:$.java.util.List):void;
setDisplayName(displayName:string):void;
setEntityTypes(entityTypes:$.java.util.Map):void;
setExistBillTypeField(existBillTypeField:boolean):void;
setName(name:string):void;
setSourceFieldNames(sourceFieldNames:$.java.util.Map):void;
setSubComboItems(subComboItems:$.java.util.Map):void;
setSubSysId(subSysId:number):void;
setTargetConvertFields(targetConvertFields:$.java.util.List):void;
}
type MainEntityTypeDto_T = $.java.io.Serializable & MainEntityTypeDto_S & MainEntityTypeDto$;
interface MainEntityTypeDto extends MainEntityTypeDto_T {
}
}
namespace kd.bos.entity.ctbotp.plugin.convert{
interface ICtConvertPlugIn_S {
}
interface ICtConvertPlugIn$ {
/**
* 编译数据筛选条件前事件:可追加定制条件,是否忽略规则原生的条件
*
* @param e 事件参数:包括本次下推的源单数据、是否忽略规则原生条件
* @remark 由 ConvertRuleCompiler 动作触发
*/
ctAfterConvert?(e:kd.bos.entity.ctbotp.plugin.convert.args.CtAfterConvertEventArgs):void;
/**
* 单据转换可选参数
*
* @return
*/
getOption?():$.kd.bos.dataentity.OperateOption;
getRule?():CtConvertRuleElement;
getSrcMainType?():$.kd.bos.entity.BillEntityType;
/**
* 开始执行转换规则之前,创建规则上挂的插件后,触发此事件
*
* @param opType
* @param srcMainType
* @param tgtMainType
* @param rule
* @remark 由 CreateConvertPlugAction 动作触发
*/
setContext?(srcMainType:$.kd.bos.entity.BillEntityType,rule:CtConvertRuleElement):void;
setOption?(option:$.kd.bos.dataentity.OperateOption):void;
}
type ICtConvertPlugIn_T = ICtConvertPlugIn_S & ICtConvertPlugIn$;
interface ICtConvertPlugIn extends ICtConvertPlugIn_T {
}
interface AbstractCtConvertPlugIn_S {
}
type AbstractCtConvertPlugIn_ST = ICtConvertPlugIn_S & AbstractCtConvertPlugIn_S;
interface AbstractCtConvertPlugIn_C extends AbstractCtConvertPlugIn_ST {
new():AbstractCtConvertPlugIn;
}
interface AbstractCtConvertPlugIn$ {
}
type AbstractCtConvertPlugIn_T = ICtConvertPlugIn & AbstractCtConvertPlugIn_S & AbstractCtConvertPlugIn$;
interface AbstractCtConvertPlugIn extends AbstractCtConvertPlugIn_T {
}
}
namespace kd.bos.entity.ctbotp.plugin.convert.args{
interface CtAfterConvertEventArgs_S {
}
interface CtAfterConvertEventArgs_C extends CtAfterConvertEventArgs_S {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:CtExtendedDataEntitySet):CtAfterConvertEventArgs;
}
interface CtAfterConvertEventArgs$ {
getCtExtendedDataEntitySet():CtExtendedDataEntitySet;
setCtExtendedDataEntitySet(ctExtendedDataEntitySet:CtExtendedDataEntitySet):void;
}
type CtAfterConvertEventArgs_T = CtAfterConvertEventArgs_S & CtAfterConvertEventArgs$;
interface CtAfterConvertEventArgs extends CtAfterConvertEventArgs_T {
}
}
namespace kd.bos.entity.ctbotp.plugin.save{
interface ICtSavePlugIn_S {
}
interface ICtSavePlugIn$ {
afterBatchSetBaseData?(e:kd.bos.entity.ctbotp.plugin.save.args.AfterBatchSetBaseDataEventArg):void;
afterTargetBillOperation?(e:kd.bos.entity.ctbotp.plugin.save.args.AfterTargetBillOperationEventArgs):void;
beforeFieldMapping?(e:kd.bos.entity.ctbotp.plugin.save.args.BeforeFieldMappingEventArgs):void;
beforeSave?(e:kd.bos.entity.ctbotp.plugin.save.args.BeforeSaveEventArgs):void;
}
type ICtSavePlugIn_T = ICtSavePlugIn_S & ICtSavePlugIn$;
interface ICtSavePlugIn extends ICtSavePlugIn_T {
}
}
namespace kd.bos.entity.ctbotp.plugin.save.args{
interface AfterTargetBillOperationEventArgs_S {
}
type AfterTargetBillOperationEventArgs_ST = SavePluginEventArgs_S & AfterTargetBillOperationEventArgs_S;
interface AfterTargetBillOperationEventArgs_C extends AfterTargetBillOperationEventArgs_ST {
new():AfterTargetBillOperationEventArgs;
new(saveSuccessIds:$.java.util.Set,submitSuccessIds:$.java.util.Set,auditSuccessIds:$.java.util.Set,failIds:$.java.util.Map,ctBillLks:$.java.util.List):AfterTargetBillOperationEventArgs;
}
interface AfterTargetBillOperationEventArgs$ {
getAuditSuccessIds():$.java.util.Set;
getCtBillLks():$.java.util.List;
getFailIds():$.java.util.Map;
getSaveSuccessIds():$.java.util.Set;
getSubmitSuccessIds():$.java.util.Set;
setAuditSuccessIds(auditSuccessIds:$.java.util.Set):void;
setCtBillLks(ctBillLks:$.java.util.List):void;
setFailIds(failIds:$.java.util.Map):void;
setSaveSuccessIds(saveSuccessIds:$.java.util.Set):void;
setSubmitSuccessIds(submitSuccessIds:$.java.util.Set):void;
}
type AfterTargetBillOperationEventArgs_T = SavePluginEventArgs & AfterTargetBillOperationEventArgs_S & AfterTargetBillOperationEventArgs$;
interface AfterTargetBillOperationEventArgs extends AfterTargetBillOperationEventArgs_T {
}
interface BeforeFieldMappingEventArgs_S {
}
type BeforeFieldMappingEventArgs_ST = SavePluginEventArgs_S & BeforeFieldMappingEventArgs_S;
interface BeforeFieldMappingEventArgs_C extends BeforeFieldMappingEventArgs_ST {
/**
* 构造函数
*/
new(ctDataEntities:$.java.util.List):BeforeFieldMappingEventArgs;
}
interface BeforeFieldMappingEventArgs$ {
getCtDataEntities():$.java.util.List;
setCtDataEntities(ctDataEntities:$.java.util.List):void;
}
type BeforeFieldMappingEventArgs_T = SavePluginEventArgs & BeforeFieldMappingEventArgs_S & BeforeFieldMappingEventArgs$;
interface BeforeFieldMappingEventArgs extends BeforeFieldMappingEventArgs_T {
}
interface AfterBatchSetBaseDataEventArg_S {
}
type AfterBatchSetBaseDataEventArg_ST = SavePluginEventArgs_S & AfterBatchSetBaseDataEventArg_S;
interface AfterBatchSetBaseDataEventArg_C extends AfterBatchSetBaseDataEventArg_ST {
/**
* 构造函数
*/
new(ctDataEntities:$.java.util.List,dynamicObjects:$.java.util.List):AfterBatchSetBaseDataEventArg;
}
interface AfterBatchSetBaseDataEventArg$ {
getCtDataEntities():$.java.util.List;
getDynamicObjects():$.java.util.List;
setCtDataEntities(ctDataEntities:$.java.util.List):void;
setDynamicObjects(dynamicObjects:$.java.util.List):void;
}
type AfterBatchSetBaseDataEventArg_T = SavePluginEventArgs & AfterBatchSetBaseDataEventArg_S & AfterBatchSetBaseDataEventArg$;
interface AfterBatchSetBaseDataEventArg extends AfterBatchSetBaseDataEventArg_T {
}
interface SavePluginEventArgs_S {
}
interface SavePluginEventArgs_C extends SavePluginEventArgs_S {
new():SavePluginEventArgs;
}
interface SavePluginEventArgs$ {
}
type SavePluginEventArgs_T = SavePluginEventArgs_S & SavePluginEventArgs$;
interface SavePluginEventArgs extends SavePluginEventArgs_T {
}
interface BeforeSaveEventArgs_S {
}
type BeforeSaveEventArgs_ST = SavePluginEventArgs_S & BeforeSaveEventArgs_S;
interface BeforeSaveEventArgs_C extends BeforeSaveEventArgs_ST {
/**
* 构造函数
*/
new(dynamicObjects:$.java.util.List):BeforeSaveEventArgs;
}
interface BeforeSaveEventArgs$ {
getDynamicObjects():$.java.util.List;
setDynamicObjects(dynamicObjects:$.java.util.List):void;
}
type BeforeSaveEventArgs_T = SavePluginEventArgs & BeforeSaveEventArgs_S & BeforeSaveEventArgs$;
interface BeforeSaveEventArgs extends BeforeSaveEventArgs_T {
}
}
namespace kd.bos.entity.ctbotp.plugin.tracker{
enum CtBillCloseType {
AllRowsClosed,
OneRowClosed
}
interface ICtWriteBackPlugIn_S {
}
interface ICtWriteBackPlugIn$ {
/**
* 建立源单单据内码和分录内码之后, 触发此事件: 用于添加需要加载的源单单据与单据分录行
* @param e
*/
afterBuildSourceBillIds?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterBuildSourceBillIdsEventArgs):void;
/**
* 基于下游单据当前行,反写值计算完毕后,触发此事件:用于修正反写量,调整对各源单行的分配量
* @param e
*/
afterCalcWriteValue(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterCalcWriteValueEventArgs):void;
/**
* 对上游行进行了关闭状态填写后调用
* @param e
*/
afterCloseRow?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterCloseRowEventArgs):void;
/**
* 执行反写规则,把当前反写量,写到源单行之后,触发此事件:用于对源单行,进行连锁更新
* @param e
*/
afterCommitAmount(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterCommitAmountEventArgs):void;
/**
* 对源单行反写执行完毕,超额检查完毕后,触发此事件:用于控制是否中止反写、提示超额,修正提示内容
* @param e
*/
afterExcessCheck(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterExcessCheckEventArgs):void;
/**
* 读取源单数据之后,触发此事件:供插件读取相关的第三方单据
* @param e
*/
afterReadSourceBill?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterReadSourceBillEventArgs):void;
/**
* 源单数据保存到数据库后调用
* @param e
*/
afterSaveSourceBill?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterSaveSourceBillEventArgs):void;
/**
* 关闭上游行前调用,IsCancelCheck==true,则不再做关闭条件检查
* @param e
*/
beforeCloseRow?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeCloseRowEventArgs):void;
/**
* 构建本关联主实体,单行数据与源单的关联记录前,触发此事件:用于取消本行的关联、反写
* @param e
*/
beforeCreateArticulationRow(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeCreateArticulationRowEventArgs):void;
/**
* 对源单行反写执行完毕,超额检查前,触发此事件:用于取消超额检查
* @param e
*/
beforeExcessCheck(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeExcessCheckEventArgs):void;
/**
* 开始分析反写规则,计算反写量前触发此事件:用于取消当前反写规则的执行
*
* @param e
* @remark
* 升级版本后,系统预置插件,可以通过此事件,强制禁用系统预置的反写规则
*/
beforeExecWriteBackRule(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeExecWriteBackRuleEventArgs):void;
/**
* 读取源单数据之前,触发此事件:用于添加需要加载的源单字段
* @param e
*/
beforeReadSourceBill(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeReadSourceBillEventArgs):void;
/**
* 反写规则执行完毕后,源单数据保存到数据库之前调用
* @param e
*/
beforeSaveSourceBill?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeSaveSourceBillEventArgs):void;
/**
* 反写逻辑处理完毕,开始开启事务,保存反写数据前触发此事件,供插件在事务前读取并处理第三方数据,以便在随后开启的事务中一并保存
* @param e
*/
beforeSaveTrans?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeSaveTransEventArgs):void;
/**
* 构建本关联主实体全部关联记录前,触发此事件:用于取消关联、反写
*
* @param e
*/
beforeTrack(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeTrackEventArgs):void;
/**
* 反写所有逻辑已经执行完毕后触发,用于通知插件释放资源,如插件申请的网控
* @param e
*/
finishWriteBack?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtFinishWriteBackEventArgs):void;
/**
* 当前处理的关联主实体
*
* @return
*/
getCurrLinkSetItem():kd.bos.entity.CtLinkSetItemElement;
/**
* 当前操作类型:Draft,Save,Audit,UnAudit,Delete,Cancel,UnCancel,Unknown
* @return
*/
getOpType():string;
/**
* 下游目标单主实体,仅包含了需要的字段,与单据数据包一致
* @return
*/
getTargetSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 在读取下游目标单数据之前,触发此事件:用于添加需要加载的目标单字段
* @param e
* @remark
* 这个事件比设置上下文方法,更早执行,在此事件中,只能依赖事件参数获取上下文信息
*/
preparePropertys(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtPreparePropertysEventArgs):void;
/**
* 保存失败,触发此事件,通知插件回滚数据
* @param e
*/
rollbackSave?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtRollbackSaveEventArgs):void;
/**
* 设置当前上下文
*
* @param targetMainType 下游目标单主实体,仅包含了需要的字段
* @param opType 操作类型
* @param linkSetItem 关联主实体
*/
setContext(targetSubMainType:$.kd.bos.entity.BillEntityType,opType:string,linkSetItem:kd.bos.entity.CtLinkSetItemElement):void;
}
type ICtWriteBackPlugIn_T = ICtWriteBackPlugIn_S & ICtWriteBackPlugIn$;
interface ICtWriteBackPlugIn extends ICtWriteBackPlugIn_T {
}
enum CtDistributeType {
TopDown,
Weight
}
interface AbstractCtWriteBackPlugIn_S {
}
type AbstractCtWriteBackPlugIn_ST = ICtWriteBackPlugIn_S & AbstractCtWriteBackPlugIn_S;
interface AbstractCtWriteBackPlugIn_C extends AbstractCtWriteBackPlugIn_ST {
new():AbstractCtWriteBackPlugIn;
}
interface AbstractCtWriteBackPlugIn$ {
}
type AbstractCtWriteBackPlugIn_T = ICtWriteBackPlugIn & AbstractCtWriteBackPlugIn_S & AbstractCtWriteBackPlugIn$;
interface AbstractCtWriteBackPlugIn extends AbstractCtWriteBackPlugIn_T {
}
enum CtExcessCheckType {
StrictControl,
CanExcessOneTime,
CanExcellAlways,
SelectByFormula
}
}
namespace kd.bos.entity.ctbotp.plugin.tracker.args{
interface CtAfterBuildSourceBillIdsEventArgs_S {
}
type CtAfterBuildSourceBillIdsEventArgs_ST = CtWriteBackEventArgs_S & CtAfterBuildSourceBillIdsEventArgs_S;
interface CtAfterBuildSourceBillIdsEventArgs_C extends CtAfterBuildSourceBillIdsEventArgs_ST {
/**
* 构造函数
* @param srcMainType 上游源单主实体,包含了完整字段
*/
new(srcMainType:$.kd.bos.entity.BillEntityType,ruleElements:$.java.util.List,billIds:$.java.util.Set):CtAfterBuildSourceBillIdsEventArgs;
}
interface CtAfterBuildSourceBillIdsEventArgs$ {
addEntryInfo(e:CtAfterBuildSourceBillIdsEventArgs$EntryInfo):void;
getBillIds():$.java.util.Set;
getEntryInfos():$.java.util.List;
getRuleElements():$.java.util.List;
/**
* 上游源单主实体,包含了完整字段
* @return
*/
getSrcMainType():$.kd.bos.entity.BillEntityType;
}
type CtAfterBuildSourceBillIdsEventArgs_T = CtWriteBackEventArgs & CtAfterBuildSourceBillIdsEventArgs_S & CtAfterBuildSourceBillIdsEventArgs$;
interface CtAfterBuildSourceBillIdsEventArgs extends CtAfterBuildSourceBillIdsEventArgs_T {
}
interface CtAfterBuildDrawFilterEventArgs_S {
}
type CtAfterBuildDrawFilterEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterBuildDrawFilterEventArgs_S;
interface CtAfterBuildDrawFilterEventArgs_C extends CtAfterBuildDrawFilterEventArgs_ST {
/**
* 构造函数
*
* @param targetDataEntity 目标单数据包
*/
new(targetDataEntity:$.kd.bos.dataentity.entity.DynamicObject):CtAfterBuildDrawFilterEventArgs;
}
interface CtAfterBuildDrawFilterEventArgs$ {
/**
* 插件追加的选单条件
* @return
*/
getPlugFilter():$.kd.bos.orm.query.QFilter;
/**
* 获取插件设置的选单时打开的源单列表布局
* @return
*/
getSourceLayout():string;
/**
* 目标单当前数据包
* @return
*/
getTargetDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 插件追加选单条件
* @param plugFilter
*/
setPlugFilter(plugFilter:$.kd.bos.orm.query.QFilter):void;
/**
* 插件设置选单时打开的源单列表布局
* @param sourceLayout
*/
setSourceLayout(sourceLayout:string):void;
}
type CtAfterBuildDrawFilterEventArgs_T = CtConvertPluginEventArgs & CtAfterBuildDrawFilterEventArgs_S & CtAfterBuildDrawFilterEventArgs$;
interface CtAfterBuildDrawFilterEventArgs extends CtAfterBuildDrawFilterEventArgs_T {
}
interface CtAfterSaveSourceBillEventArgs_S {
}
type CtAfterSaveSourceBillEventArgs_ST = CtWriteBackEventArgs_S & CtAfterSaveSourceBillEventArgs_S;
interface CtAfterSaveSourceBillEventArgs_C extends CtAfterSaveSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcSubMainType 源单主实体,只包含了部分用到的字段
* @param srcDataEntities 源单数据包,只包含了部分用到的字段
*/
new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):CtAfterSaveSourceBillEventArgs;
}
interface CtAfterSaveSourceBillEventArgs$ {
/**
* 源单数据包,只包含了部分用到的字段
* @return
*/
getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 源单主实体,只包含了部分用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 当前事件是否由异步线程触发,不在事务内:跨库反写时,会启动一个异步线程,在事务外单独的保存源单反写结果,没有事务保护,不能回滚数据。
* 此时插件抛出异常并不能取消反写,回滚数据。因此,此场景下插件要确保不抛出异常
* @return
*/
isNewThread():boolean;
/**
* 设置当前事件是否由异步线程触发,不在事务内:跨库反写时,会启动一个异步线程,在事务外单独的保存源单反写结果,没有事务保护,不能回滚数据。
* @param newThread
*/
setNewThread(newThread:boolean):void;
}
type CtAfterSaveSourceBillEventArgs_T = CtWriteBackEventArgs & CtAfterSaveSourceBillEventArgs_S & CtAfterSaveSourceBillEventArgs$;
interface CtAfterSaveSourceBillEventArgs extends CtAfterSaveSourceBillEventArgs_T {
}
interface CtAfterBuildQueryParemeterEventArgs_S {
}
type CtAfterBuildQueryParemeterEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterBuildQueryParemeterEventArgs_S;
interface CtAfterBuildQueryParemeterEventArgs_C extends CtAfterBuildQueryParemeterEventArgs_ST {
/**
* 构造函数
*
* @param srcFldAlias
* @param qFilters
*/
new(srcFldAlias:$.java.util.Map,qFilters:$.java.util.List):CtAfterBuildQueryParemeterEventArgs;
}
interface CtAfterBuildQueryParemeterEventArgs$ {
/**
* 添加需加载的源单字段
*
* @param fullPropName 字段及引用属性名,如 basedata.name;不需要在前面带单据体标识
*/
addSrcField(fullPropName:string):void;
/**
* 系统自动生成的源单内码条件;插件可以修改与追加新条件
* @return
*/
getQFilters():$.java.util.List;
/**
* 系统自动生成,源单字段与字段别名字典;插件可以向此字典追加新字段,并指定别名;不支持删除字段
* @return
*/
getSrcFldAlias():$.java.util.Map;
}
type CtAfterBuildQueryParemeterEventArgs_T = CtConvertPluginEventArgs & CtAfterBuildQueryParemeterEventArgs_S & CtAfterBuildQueryParemeterEventArgs$;
interface CtAfterBuildQueryParemeterEventArgs extends CtAfterBuildQueryParemeterEventArgs_T {
}
interface CtBeforeCloseRowEventArgs_S {
}
type CtBeforeCloseRowEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeCloseRowEventArgs_S;
interface CtBeforeCloseRowEventArgs_C extends CtBeforeCloseRowEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtBeforeCloseRowEventArgs;
}
interface CtBeforeCloseRowEventArgs$ {
/**
* 反写规则
* @return
*/
getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 插件是否要求略过超额检查
* @return
*/
isCancel():boolean;
/**
* 设置插件是否要求略过超额检查
* @param cancel
*/
setCancel(cancel:boolean):void;
}
type CtBeforeCloseRowEventArgs_T = CtWriteBackEventArgs & CtBeforeCloseRowEventArgs_S & CtBeforeCloseRowEventArgs$;
interface CtBeforeCloseRowEventArgs extends CtBeforeCloseRowEventArgs_T {
}
interface CtAfterCtConvertEventArgs_S {
}
type CtAfterCtConvertEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterCtConvertEventArgs_S;
interface CtAfterCtConvertEventArgs_C extends CtAfterCtConvertEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterCtConvertEventArgs;
}
interface CtAfterCtConvertEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type CtAfterCtConvertEventArgs_T = CtConvertPluginEventArgs & CtAfterCtConvertEventArgs_S & CtAfterCtConvertEventArgs$;
interface CtAfterCtConvertEventArgs extends CtAfterCtConvertEventArgs_T {
}
interface CtBeforeExcessCheckEventArgs_S {
}
type CtBeforeExcessCheckEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeExcessCheckEventArgs_S;
interface CtBeforeExcessCheckEventArgs_C extends CtBeforeExcessCheckEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtBeforeExcessCheckEventArgs;
}
interface CtBeforeExcessCheckEventArgs$ {
/**
* 反写规则
* @return
*/
getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 插件是否要求略过超额检查
* @return
*/
isCancel():boolean;
/**
* 设置插件是否要求略过超额检查
* @param cancel
*/
setCancel(cancel:boolean):void;
}
type CtBeforeExcessCheckEventArgs_T = CtWriteBackEventArgs & CtBeforeExcessCheckEventArgs_S & CtBeforeExcessCheckEventArgs$;
interface CtBeforeExcessCheckEventArgs extends CtBeforeExcessCheckEventArgs_T {
}
interface CtWriteBackEventArgs_S {
}
interface CtWriteBackEventArgs_C extends CtWriteBackEventArgs_S {
new():CtWriteBackEventArgs;
}
interface CtWriteBackEventArgs$ {
}
type CtWriteBackEventArgs_T = CtWriteBackEventArgs_S & CtWriteBackEventArgs$;
interface CtWriteBackEventArgs extends CtWriteBackEventArgs_T {
}
interface CtAfterCommitAmountEventArgs_S {
}
type CtAfterCommitAmountEventArgs_ST = CtWriteBackEventArgs_S & CtAfterCommitAmountEventArgs_S;
interface CtAfterCommitAmountEventArgs_C extends CtAfterCommitAmountEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param ruleItem 反写公式
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param srcFieldKey 上游源单反写字段
* @param currVal 本次操作,对源单行执行的反写差量
* @param realVal 本次操作执行完毕完后,对源单行的反写总量
* @param currCVal 覆盖反写值
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,ruleItem:kd.bos.entity.ctbotp.runtime.CtWriteBackFormula,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,srcFieldKey:string,currVal:$.java.math.BigDecimal,realVal:$.java.math.BigDecimal,currCVal:any,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtAfterCommitAmountEventArgs;
}
interface CtAfterCommitAmountEventArgs$ {
/**
* 覆盖反写值
* @return
*/
getCurrCVal():any;
/**
* 本次操作,对源单行执行的反写差量:公式计算出的反写量 - 上一次保存已执行的反写量;如果是删除行,反冲历史量
* @return
*/
getCurrVal():$.java.math.BigDecimal;
/**
* 本次操作执行完毕完后,对源单行的反写总量;如果是删除行,反写总量 = 0;
* @return
*/
getRealVal():$.java.math.BigDecimal;
/**
* 反写规则
* @return
*/
getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
/**
* 反写公式
* @return
*/
getRuleItem():kd.bos.entity.ctbotp.runtime.CtWriteBackFormula;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单反写字段
* @return
*/
getSrcFieldKey():string;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 下游目标单关联行信息:删除操作,可以据此从数据库取到删除前的行数据
* @return
*/
getTargetRowId():kd.bos.entity.ctbotp.runtime.CtBFRowId;
/**
* 设置下游目标单关联行
* @param targetRowId 目标单关联行
*/
setTargetRowId(targetRowId:kd.bos.entity.ctbotp.runtime.CtBFRowId):void;
}
type CtAfterCommitAmountEventArgs_T = CtWriteBackEventArgs & CtAfterCommitAmountEventArgs_S & CtAfterCommitAmountEventArgs$;
interface CtAfterCommitAmountEventArgs extends CtAfterCommitAmountEventArgs_T {
}
interface CtAfterReadSourceBillEventArgs_S {
}
type CtAfterReadSourceBillEventArgs_ST = CtWriteBackEventArgs_S & CtAfterReadSourceBillEventArgs_S;
interface CtAfterReadSourceBillEventArgs_C extends CtAfterReadSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcSubMainType 源单主实体,只包含了部分用到的字段
* @param srcDataEntities 源单数据包,只包含了部分用到的字段
*/
new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):CtAfterReadSourceBillEventArgs;
}
interface CtAfterReadSourceBillEventArgs$ {
/**
* 源单数据包,只包含了部分用到的字段
* @return
*/
getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 源单主实体,只包含了部分用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
}
type CtAfterReadSourceBillEventArgs_T = CtWriteBackEventArgs & CtAfterReadSourceBillEventArgs_S & CtAfterReadSourceBillEventArgs$;
interface CtAfterReadSourceBillEventArgs extends CtAfterReadSourceBillEventArgs_T {
}
interface CtAfterCalcWriteValueEventArgs_S {
}
type CtAfterCalcWriteValueEventArgs_ST = CtWriteBackEventArgs_S & CtAfterCalcWriteValueEventArgs_S;
interface CtAfterCalcWriteValueEventArgs_C extends CtAfterCalcWriteValueEventArgs_ST {
/**
* 构造函数
* @param entity 关联主实体
* @param activeRow 关联主实体当前行
* @param rule 反写规则
* @param ruleItem 反写公式
* @param val 根据反写公式,算出的反写量
* @param cVal 覆盖反写模式,根据反写公式算出的覆盖值
*/
new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,ruleItem:kd.bos.entity.ctbotp.runtime.CtWriteBackFormula,val:$.java.math.BigDecimal,cVal:any):CtAfterCalcWriteValueEventArgs;
}
interface CtAfterCalcWriteValueEventArgs$ {
/**
* 关联主实体当前行
* @return
*/
getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 覆盖反写模式,根据反写公式算出的覆盖值
*/
getCVal():any;
/**
* 关联主实体
* @return
*/
getEntity():$.kd.bos.entity.EntityType;
/**
* 反写规则
* @return
*/
getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
/**
* 反写公式
*/
getRuleItem():kd.bos.entity.ctbotp.runtime.CtWriteBackFormula;
/**
* 搜索出的源单行,以及其分配的反写量:
* 如果有多个源单行,默认每行的反写量为0;需要插件自行给各源单行分配反写量;
* 如果插件不处理,则不反写
* @return
*/
getSrcRowVal():$.java.util.Map;
/**
* 根据反写公式,算出的反写量
* @return
*/
getVal():$.java.math.BigDecimal;
}
type CtAfterCalcWriteValueEventArgs_T = CtWriteBackEventArgs & CtAfterCalcWriteValueEventArgs_S & CtAfterCalcWriteValueEventArgs$;
interface CtAfterCalcWriteValueEventArgs extends CtAfterCalcWriteValueEventArgs_T {
}
interface CtAfterCloseRowEventArgs_S {
}
type CtAfterCloseRowEventArgs_ST = CtWriteBackEventArgs_S & CtAfterCloseRowEventArgs_S;
interface CtAfterCloseRowEventArgs_C extends CtAfterCloseRowEventArgs_ST {
/**
* 构造函数
* @param rule 反写规则
* @param srcSubMainType 上游源单主实体,仅包含需要用到的字段
* @param srcEntity 上游源单,关联主实体
* @param srcActiveRow 上游源单,关联主实体数据行
* @param targetEntity 下游目标单关联主实体
* @param targetActiveRow 下游目标单关联主实体,当前数据行
*/
new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtAfterCloseRowEventArgs;
}
interface CtAfterCloseRowEventArgs$ {
/**
* 反写规则
* @return
*/
getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 是否达成行关闭条件
* @return
*/
isCloseRow():boolean;
/**
* 设置中是否达成行关闭条件
* @param closeRow 是否达成行关闭条件
*/
setCloseRow(closeRow:boolean):void;
}
type CtAfterCloseRowEventArgs_T = CtWriteBackEventArgs & CtAfterCloseRowEventArgs_S & CtAfterCloseRowEventArgs$;
interface CtAfterCloseRowEventArgs extends CtAfterCloseRowEventArgs_T {
}
interface CtAfterGetSourceDataEventArgs_S {
}
type CtAfterGetSourceDataEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterGetSourceDataEventArgs_S;
interface CtAfterGetSourceDataEventArgs_C extends CtAfterGetSourceDataEventArgs_ST {
/**
* 构造函数
* @param sourceRows 待下推的源单数据行
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(sourceRows:$.java.util.List,fldProperties:$.java.util.Map):CtAfterGetSourceDataEventArgs;
}
interface CtAfterGetSourceDataEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 待下推的源单数据行
* @return
*/
getSourceRows():$.java.util.List;
}
type CtAfterGetSourceDataEventArgs_T = CtConvertPluginEventArgs & CtAfterGetSourceDataEventArgs_S & CtAfterGetSourceDataEventArgs$;
interface CtAfterGetSourceDataEventArgs extends CtAfterGetSourceDataEventArgs_T {
}
interface CtBeforeCreateTargetEventArgs_S {
}
interface CtBeforeCreateTargetEventArgs_C extends CtBeforeCreateTargetEventArgs_S {
new():CtBeforeCreateTargetEventArgs;
}
interface CtBeforeCreateTargetEventArgs$ {
}
type CtBeforeCreateTargetEventArgs_T = CtBeforeCreateTargetEventArgs_S & CtBeforeCreateTargetEventArgs$;
interface CtBeforeCreateTargetEventArgs extends CtBeforeCreateTargetEventArgs_T {
}
interface CtFinishWriteBackEventArgs_S {
}
type CtFinishWriteBackEventArgs_ST = CtWriteBackEventArgs_S & CtFinishWriteBackEventArgs_S;
interface CtFinishWriteBackEventArgs_C extends CtFinishWriteBackEventArgs_ST {
new():CtFinishWriteBackEventArgs;
}
interface CtFinishWriteBackEventArgs$ {
}
type CtFinishWriteBackEventArgs_T = CtWriteBackEventArgs & CtFinishWriteBackEventArgs_S & CtFinishWriteBackEventArgs$;
interface CtFinishWriteBackEventArgs extends CtFinishWriteBackEventArgs_T {
}
interface CtAfterExcessCheckEventArgs_S {
}
interface CtAfterExcessCheckEventArgs_C extends CtAfterExcessCheckEventArgs_S {
new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtAfterExcessCheckEventArgs;
}
interface CtAfterExcessCheckEventArgs$ {
/**
* 超额提示
* @return
*/
getMessage():string;
/**
* 反写规则
* @return
*/
getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
/**
* 上游源单,关联主实体数据行
* @return
*/
getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 上游源单,关联主实体
* @return
*/
getSrcEntity():$.kd.bos.entity.EntityType;
/**
* 上游源单主实体,仅包含需要用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 下游目标单关联主实体,当前数据行;删除行时,这个属性可能没值
* @return
*/
getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 下游目标单关联主实体
* @return
*/
getTargetEntity():$.kd.bos.entity.EntityType;
/**
* 是否超额;插件可以调整此属性值,决定是否显示超额提示
* @return
*/
isExcess():boolean;
/**
* 设置是否超额
* @param excess 是否超额
*/
setExcess(excess:boolean):void;
/**
* 设置超额提示
* @param message 超额提示
*/
setMessage(message:string):void;
}
type CtAfterExcessCheckEventArgs_T = CtAfterExcessCheckEventArgs_S & CtAfterExcessCheckEventArgs$;
interface CtAfterExcessCheckEventArgs extends CtAfterExcessCheckEventArgs_T {
}
interface CtConvertPluginEventArgs_S {
}
interface CtConvertPluginEventArgs_C extends CtConvertPluginEventArgs_S {
new():CtConvertPluginEventArgs;
}
interface CtConvertPluginEventArgs$ {
}
type CtConvertPluginEventArgs_T = CtConvertPluginEventArgs_S & CtConvertPluginEventArgs$;
interface CtConvertPluginEventArgs extends CtConvertPluginEventArgs_T {
}
interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo_S {
}
interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo_C extends CtAfterBuildSourceBillIdsEventArgs$EntryInfo_S {
new(arg0:long):CtAfterBuildSourceBillIdsEventArgs$EntryInfo;
new(arg0:long,arg1:long,arg2:long):CtAfterBuildSourceBillIdsEventArgs$EntryInfo;
}
interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo$ {
getBillId():long;
getEntryId():long;
getEntryTableId():long;
}
type CtAfterBuildSourceBillIdsEventArgs$EntryInfo_T = CtAfterBuildSourceBillIdsEventArgs$EntryInfo_S & CtAfterBuildSourceBillIdsEventArgs$EntryInfo$;
interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo extends CtAfterBuildSourceBillIdsEventArgs$EntryInfo_T {
}
interface CtAfterCreateLinkEventArgs_S {
}
type CtAfterCreateLinkEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterCreateLinkEventArgs_S;
interface CtAfterCreateLinkEventArgs_C extends CtAfterCreateLinkEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterCreateLinkEventArgs;
}
interface CtAfterCreateLinkEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type CtAfterCreateLinkEventArgs_T = CtConvertPluginEventArgs & CtAfterCreateLinkEventArgs_S & CtAfterCreateLinkEventArgs$;
interface CtAfterCreateLinkEventArgs extends CtAfterCreateLinkEventArgs_T {
}
interface CtAfterFieldMappingEventArgs_S {
}
type CtAfterFieldMappingEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterFieldMappingEventArgs_S;
interface CtAfterFieldMappingEventArgs_C extends CtAfterFieldMappingEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterFieldMappingEventArgs;
}
interface CtAfterFieldMappingEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type CtAfterFieldMappingEventArgs_T = CtConvertPluginEventArgs & CtAfterFieldMappingEventArgs_S & CtAfterFieldMappingEventArgs$;
interface CtAfterFieldMappingEventArgs extends CtAfterFieldMappingEventArgs_T {
}
interface CtAfterBuildRowConditionEventArgs_S {
}
type CtAfterBuildRowConditionEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterBuildRowConditionEventArgs_S;
interface CtAfterBuildRowConditionEventArgs_C extends CtAfterBuildRowConditionEventArgs_ST {
}
interface CtAfterBuildRowConditionEventArgs$ {
/**
* 添加新条件表达式到集合中
* @param expression
*/
addCondition(expression:string):void;
/**
* 拆分后的单据转换数据筛选条件,每个元素都是一个独立的条件
* @return
*/
getConditons():$.java.util.List;
}
type CtAfterBuildRowConditionEventArgs_T = CtConvertPluginEventArgs & CtAfterBuildRowConditionEventArgs_S & CtAfterBuildRowConditionEventArgs$;
interface CtAfterBuildRowConditionEventArgs extends CtAfterBuildRowConditionEventArgs_T {
}
interface CtBeforeExecWriteBackRuleEventArgs_S {
}
type CtBeforeExecWriteBackRuleEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeExecWriteBackRuleEventArgs_S;
interface CtBeforeExecWriteBackRuleEventArgs_C extends CtBeforeExecWriteBackRuleEventArgs_ST {
/**
* 构造函数
*/
new():CtBeforeExecWriteBackRuleEventArgs;
}
interface CtBeforeExecWriteBackRuleEventArgs$ {
/**
* 当前准备执行的反写规则
*
* @return
*/
getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
/**
* 当前准备执行的反写公式
*
* @return
*/
getRuleItem():kd.bos.entity.ctbotp.runtime.CtWriteBackFormula;
/**
* 是否取消本反写公式的执行
* @return
*/
isCancel():boolean;
/**
* 设置是否取消本反写公式的执行
* @param cancel
*/
setCancel(cancel:boolean):void;
/**
* 调整当前反写规则、反写条目
* @param rule
* @param ruleItem
*/
setContext(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,ruleItem:kd.bos.entity.ctbotp.runtime.CtWriteBackFormula):void;
}
type CtBeforeExecWriteBackRuleEventArgs_T = CtWriteBackEventArgs & CtBeforeExecWriteBackRuleEventArgs_S & CtBeforeExecWriteBackRuleEventArgs$;
interface CtBeforeExecWriteBackRuleEventArgs extends CtBeforeExecWriteBackRuleEventArgs_T {
}
interface CtBeforeReadSourceBillEventArgs_S {
}
type CtBeforeReadSourceBillEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeReadSourceBillEventArgs_S;
interface CtBeforeReadSourceBillEventArgs_C extends CtBeforeReadSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcMainType 上游源单主实体,包含了完整字段
* @param rules 反写上游源单的全部反写规则
*/
new(srcMainType:$.kd.bos.entity.BillEntityType,rules:$.java.util.List):CtBeforeReadSourceBillEventArgs;
}
interface CtBeforeReadSourceBillEventArgs$ {
/**
* 插件需要用到的源单字段
* @return
*/
getFieldKeys():$.java.util.List;
/**
* 反写上游源单的全部反写规则
* @return
*/
getRules():$.java.util.List;
/**
* 需要读取的源单内码:插件可以反写前,根据源单内码,读取第三方单据数据
* @return
*/
getSrcBillIds():$.java.util.Set;
/**
* 上游源单主实体,包含了完整字段
* @return
*/
getSrcMainType():$.kd.bos.entity.BillEntityType;
/**
* 传入源单内码
* @param srcBillIds
*/
setSrcBillIds(srcBillIds:$.java.util.Set):void;
}
type CtBeforeReadSourceBillEventArgs_T = CtWriteBackEventArgs & CtBeforeReadSourceBillEventArgs_S & CtBeforeReadSourceBillEventArgs$;
interface CtBeforeReadSourceBillEventArgs extends CtBeforeReadSourceBillEventArgs_T {
}
interface CtInitVariableEventArgs_S {
}
type CtInitVariableEventArgs_ST = CtConvertPluginEventArgs_S & CtInitVariableEventArgs_S;
interface CtInitVariableEventArgs_C extends CtInitVariableEventArgs_ST {
/**
* 构造函数
* @param convertArgs 单据转换参数
*/
new(convertArgs:kd.bos.entity.ctbotp.runtime.AbstractCtConvertServiceArgs):CtInitVariableEventArgs;
}
interface CtInitVariableEventArgs$ {
/**
* 单据转换参数
* @return
*/
getConvertArgs():kd.bos.entity.ctbotp.runtime.AbstractCtConvertServiceArgs;
}
type CtInitVariableEventArgs_T = CtConvertPluginEventArgs & CtInitVariableEventArgs_S & CtInitVariableEventArgs$;
interface CtInitVariableEventArgs extends CtInitVariableEventArgs_T {
}
interface CtAfterCreateTargetEventArgs_S {
}
type CtAfterCreateTargetEventArgs_ST = CtConvertPluginEventArgs_S & CtAfterCreateTargetEventArgs_S;
interface CtAfterCreateTargetEventArgs_C extends CtAfterCreateTargetEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet 生成的目标单空数据包
* @param fldProperties 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterCreateTargetEventArgs;
}
interface CtAfterCreateTargetEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包 :还没有开始填写字段值
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet 生成的目标单空数据包
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type CtAfterCreateTargetEventArgs_T = CtConvertPluginEventArgs & CtAfterCreateTargetEventArgs_S & CtAfterCreateTargetEventArgs$;
interface CtAfterCreateTargetEventArgs extends CtAfterCreateTargetEventArgs_T {
}
interface CtBeforeGetSourceDataEventArgs_S {
}
type CtBeforeGetSourceDataEventArgs_ST = CtConvertPluginEventArgs_S & CtBeforeGetSourceDataEventArgs_S;
interface CtBeforeGetSourceDataEventArgs_C extends CtBeforeGetSourceDataEventArgs_ST {
/**
* 构造函数
*
* @param selectSQL 取数SELECT子句,包含了全部字段及别名
* @param qFilters 条件
*/
new(selectSQL:string,qFilters:$.java.util.List):CtBeforeGetSourceDataEventArgs;
}
interface CtBeforeGetSourceDataEventArgs$ {
/**
* 条件
* @return
*/
getQFilters():$.java.util.List;
/**
* 取数SELECT子句,包含了全部字段及别名
* @return
*/
getSelectSQL():string;
/**
* 设置取数SELECT子句,包含了全部字段及别名
* @param selectSQL
*/
setSelectSQL(selectSQL:string):void;
}
type CtBeforeGetSourceDataEventArgs_T = CtConvertPluginEventArgs & CtBeforeGetSourceDataEventArgs_S & CtBeforeGetSourceDataEventArgs$;
interface CtBeforeGetSourceDataEventArgs extends CtBeforeGetSourceDataEventArgs_T {
}
interface CtBeforeSaveTransEventArgs_S {
}
type CtBeforeSaveTransEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeSaveTransEventArgs_S;
interface CtBeforeSaveTransEventArgs_C extends CtBeforeSaveTransEventArgs_ST {
new():CtBeforeSaveTransEventArgs;
}
interface CtBeforeSaveTransEventArgs$ {
}
type CtBeforeSaveTransEventArgs_T = CtWriteBackEventArgs & CtBeforeSaveTransEventArgs_S & CtBeforeSaveTransEventArgs$;
interface CtBeforeSaveTransEventArgs extends CtBeforeSaveTransEventArgs_T {
}
interface CtBeforeCreateLinkEventArgs_S {
}
type CtBeforeCreateLinkEventArgs_ST = CtConvertPluginEventArgs_S & CtBeforeCreateLinkEventArgs_S;
interface CtBeforeCreateLinkEventArgs_C extends CtBeforeCreateLinkEventArgs_ST {
/**
* 构造函数
* @param targetExtDataEntitySet
* @param fldProperties
*/
new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtBeforeCreateLinkEventArgs;
}
interface CtBeforeCreateLinkEventArgs$ {
/**
* 源单字段,与数据包属性对应字典,可以据此到源单数据包中读取字段值
* @return
*/
getFldProperties():$.java.util.Map;
/**
* 生成的目标单空数据包
* @return
*/
getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
/**
* 是否略过关联关系的创建
* @return
*/
isCancel():boolean;
/**
* 设置是否略过关联关系的创建
* @param cancel
*/
setCancel(cancel:boolean):void;
/**
* 设置生成的目标单空数据包
* @param targetExtDataEntitySet
*/
setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
}
type CtBeforeCreateLinkEventArgs_T = CtConvertPluginEventArgs & CtBeforeCreateLinkEventArgs_S & CtBeforeCreateLinkEventArgs$;
interface CtBeforeCreateLinkEventArgs extends CtBeforeCreateLinkEventArgs_T {
}
interface CtPreparePropertysEventArgs_S {
}
type CtPreparePropertysEventArgs_ST = CtWriteBackEventArgs_S & CtPreparePropertysEventArgs_S;
interface CtPreparePropertysEventArgs_C extends CtPreparePropertysEventArgs_ST {
/**
* 构造函数
* @param mainType 目标单实体类型
* @param fieldKeys 需要加载的目标单字段
*/
new(mainType:$.kd.bos.entity.BillEntityType,fieldKeys:$.java.util.List):CtPreparePropertysEventArgs;
}
interface CtPreparePropertysEventArgs$ {
/**
* 需要加载的目标单字段
* @return
*/
getFieldKeys():$.java.util.List;
/**
* 目标单实体类型
* @return
*/
getMainType():$.kd.bos.entity.BillEntityType;
}
type CtPreparePropertysEventArgs_T = CtWriteBackEventArgs & CtPreparePropertysEventArgs_S & CtPreparePropertysEventArgs$;
interface CtPreparePropertysEventArgs extends CtPreparePropertysEventArgs_T {
}
interface CtBeforeBuildRowConditionEventArgs_S {
}
type CtBeforeBuildRowConditionEventArgs_ST = CtConvertPluginEventArgs_S & CtBeforeBuildRowConditionEventArgs_S;
interface CtBeforeBuildRowConditionEventArgs_C extends CtBeforeBuildRowConditionEventArgs_ST {
/**
* 构造函数
*/
new():CtBeforeBuildRowConditionEventArgs;
}
interface CtBeforeBuildRowConditionEventArgs$ {
/**
* 插件定制条件的说明:当数据不符合条件时,会显示条件说明,提示用户原因
* @return
*/
getCustFilterDesc():string;
/**
* 插件定制条件:用于脚本执行
*
* 特别说明:必须同时设置用于数据库查询的CustQFilters,且效果要保持一致
*
* @return
*/
getCustFilterExpression():string;
/**
* 插件定制条件:用于数据库查询
* @return
*/
getCustQFilters():$.java.util.List;
/**
* 当前规则需要处理的源单行 : 已经通过了规则启动条件校验
* @return
*/
getSelectedRows():$.java.util.List;
/**
* 是否忽略规则上配置的数据筛选条件,仅使用插件设置的定制条件;
* 如果不设置这个属性,插件传入的定制条件,会与规则条件,同时起作用
* @return
*/
isIgnoreRuleFilterPolicy():boolean;
/**
* 设置插件定制条件的说明
* @param custFilterDesc
*/
setCustFilterDesc(custFilterDesc:string):void;
/**
* 设置插件定制条件
* @param custFilterExpression
*/
setCustFilterExpression(custFilterExpression:string):void;
/**
* 设置是否忽略规则上配置的数据筛选条件,仅使用插件设置的定制条件
* @param ignoreRuleFilterPolicy
*/
setIgnoreRuleFilterPolicy(ignoreRuleFilterPolicy:boolean):void;
/**
* 设置当前规则需要处理的源单行
* @param selectedRows 当前规则需要处理的源单行
*/
setSelectedRows(selectedRows:$.java.util.List):void;
}
type CtBeforeBuildRowConditionEventArgs_T = CtConvertPluginEventArgs & CtBeforeBuildRowConditionEventArgs_S & CtBeforeBuildRowConditionEventArgs$;
interface CtBeforeBuildRowConditionEventArgs extends CtBeforeBuildRowConditionEventArgs_T {
}
interface CtBeforeTrackEventArgs_S {
}
type CtBeforeTrackEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeTrackEventArgs_S;
interface CtBeforeTrackEventArgs_C extends CtBeforeTrackEventArgs_ST {
/**
* 构造函数
* @param dataEntity 当前单据数据包
*/
new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):CtBeforeTrackEventArgs;
}
interface CtBeforeTrackEventArgs$ {
/**
* 当前单据数据包
* @return
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 插件取消关联、反写
* @return
*/
isCancel():boolean;
/**
* 设置插件取消关联、反写
* @param cancel
*/
setCancel(cancel:boolean):void;
}
type CtBeforeTrackEventArgs_T = CtWriteBackEventArgs & CtBeforeTrackEventArgs_S & CtBeforeTrackEventArgs$;
interface CtBeforeTrackEventArgs extends CtBeforeTrackEventArgs_T {
}
interface CtRollbackSaveEventArgs_S {
}
type CtRollbackSaveEventArgs_ST = CtWriteBackEventArgs_S & CtRollbackSaveEventArgs_S;
interface CtRollbackSaveEventArgs_C extends CtRollbackSaveEventArgs_ST {
new():CtRollbackSaveEventArgs;
}
interface CtRollbackSaveEventArgs$ {
}
type CtRollbackSaveEventArgs_T = CtWriteBackEventArgs & CtRollbackSaveEventArgs_S & CtRollbackSaveEventArgs$;
interface CtRollbackSaveEventArgs extends CtRollbackSaveEventArgs_T {
}
interface CtBeforeSaveSourceBillEventArgs_S {
}
type CtBeforeSaveSourceBillEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeSaveSourceBillEventArgs_S;
interface CtBeforeSaveSourceBillEventArgs_C extends CtBeforeSaveSourceBillEventArgs_ST {
/**
* 构造函数
* @param srcSubMainType 源单主实体,只包含了部分用到的字段
* @param srcDataEntities 源单数据包,只包含了部分用到的字段
*/
new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):CtBeforeSaveSourceBillEventArgs;
}
interface CtBeforeSaveSourceBillEventArgs$ {
/**
* 源单数据包,只包含了部分用到的字段
* @return
*/
getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 源单主实体,只包含了部分用到的字段
* @return
*/
getSrcSubMainType():$.kd.bos.entity.BillEntityType;
/**
* 当前事件是否由异步线程触发,不在事务内:跨库反写时,会启动一个异步线程,在事务外单独的保存源单反写结果,没有事务保护,不能回滚数据。
* 此时插件抛出异常并不能取消反写,回滚数据。因此,此场景下插件要确保不抛出异常
* @return
*/
isNewThread():boolean;
setNewThread(newThread:boolean):void;
}
type CtBeforeSaveSourceBillEventArgs_T = CtWriteBackEventArgs & CtBeforeSaveSourceBillEventArgs_S & CtBeforeSaveSourceBillEventArgs$;
interface CtBeforeSaveSourceBillEventArgs extends CtBeforeSaveSourceBillEventArgs_T {
}
interface CtBeforeCreateArticulationRowEventArgs_S {
}
type CtBeforeCreateArticulationRowEventArgs_ST = CtWriteBackEventArgs_S & CtBeforeCreateArticulationRowEventArgs_S;
interface CtBeforeCreateArticulationRowEventArgs_C extends CtBeforeCreateArticulationRowEventArgs_ST {
/**
* 构造函数
* @param entity 当前关联主实体
* @param activeRow 关联主实体当前行
* @param linkRows 关联主实体行下属的关联子实体行,包含了来源单据行信息
*/
new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,linkRows:$.kd.bos.dataentity.entity.DynamicObjectCollection):CtBeforeCreateArticulationRowEventArgs;
}
interface CtBeforeCreateArticulationRowEventArgs$ {
/**
* 关联主实体当前行
* @return
*/
getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 当前关联主实体
* @return
*/
getEntity():$.kd.bos.entity.EntityType;
/**
* 关联主实体行下属的关联子实体行,包含了来源单据行信息
* @return
*/
getLinkRows():$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 是否取消创建本行的关联记录:
* 取消后,相当于本行无源单,不会记录业务流程路线记录与反写源单
* @return
*/
isCancel():boolean;
/**
* 由插件自行调整控制字段对各源单行的分配量,取消系统的自动分配处理;
* @return
*/
isCancelReDistributeAmount():boolean;
/**
* 设置是否取消创建本行的关联记录
* @param cancel
*/
setCancel(cancel:boolean):void;
/**
* 设置由插件自行调整控制字段对各源单行的分配量,取消系统的自动分配处理
* @param cancelReDistributeAmount
*/
setCancelReDistributeAmount(cancelReDistributeAmount:boolean):void;
}
type CtBeforeCreateArticulationRowEventArgs_T = CtWriteBackEventArgs & CtBeforeCreateArticulationRowEventArgs_S & CtBeforeCreateArticulationRowEventArgs$;
interface CtBeforeCreateArticulationRowEventArgs extends CtBeforeCreateArticulationRowEventArgs_T {
}
interface CtBeforeBuildGroupModeEventArgs_S {
}
type CtBeforeBuildGroupModeEventArgs_ST = CtConvertPluginEventArgs_S & CtBeforeBuildGroupModeEventArgs_S;
interface CtBeforeBuildGroupModeEventArgs_C extends CtBeforeBuildGroupModeEventArgs_ST {
/**
* 构造函数
* @param headGroupKey 单据头分组(分单)字段
* @param entryGroupKey 单据体分组字段
* @param subEntryGroupKey 子单据体分组字段
*/
new(headGroupKey:string,entryGroupKey:string,subEntryGroupKey:string):CtBeforeBuildGroupModeEventArgs;
}
interface CtBeforeBuildGroupModeEventArgs$ {
/**
* 单据体分组字段
* @return
*/
getEntryGroupKey():string;
/**
* 单据头分组(分单)字段
* @return
*/
getHeadGroupKey():string;
/**
* 子单据体分组字段
* @return
*/
getSubEntryGroupKey():string;
/**
* 设置单据体分组字段
* @param entryGroupKey 单据体分组字段
*/
setEntryGroupKey(entryGroupKey:string):void;
/**
* 设置单据头分组(分单)字段
* @param headGroupKey 单据头分组(分单)字段
*/
setHeadGroupKey(headGroupKey:string):void;
/**
* 设置子单据体分组字段
* @param subEntryGroupKey 子单据体分组字段
*/
setSubEntryGroupKey(subEntryGroupKey:string):void;
}
type CtBeforeBuildGroupModeEventArgs_T = CtConvertPluginEventArgs & CtBeforeBuildGroupModeEventArgs_S & CtBeforeBuildGroupModeEventArgs$;
interface CtBeforeBuildGroupModeEventArgs extends CtBeforeBuildGroupModeEventArgs_T {
}
}
namespace kd.bos.entity.ctbotp.runtime{
interface CtWriteBackFormula_S {
}
interface CtWriteBackFormula_C extends CtWriteBackFormula_S {
new():CtWriteBackFormula;
}
interface CtWriteBackFormula$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param tgtMainType
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @return
*/
getCondition():CtCRCondition;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @return
*/
getFormula():$.kd.bos.entity.botp.CRFormula;
/**
* 反写条目标识,随机产生的长整数,绝不重复
* @return
*/
getId():long;
/**
* 反写条目执行顺序
* @return
*/
getSeq():number;
/**
* 反写源单字段:把反写值,追加到此字段上
* @return
*/
getSourceCommitFieldKey():string;
/**
* 反写方式:Add = 0, Lessen = 1, Cover = 2
* @return
*/
getWriteBackType():CtWriteBackType;
/**
* 反写方式类型
* @return
*/
getWriteType():string;
/**
* 是否禁用:可以临时禁用某条反写条目
* @return
*/
isDisabled():boolean;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @param condition
*/
setCondition(condition:CtCRCondition):void;
/**
* 是否禁用:可以临时禁用某条反写条目
* @param disabled
*/
setDisabled(disabled:boolean):void;
/**
* 反写执行条件,基于目标单字段:决定是否需要执行此反写条目
* @param formula
*/
setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
/**
* 反写条目标识
* @param id
*/
setId(id:long):void;
/**
* 反写条目执行顺序
* @param seq
*/
setSeq(seq:number):void;
/**
* 反写源单字段:把反写值,追加到此字段上
* @param sourceCommitFieldKey
*/
setSourceCommitFieldKey(sourceCommitFieldKey:string):void;
/**
* 反写方式:Add = 0, Lessen = 1, Cover = 2
* @param writeBackType
*/
setWriteBackType(writeBackType:CtWriteBackType):void;
/**
* 反写方式 (字符串转换)
* @param writeType
*/
setWriteType(writeType:string):void;
}
type CtWriteBackFormula_T = CtWriteBackFormula_S & CtWriteBackFormula$;
interface CtWriteBackFormula extends CtWriteBackFormula_T {
}
interface CtGetTargetOptionalOrgsArgs_S {
}
type CtGetTargetOptionalOrgsArgs_ST = CtPushArgs_S & CtGetTargetOptionalOrgsArgs_S;
interface CtGetTargetOptionalOrgsArgs_C extends CtGetTargetOptionalOrgsArgs_ST {
new():CtGetTargetOptionalOrgsArgs;
}
interface CtGetTargetOptionalOrgsArgs$ {
}
type CtGetTargetOptionalOrgsArgs_T = CtPushArgs & CtGetTargetOptionalOrgsArgs_S & CtGetTargetOptionalOrgsArgs$;
interface CtGetTargetOptionalOrgsArgs extends CtGetTargetOptionalOrgsArgs_T {
}
interface CtConvertOperationResult_S {
}
interface CtConvertOperationResult_C extends CtConvertOperationResult_S {
new():CtConvertOperationResult;
}
interface CtConvertOperationResult$ {
/**
* 源单转换报告,主要包含转换失败的行报告,转换成功的行,自动略过
*
* @return
*/
getBillReports():$.java.util.List;
getCtBillLks():$.java.util.List;
/**
* 申请网控成功的源单:需要在保存目标单后及时释放网控
* @return
*/
getDataMutexSrcBillIds():$.java.util.Set;
/**
* 下推引擎,完成执行时间
* @return
*/
getFinishedTime():Date;
/**
* 提示消息
* @return
*/
getMessage():string;
getReporter():CtReportManager;
/**
* 下推引擎,运行时间(单位秒)
* @return
*/
getRunSecond():long;
/**
* 源单主实体编码
* @return
*/
getSourceEntityNumber():string;
/**
* 下推引擎,开始执行时间
* @return
*/
getStartTime():Date;
getTargetAccountId():string;
/**
* 下推大单并保存,保存成功,输出目标单内码
* @return
*/
getTargetBillIds():$.java.util.Set;
getTargetCtDataObjects():$.java.util.List;
/**
* 目标单主实体编码
* @return
*/
getTargetEntityNumber():string;
getTargetTenantCode():string;
getsSyncLogs():$.java.util.List;
isException():boolean;
/**
* 是否下推成功
* @return
*/
isSuccess():boolean;
/**
* 释放缓存
*
* @param refDataProvider
* @param mainType
*/
release(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType):void;
setBillReports(billReports:$.java.util.List):void;
setCtBillLks(ctBillLks:$.java.util.List):void;
setException(exception:boolean):void;
/**
* 设置下推引擎完成执行时间
* @param finishedTime 完成执行时间
*/
setFinishedTime(finishedTime:Date):void;
/**
* 设置提示消息
* @param message 提示消息
*/
setMessage(message:string):void;
setReporter(reporter:CtReportManager):void;
/**
* 设置源单主实体编码
* @param sourceEntityNumber 源单主实体编码
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 设置下推引擎开始执行时间
* @param startTime 开始执行时间
*/
setStartTime(startTime:Date):void;
/**
* 设置是否下推成功
* @param success 是否下推成功
*/
setSuccess(success:boolean):void;
setTargetAccountId(targetAccountId:string):void;
setTargetBillIds(targetBillIds:$.java.util.Set):void;
setTargetCtDataObjects(targetCtDataObjects:$.java.util.List):void;
/**
* 设置目标单主实体编码
* @param targetEntityNumber 目标单主实体编码
*/
setTargetEntityNumber(targetEntityNumber:string):void;
setTargetTenantCode(targetTenantCode:string):void;
setsSyncLogs(sSyncLogs:$.java.util.List):void;
}
type CtConvertOperationResult_T = CtConvertOperationResult_S & CtConvertOperationResult$;
interface CtConvertOperationResult extends CtConvertOperationResult_T {
}
enum CtWriteBackType {
Add,
Lessen,
Cover
}
interface CtTenantAccount_S {
}
type CtTenantAccount_ST = $.java.io.Serializable & CtTenantAccount_S;
interface CtTenantAccount_C extends CtTenantAccount_ST {
/**
* 构造函数
* @param mainTableId 单据主表的表格编码
* @param billId 单据内码
* @param tableId 表格编码
* @param entryId 实体行内码
*/
new(tenantId:string,accountId:string):CtTenantAccount;
}
interface CtTenantAccount$ {
getAccountId():string;
getHashcode():number;
getTenantId():string;
setAccountId(accountId:string):void;
setHashcode(hashcode:number):void;
setTenantId(tenantId:string):void;
}
type CtTenantAccount_T = $.java.io.Serializable & CtTenantAccount_S & CtTenantAccount$;
interface CtTenantAccount extends CtTenantAccount_T {
}
interface CtTenantTable_S {
}
type CtTenantTable_ST = $.java.io.Serializable & CtTenantTable_S;
interface CtTenantTable_C extends CtTenantTable_ST {
/**
* 构造函数
* @param mainTableId 单据主表的表格编码
* @param billId 单据内码
* @param tableId 表格编码
* @param entryId 实体行内码
*/
new(tenantId:string,accountId:string):CtTenantTable;
}
interface CtTenantTable$ {
getAccountId():string;
getHashcode():number;
getTenantId():string;
setAccountId(accountId:string):void;
setHashcode(hashcode:number):void;
setTenantId(tenantId:string):void;
}
type CtTenantTable_T = $.java.io.Serializable & CtTenantTable_S & CtTenantTable$;
interface CtTenantTable extends CtTenantTable_T {
}
interface CtBillEntryInfo_S {
}
type CtBillEntryInfo_ST = $.java.io.Serializable & CtBillEntryInfo_S;
interface CtBillEntryInfo_C extends CtBillEntryInfo_ST {
new():CtBillEntryInfo;
new(mainEntityKey:string,entryKey:string,sBillIds:$.java.util.List,sEntryIds:$.java.util.List):CtBillEntryInfo;
}
interface CtBillEntryInfo$ {
getBillIds():$.java.util.List;
getEntryIds():$.java.util.List;
getEntryKey():string;
getMainEntityKey():string;
setBillIds(billIds:$.java.util.List):void;
setEntryIds(entryIds:$.java.util.List):void;
setEntryKey(entryKey:string):void;
setMainEntityKey(mainEntityKey:string):void;
}
type CtBillEntryInfo_T = $.java.io.Serializable & CtBillEntryInfo_S & CtBillEntryInfo$;
interface CtBillEntryInfo extends CtBillEntryInfo_T {
}
interface CtSourceRowReport_S {
}
type CtSourceRowReport_ST = $.java.io.Serializable & CtSourceRowReport_S;
interface CtSourceRowReport_C extends CtSourceRowReport_ST {
new():CtSourceRowReport;
}
interface CtSourceRowReport$ {
/**
* 源单主单据体行内码
* @return
*/
getEntryId():any;
/**
* 源单主单据体行号
* @return
*/
getEntrySeq():number;
/**
* 输出转换失败原因
* @return
*/
getFailMessage():string;
/**
* 转换失败原因说明
* @return
*/
getFailMessages():$.java.util.List;
/**
* 输出行信息,格式:单据(001),单据体第2行,子单据体第1行
* @return
*/
getRowInfo(billReport:CtSourceBillReport):string;
/**
* 输出行信息,格式:单据(001),单据体第2行,子单据体第1行
*
* @return
*/
getRowInfo(billNo:string,entryName:string,subEntryName:string):string;
/**
* 源单主子单据体行内码
* @return
*/
getSubEntryId():any;
/**
* 源单主子单据体行序号
* @return
*/
getSubEntrySeq():number;
/**
* 设置源单主单据体行内码
* @param entryId 源单主单据体行内码
*/
setEntryId(entryId:any):void;
/**
* 设置源单主单据体行号
* @param entrySeq 源单主单据体行号
*/
setEntrySeq(entrySeq:number):void;
/**
* 设置源单主子单据体行内码
* @param subEntryId 源单主子单据体行内码
*/
setSubEntryId(subEntryId:any):void;
/**
* 设置源单主子单据体行序号
* @param subEntrySeq 源单主子单据体行序号
*/
setSubEntrySeq(subEntrySeq:number):void;
}
type CtSourceRowReport_T = $.java.io.Serializable & CtSourceRowReport_S & CtSourceRowReport$;
interface CtSourceRowReport extends CtSourceRowReport_T {
}
interface CtSourceBillReport_S {
}
type CtSourceBillReport_ST = $.java.io.Serializable & CtSourceBillReport_S;
interface CtSourceBillReport_C extends CtSourceBillReport_ST {
new():CtSourceBillReport;
}
interface CtSourceBillReport$ {
/**
* 添加转换失败消息
* @param failMessage 失败消息
*/
addFailMessage(failMessage:string):void;
/**
* 增加关联主实体行数
* @param count
*/
addRowCount(count:number):void;
/**
* 添加分录行转换错误报告
*
* @param entityKey 分录标识
* @param rowReport 分录行错误报告
*/
addSourceRowReport(entityKey:string,rowReport:CtSourceRowReport):void;
/**
* 输出单据级转换摘要信息:成功多少行,失败多少行
*
* @return
*/
buildSummary():string;
/**
* 输出单据级转换摘要信息:成功多少行,失败多少行
*
* @param mainType 传入单据主实体,据此获取下级各单据体、子单据体的名称,生成准确的报告
*
* @return
*/
buildSummary(mainType:$.kd.bos.entity.MainEntityType):string;
/**
* 单据转换结束,把行转换报告,从Map转移到List中,以支持序列化、反序列化;
* 为减少数据传输量,每张单仅保留20条失败行信息及原因,其他全部舍弃掉
*/
copyReportToList():void;
/**
* 源单内码
* @return
*/
getBillId():any;
/**
* 源单编码
* @return
*/
getBillNo():string;
/**
* 从属实体行转换报告,实体 -> 实体的各行报告
* @return
*/
getDependEntityRowReports():$.java.util.Map;
/**
* 关联主单据体标识
* @return
*/
getEntryKey():string;
/**
* 关联主单据体名称
* @return
*/
getEntryName():string;
/**
* 输出整单失败原因:如果有行转换成功,则输出""
*
* @return
* @remark
* 1. 优先输出整单失败原因;
* 2. 其次取第一条分录行失败原因:其他行的失败原因大体和第一行一样,不需要重复输出;即使不一样,拼接在一起输出可读性也不好
*/
getFailMessage():string;
/**
* 整单转换失败消息
*/
getFailMessages():$.java.util.List;
/**
* 关联主实体,转换失败行数
* @return
*/
getFailRowCount():number;
/**
* 关联主实体
* @return
*/
getLinkEntityKey():string;
/**
* 关联主实体名称
* @return
*/
getLinkEntityName():string;
/**
* 关联主实体行转换报告
* @return
*/
getLinkEntityRowReports():$.java.util.List;
/**
* 关联主实体总行数
* @return
*/
getRowCount():number;
/**
* 输出行信息,格式:单据(001)
* @return
*/
getRowInfo():string;
/**
* 采用的转换规则内码
* @return
*/
getRuleId():string;
/**
* 采用的转换规则
* @return
*/
getRuleName():string;
/**
* 子单据体标识
* @return
*/
getSubEntryKey():string;
/**
* 子单据体名称
* @return
*/
getSubEntryName():string;
/**
* 是否完整的转换成功:即没有失败行
*
* @return
*/
isFullSuccess():boolean;
/**
* 转换有单据体行转换成功
* @return
*/
isSuccess():boolean;
/**
* 设置源单内码
* @param billId 源单内码
*/
setBillId(billId:any):void;
/**
* 设置源单编码
* @param billNo 源单编码
*/
setBillNo(billNo:string):void;
/**
* 设置关联主单据体标识
* @param entryKey 关联主单据体标识
*/
setEntryKey(entryKey:string):void;
/**
* 设置关联主单据体名称
* @param entryName 关联主单据体名称
*/
setEntryName(entryName:string):void;
/**
* 设置关联主实体
* @param linkEntityKey 关联主实体
*/
setLinkEntityKey(linkEntityKey:string):void;
/**
* 设置关联主实体名称
* @param linkEntityName 关联主实体名称
*/
setLinkEntityName(linkEntityName:string):void;
/**
* 设置采用的转换规则内码
* @param ruleId 转换规则内码
*/
setRuleId(ruleId:string):void;
/**
* 设置采用的转换规则名称
* @param ruleName 转换规则名称
*/
setRuleName(ruleName:string):void;
/**
* 设置子单据体标识
* @param subEntryKey 子单据体标识
*/
setSubEntryKey(subEntryKey:string):void;
/**
* 设置子单据体名称
* @param subEntryName 子单据体名称
*/
setSubEntryName(subEntryName:string):void;
}
type CtSourceBillReport_T = $.java.io.Serializable & CtSourceBillReport_S & CtSourceBillReport$;
interface CtSourceBillReport extends CtSourceBillReport_T {
}
interface CtSyncResult_S {
}
type CtSyncResult_ST = $.java.io.Serializable & CtSyncResult_S;
interface CtSyncResult_C extends CtSyncResult_ST {
new():CtSyncResult;
}
interface CtSyncResult$ {
getBillMaps():$.java.util.Map;
getCtBillInfos():$.java.util.List;
/**
* 申请网控成功的源单:需要在保存目标单后及时释放网控
* @return
*/
getDataMutexSrcBillIds():$.java.util.Set;
/**
* 下推引擎,完成执行时间
* @return
*/
getFinishedTime():Date;
/**
* 提示消息
* @return
*/
getMessage():string;
getReporter():CtReportManager;
/**
* 源单主实体编码
* @return
*/
getSourceEntityNumber():string;
/**
* 下推引擎,开始执行时间
* @return
*/
getStartTime():Date;
/**
* 下推成功后,打开目标单使用的布局
* @return
*/
getTargetBillFormId():string;
/**
* 下推大单并保存,保存成功,输出目标单内码
* @return
*/
getTargetBillIds():$.java.util.Set;
/**
* 目标单主实体编码
* @return
*/
getTargetEntityNumber():string;
/**
* 移动端下推成功后,打开目标单使用的移动端布局
* @return
*/
getTargetMobFormId():string;
isException():boolean;
/**
* 是否下推成功
* @return
*/
isSuccess():boolean;
setBillMaps(billMaps:$.java.util.Map):void;
setCtBillInfos(ctBillInfos:$.java.util.List):void;
setException(exception:boolean):void;
/**
* 设置下推引擎完成执行时间
* @param finishedTime 完成执行时间
*/
setFinishedTime(finishedTime:Date):void;
/**
* 设置提示消息
* @param message 提示消息
*/
setMessage(message:string):void;
setReporter(reporter:CtReportManager):void;
/**
* 设置源单主实体编码
* @param sourceEntityNumber 源单主实体编码
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 设置下推引擎开始执行时间
* @param startTime 开始执行时间
*/
setStartTime(startTime:Date):void;
/**
* 设置是否下推成功
* @param success 是否下推成功
*/
setSuccess(success:boolean):void;
/**
* 设置目标单使用的布局 (下推成功后)
* @param targetBillFormId 目标单使用的布局
*/
setTargetBillFormId(targetBillFormId:string):void;
/**
* 设置目标单主实体编码
* @param targetEntityNumber 目标单主实体编码
*/
setTargetEntityNumber(targetEntityNumber:string):void;
/**
* 设置目标单使用的移动端布局 (移动端下推成功后)
* @param targetMobFormId 目标单使用的移动端布局
*/
setTargetMobFormId(targetMobFormId:string):void;
}
type CtSyncResult_T = $.java.io.Serializable & CtSyncResult_S & CtSyncResult$;
interface CtSyncResult extends CtSyncResult_T {
}
interface CtBFRowLinkDownNode_S {
}
type CtBFRowLinkDownNode_ST = $.java.io.Serializable & CtBFRowLinkDownNode_S;
interface CtBFRowLinkDownNode_C extends CtBFRowLinkDownNode_ST {
/**
* 构造函数
* @param rowId 本节点对应的实体行
*/
new(rowId:CtBFRowId):CtBFRowLinkDownNode;
}
interface CtBFRowLinkDownNode$ {
/**
* 获取全部下游节点,包括直级下游、间接下游
*
* @return
*/
findAllChildNodes():$.java.util.List;
/**
* 在本节点的下游节点中,搜索指定单据节点
*
* @param tMainTableId 目标单主表的表格编码
* @return
*/
findTargetNodes(tenantId:string,accountId:string,tMainTableId:long,sbillid:long):$.java.util.List;
/**
* 本节点对应的实体行
*/
getRowId():CtBFRowId;
/**
* 直级下游节点
*
* @return
* @remark
* 通常只有一个源头,如果有行合并,则会有多个源头;
* 如有多个源头,反写时,就需要按照比例分配反写量
*/
getTNodes():$.java.util.Map;
/**
* 设置本节点对应的实体行
* @param rowId 本节点对应的实体行
*/
setRowId(rowId:CtBFRowId):void;
/**
* 设置直级下游节点
* @param tNodes 直级下游节点
*/
setTNodes(tNodes:$.java.util.Map):void;
}
type CtBFRowLinkDownNode_T = $.java.io.Serializable & CtBFRowLinkDownNode_S & CtBFRowLinkDownNode$;
interface CtBFRowLinkDownNode extends CtBFRowLinkDownNode_T {
}
enum CtWriteBackOpType {
Save,
Audit
}
interface CtGetTargetOptionalOrgsResult_S {
}
interface CtGetTargetOptionalOrgsResult_C extends CtGetTargetOptionalOrgsResult_S {
new():CtGetTargetOptionalOrgsResult;
}
interface CtGetTargetOptionalOrgsResult$ {
/**
* 提示消息
* @return
*/
getMessage():string;
/**
* 可选的组织清单
* @return
*/
getOrgIds():$.java.util.Set;
/**
* 是否有所有组织的新增权
* @return
*/
isHasAllOrgPerm():boolean;
/**
* 目标单是否有主组织字段
* @return
*/
isHasMainOrg():boolean;
/**
* 下推界面,是否需要显示组织选择下拉列表(如果没有找到可选委托组织,无需显示下拉列表)
* @return
*/
isShowTargetOrgCombo():boolean;
/**
* 是否执行成功
* @return
*/
isSuccess():boolean;
/**
* 设置是否有所有组织的新增权
* @param hasAllOrgPerm 是否有所有组织的新增权
*/
setHasAllOrgPerm(hasAllOrgPerm:boolean):void;
/**
* 设置目标单是否有主组织字段
* @param hasMainOrg 是否有主组织字段
*/
setHasMainOrg(hasMainOrg:boolean):void;
/**
* 设置提示消息
* @param message 提示消息
*/
setMessage(message:string):void;
/**
* 设置可选的组织清单
* @param orgIds 组织内码集
*/
setOrgIds(orgIds:$.java.util.Set):void;
/**
* 设置是否需要显示组织选择下拉列表 (下推界面)
* @param showTargetOrgCombo 是否需要显示组织选择下拉列表
*/
setShowTargetOrgCombo(showTargetOrgCombo:boolean):void;
/**
* 设置是否执行成功
* @param success 是否执行成功
*/
setSuccess(success:boolean):void;
}
type CtGetTargetOptionalOrgsResult_T = CtGetTargetOptionalOrgsResult_S & CtGetTargetOptionalOrgsResult$;
interface CtGetTargetOptionalOrgsResult extends CtGetTargetOptionalOrgsResult_T {
}
interface CtSyncArgs_S {
getSerialVersionUID():long;
}
type CtSyncArgs_ST = $.java.io.Serializable & CtSyncArgs_S;
interface CtSyncArgs_C extends CtSyncArgs_ST {
new():CtSyncArgs;
}
interface CtSyncArgs$ {
getData():$.java.util.List;
getRuleExtVerId():long;
getRuleId():string;
getRuleVerId():long;
getSyncType():string;
getTargetBillOp():string;
getsAccountId():string;
getsEntityKey():string;
getsSyncLogs():$.java.util.List;
getsTenantCode():string;
gettAccountId():string;
gettEntityKey():string;
gettTenantCode():string;
isBatchPush():boolean;
isCheckPushAgain():boolean;
setBatchPush(batchPush:boolean):void;
setCheckPushAgain(checkPushAgain:boolean):void;
setData(data:$.java.util.List):void;
setRuleExtVerId(ruleExtVerId:long):void;
setRuleId(ruleId:string):void;
setRuleVerId(ruleVerId:long):void;
setSyncType(syncType:string):void;
setTargetBillOp(targetBillOp:string):void;
setsAccountId(sAccountId:string):void;
setsEntityKey(sEntityKey:string):void;
setsSyncLogs(sSyncLogs:$.java.util.List):void;
setsTenantCode(sTenantCode:string):void;
settAccountId(tAccountId:string):void;
settEntityKey(tEntityKey:string):void;
settTenantCode(tTenantCode:string):void;
}
type CtSyncArgs_T = $.java.io.Serializable & CtSyncArgs_S & CtSyncArgs$;
interface CtSyncArgs extends CtSyncArgs_T {
}
interface CtSaveOperationResult_S {
}
type CtSaveOperationResult_ST = $.java.io.Serializable & CtSaveOperationResult_S;
interface CtSaveOperationResult_C extends CtSaveOperationResult_ST {
new():CtSaveOperationResult;
}
interface CtSaveOperationResult$ {
getCtBillLks():$.java.util.List;
/**
* 申请网控成功的源单:需要在保存目标单后及时释放网控
* @return
*/
getDataMutexSrcBillIds():$.java.util.Set;
/**
* 下推引擎,完成执行时间
* @return
*/
getFinishedTime():Date;
/**
* 提示消息
* @return
*/
getMessage():string;
getReporter():CtReportManager;
/**
* 源单主实体编码
* @return
*/
getSourceEntityNumber():string;
/**
* 下推引擎,开始执行时间
* @return
*/
getStartTime():Date;
/**
* 下推成功后,打开目标单使用的布局
* @return
*/
getTargetBillFormId():string;
/**
* 下推大单并保存,保存成功,输出目标单内码
* @return
*/
getTargetBillIds():$.java.util.Set;
/**
* 目标单主实体编码
* @return
*/
getTargetEntityNumber():string;
/**
* 移动端下推成功后,打开目标单使用的移动端布局
* @return
*/
getTargetMobFormId():string;
gettBillNoMap():$.java.util.Map;
isException():boolean;
/**
* 是否下推成功
* @return
*/
isSuccess():boolean;
setCtBillLks(ctBillLks:$.java.util.List):void;
setException(exception:boolean):void;
/**
* 设置下推引擎完成执行时间
* @param finishedTime 完成执行时间
*/
setFinishedTime(finishedTime:Date):void;
/**
* 设置提示消息
* @param message 提示消息
*/
setMessage(message:string):void;
setReporter(reporter:CtReportManager):void;
/**
* 设置源单主实体编码
* @param sourceEntityNumber 源单主实体编码
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 设置下推引擎开始执行时间
* @param startTime 开始执行时间
*/
setStartTime(startTime:Date):void;
/**
* 设置是否下推成功
* @param success 是否下推成功
*/
setSuccess(success:boolean):void;
/**
* 设置目标单使用的布局 (下推成功后)
* @param targetBillFormId 目标单使用的布局
*/
setTargetBillFormId(targetBillFormId:string):void;
/**
* 设置目标单主实体编码
* @param targetEntityNumber 目标单主实体编码
*/
setTargetEntityNumber(targetEntityNumber:string):void;
/**
* 设置目标单使用的移动端布局 (移动端下推成功后)
* @param targetMobFormId 目标单使用的移动端布局
*/
setTargetMobFormId(targetMobFormId:string):void;
settBillNoMap(tBillNoMap:$.java.util.Map):void;
}
type CtSaveOperationResult_T = $.java.io.Serializable & CtSaveOperationResult_S & CtSaveOperationResult$;
interface CtSaveOperationResult extends CtSaveOperationResult_T {
}
interface CtPushArgs_S {
}
type CtPushArgs_ST = $.java.io.Serializable & AbstractCtConvertServiceArgs_S & CtPushArgs_S;
interface CtPushArgs_C extends CtPushArgs_ST {
/**
* 构造函数
* @param sourceEntityNumber 源单主实体编码
* @param targetEntityNumber 目标单主实体编码
* @param selectedRows 待下推的源单数据行
*/
new(sourceEntityNumber:string,targetEntityNumber:string,selectedRows:$.java.util.List):CtPushArgs;
}
interface CtPushArgs$ {
getCtBillLks():$.java.util.List;
getCurrentOrgId():long;
/**
* 下推默认设置的主组织:优先取此组织,但需要满足主组织字段计算公式、权限要求、职能要求
* @return
*/
getDefOrgId():long;
getRootJobId():long;
/**
* 限定可用的转换规则范围,如果为空,则即时到数据库取所有可用的转换规则进行下推
* @return
*/
getRuleIds():$.java.util.Set;
getRuleName():string;
/**
* 待下推的源单数据行
*
* @return
*/
getSelectedRows():$.java.util.List;
getSourceOperate():string;
getSyncType():string;
getTargetBillOp():string;
getsAccountId():string;
getsTenantCode():string;
gettAccountId():string;
gettTenantCode():string;
/**
* 是否下推自动保存,在转换规则和参数都启用的情况下才有效
* @return
*/
isAutoSave():boolean;
isBatchPush():boolean;
isCheckPushAgain():boolean;
isConver():boolean;
/**
* 是否已经通过验权,不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要,如工作流审核通过后自动生成下游单据,不需要验权
* @return
*/
isHasRight():boolean;
isShowReport():boolean;
/**
* 设置是否下推自动保存,在转换规则和参数都启用的情况下才有效
* @param autoSave 是否下推自动保存
*/
setAutoSave(autoSave:boolean):void;
setBatchPush(batchPush:boolean):void;
setCheckPushAgain(checkPushAgain:boolean):void;
setConver(conver:boolean):void;
setCtBillLks(ctBillLks:$.java.util.List):void;
setCurrentOrgId(currentOrgId:long):void;
/**
* 设置下推默认设置的主组织
* @param defOrgId 组织ID
*/
setDefOrgId(defOrgId:long):void;
/**
* 设置是否已经通过验权,不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要,如工作流审核通过后自动生成下游单据,不需要验权
* @param hasRight 是否已经通过验权
*/
setHasRight(hasRight:boolean):void;
setRootJobId(rootJobId:long):void;
setRuleName(ruleName:string):void;
/**
* 设置待下推的源单数据行
* @param selectedRows 待下推的源单数据行
*/
setSelectedRows(selectedRows:$.java.util.List):void;
setShowReport(showReport:boolean):void;
setSourceOperate(sourceOperate:string):void;
setSyncType(syncType:string):void;
setTargetBillOp(targetBillOp:string):void;
setsAccountId(sAccountId:string):void;
setsTenantCode(sTenantCode:string):void;
settAccountId(tAccountId:string):void;
settTenantCode(tTenantCode:string):void;
}
type CtPushArgs_T = AbstractCtConvertServiceArgs & $.java.io.Serializable & CtPushArgs_S & CtPushArgs$;
interface CtPushArgs extends CtPushArgs_T {
}
interface CtSaveArgs_S {
}
type CtSaveArgs_ST = $.java.io.Serializable & CtSaveArgs_S;
interface CtSaveArgs_C extends CtSaveArgs_ST {
new():CtSaveArgs;
}
interface CtSaveArgs$ {
getData():$.java.util.List;
getRuleExtVerId():long;
getRuleId():string;
getRuleVerId():long;
getSyncType():string;
getTargetBillOp():string;
getsAccountId():string;
getsEntityKey():string;
getsSyncLogs():$.java.util.List;
getsTenantCode():string;
gettAccountId():string;
gettEntityKey():string;
gettTenantCode():string;
isBatchPush():boolean;
isCheckPushAgain():boolean;
setBatchPush(batchPush:boolean):void;
setCheckPushAgain(checkPushAgain:boolean):void;
setData(data:$.java.util.List):void;
setRuleExtVerId(ruleExtVerId:long):void;
setRuleId(ruleId:string):void;
setRuleVerId(ruleVerId:long):void;
setSyncType(syncType:string):void;
setTargetBillOp(targetBillOp:string):void;
setsAccountId(sAccountId:string):void;
setsEntityKey(sEntityKey:string):void;
setsSyncLogs(sSyncLogs:$.java.util.List):void;
setsTenantCode(sTenantCode:string):void;
settAccountId(tAccountId:string):void;
settEntityKey(tEntityKey:string):void;
settTenantCode(tTenantCode:string):void;
}
type CtSaveArgs_T = $.java.io.Serializable & CtSaveArgs_S & CtSaveArgs$;
interface CtSaveArgs extends CtSaveArgs_T {
}
interface CtConvertOpRule_S {
}
interface CtConvertOpRule_C extends CtConvertOpRule_S {
/**
* 构造函数
* @param ruleId 规则内码
* @param ruleName 规则名称
*/
new(ruleId:string,ruleName:string):CtConvertOpRule;
}
interface CtConvertOpRule$ {
/**
* 指定可选的单据类型
* @return
*/
getBillTypeIds():$.java.util.List;
/**
* 优先选择的单据类型
* @return
*/
getDefBillType():long;
/**
* 允许选择全部单据类型,但这些特别类型除外
* @return
*/
getInvalidBillTypeIds():$.java.util.List;
/**
* 规则内码
* @return
*/
getRuleId():string;
/**
* 规则名称
* @return
*/
getRuleName():string;
getSyncType():string;
/**
* 是否允许全部单据类型,不需要指定可选的单据类型
* @return
*/
isAllBillType():boolean;
/**
* 运行时是否隐藏不可选(仅供后台自动下推使用)
* @return
*/
isVisibled():boolean;
/**
* 设置是否允许全部单据类型,不需要指定可选的单据类型
* @param allBillType 单据类型
*/
setAllBillType(allBillType:boolean):void;
/**
* 设置优先选择的单据类型
* @param defBillType 单据类型
*/
setDefBillType(defBillType:long):void;
/**
* 设置规则内码
* @param ruleId 规则内码
*/
setRuleId(ruleId:string):void;
/**
* 设置规则名称
* @param ruleName 规则名称
*/
setRuleName(ruleName:string):void;
setSyncType(syncType:string):void;
/**
* 设置运行时是否隐藏不可选(仅供后台自动下推使用)
* @param visibled 运行时是否隐藏不可选
*/
setVisibled(visibled:boolean):void;
}
type CtConvertOpRule_T = CtConvertOpRule_S & CtConvertOpRule$;
interface CtConvertOpRule extends CtConvertOpRule_T {
}
interface CtReportManager_S {
}
type CtReportManager_ST = $.java.io.Serializable & CtReportManager_S;
interface CtReportManager_C extends CtReportManager_ST {
new():CtReportManager;
}
interface CtReportManager$ {
addAuditSuccessIds(auditSuccessIds:$.java.util.Collection):void;
addFailId(billId:long,errMessage:string):void;
addSubmitSuccessIds(submitSuccessIds:$.java.util.Collection):void;
/**
* 保存成功后,记录保存成功的目标单
* @param ids
*/
addSuccessIds(billIds:$.java.util.Collection):void;
getAuditSuccessIds():$.java.util.Set;
getErrorMsg():string;
/**
* 下推或保存失败的单据,及其失败原因
* @return
*/
getFailIds():$.java.util.Map;
getSubmitSuccessIds():$.java.util.Set;
/**
* 下推并保存成功的目标单,已经保存入库
*
* @return
*/
getSuccessIds():$.java.util.Set;
getsBillCounts():number;
isException():boolean;
isSuccess():boolean;
setErrorMsg(errorMsg:string):void;
setException(exception:boolean):void;
setSuccess(success:boolean):void;
setsBillCounts(sBillCounts:number):void;
}
type CtReportManager_T = $.java.io.Serializable & CtReportManager_S & CtReportManager$;
interface CtReportManager extends CtReportManager_T {
}
interface AbstractCtConvertServiceArgs_S {
}
type AbstractCtConvertServiceArgs_ST = $.java.io.Serializable & AbstractCtConvertServiceArgs_S;
interface AbstractCtConvertServiceArgs_C extends AbstractCtConvertServiceArgs_ST {
/**
* 空参数构造函数:用于反序列化
*/
new():AbstractCtConvertServiceArgs;
new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string):AbstractCtConvertServiceArgs;
new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,ruleVerId:long,ruleExtVerId:long):AbstractCtConvertServiceArgs;
}
interface AbstractCtConvertServiceArgs$ {
/**
* 增加自定义参数
*
* @param paramName 参数名
* @param paramValue 参数值
*/
addCustomParam(paramName:string,paramValue:string):void;
/**
* 当前应用,用此应用验权
*
* @return
*/
getAppId():string;
/**
* 自定义参数
*
* @return
*/
getCustomParams():$.java.util.Map;
/**
* 定时调度任务的taskId
*
* @return
*/
getJobTaskId():string;
/**
* 获取操作信息
*
* @return
*/
getOpInfo():CtOpInfo;
getRuleExtVerId():long;
/**
* 单据转换,指定采用的规则
*
* @return
*/
getRuleId():string;
getRuleVerId():long;
/**
* 源单主实体编码
*
* @return
*/
getSourceEntityNumber():string;
/**
* 目标单主实体编码
*
* @return
*/
getTargetEntityNumber():string;
/**
* 单据转换任务标识,可以根据这个任务标识,查到当前进度
*
* @return
*/
getTaskId():string;
/**
* 是否生成单据转换报告:生成报告需要花费时间,并且需要占用生成结果对象的空间,对于自动化生成,无需报告
*
* @return
*/
isBuildConvReport():boolean;
/**
* 设置应用id
*
* @param appId 应用ID
*/
setAppId(appId:string):void;
/**
* 设置是否生成单据转换报告
*
* @param buildConvReport 是否生成单据转换报告
*/
setBuildConvReport(buildConvReport:boolean):void;
setJobTaskId(jobTaskId:string):void;
setOpInfo(opInfo:CtOpInfo):void;
setRuleExtVerId(ruleExtVerId:long):void;
/**
* 设置单据转换规则
*
* @param ruleId 单据转换规则ID
*/
setRuleId(ruleId:string):void;
setRuleVerId(ruleVerId:long):void;
/**
* 设置源单主实体编码
*
* @param sourceEntityNumber 源单主实体编码
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
/**
* 设置目标单主实体编码
*
* @param targetEntityNumber 目标单主实体编码
*/
setTargetEntityNumber(targetEntityNumber:string):void;
/**
* 设置单据转换任务标识
*
* @param taskId 单据转换任务标识
*/
setTaskId(taskId:string):void;
}
type AbstractCtConvertServiceArgs_T = $.java.io.Serializable & AbstractCtConvertServiceArgs_S & AbstractCtConvertServiceArgs$;
interface AbstractCtConvertServiceArgs extends AbstractCtConvertServiceArgs_T {
}
interface CtDrawArgs_S {
}
type CtDrawArgs_ST = AbstractCtConvertServiceArgs_S & CtDrawArgs_S;
interface CtDrawArgs_C extends CtDrawArgs_ST {
/**
* 构造函数
* @param sourceEntityNumber 源单主实体编码
* @param targetEntityNumber 目标单主实体编码
* @param ruleId 规则内码
* @param selectedRows 所选源单行集合
* @param targetPageId 目标单界面PageId
*/
new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,selectedRows:$.java.util.List,targetPageId:string):CtDrawArgs;
}
interface CtDrawArgs$ {
/**
* 覆盖式选单:选单前,清除指定的单据体行
* @return
*/
getClearEntrys():$.java.util.List;
/**
* 源单行
* @return
*/
getSelectedRows():$.java.util.List;
/**
* 基于目标单PageId,到缓存中,读取目标单数据包
*
* @return
*/
getTargetDataEntity(refProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 目标单界面PageId
* @return
* @remark:
* 选单操作是在目标单,新增界面上进行的,需要把源单数据,填充到当前界面上
* 因此,需要传入当前目标单新增界面的数据包;
* 传入PageId后,可以据此到缓存中,获取到界面数据包
*/
getTargetPageId():string;
/**
* 设置需要清除的单据体行
* @param clearEntrys 单据体行
*/
setClearEntrys(clearEntrys:$.java.util.List):void;
/**
* 设置目标单界面PageId
* @param targetPageId 目标单界面PageId
*/
setTargetPageId(targetPageId:string):void;
}
type CtDrawArgs_T = AbstractCtConvertServiceArgs & CtDrawArgs_S & CtDrawArgs$;
interface CtDrawArgs extends CtDrawArgs_T {
}
interface CtBFRow_S {
}
type CtBFRow_ST = $.java.io.Serializable & CtBFRow_S;
interface CtBFRow_C extends CtBFRow_ST {
new():CtBFRow;
}
interface CtBFRow$ {
/**
* 目标单行
* @return
*/
getId():CtBFRowId;
/**
* 源单行
* @return
*/
getSId():CtBFRowId;
/**
* 设置目标单行
* @param id 目标单行id
*/
setId(id:CtBFRowId):void;
/**
* 设置源单行
* @param sid 源单行id
*/
setSId(sid:CtBFRowId):void;
}
type CtBFRow_T = $.java.io.Serializable & CtBFRow_S & CtBFRow$;
interface CtBFRow extends CtBFRow_T {
}
interface CtBFRowLinkUpNode_S {
}
type CtBFRowLinkUpNode_ST = $.java.io.Serializable & CtBFRowLinkUpNode_S;
interface CtBFRowLinkUpNode_C extends CtBFRowLinkUpNode_ST {
/**
* 构造函数
* @param rowId
*/
new(rowId:CtBFRowId):CtBFRowLinkUpNode;
}
interface CtBFRowLinkUpNode$ {
/**
* 获取全部上游节点,包括直级上游、间接上游
*
* @return
*/
findAllSourceNodes():$.java.util.List;
/**
* 在本节点的来源中,搜索指定源单节点
*
* @param sMainTableId 源单主表的表格编码
* @return
*/
findSourceNodes(sMainTableId:long):$.java.util.List;
/**
* 本节点对应的实体行
*/
getRowId():CtBFRowId;
/**
* 来源节点
* @return
* @remark
* 通常只有一个源头,如果有行合并,则会有多个源头;
* 如有多个源头,反写时,就需要按照比例分配反写量
*/
getSNodes():$.java.util.Map;
/**
* 设置本节点对应的实体行
* @param rowId 本节点对应的实体行
*/
setRowId(rowId:CtBFRowId):void;
/**
* 设置来源节点
* @param sNodes 来源节点
*/
setSNodes(sNodes:$.java.util.Map):void;
}
type CtBFRowLinkUpNode_T = $.java.io.Serializable & CtBFRowLinkUpNode_S & CtBFRowLinkUpNode$;
interface CtBFRowLinkUpNode extends CtBFRowLinkUpNode_T {
}
interface CtBFTable_S {
}
type CtBFTable_ST = $.java.io.Serializable & CtBFTable_S;
interface CtBFTable_C extends CtBFTable_ST {
/**
* 构造函数
* @param mainTableId 单据主表的表格编码
* @param billId 单据内码
* @param tableId 表格编码
* @param entryId 实体行内码
*/
new(tenantId:string,accountId:string,mainEntityKey:string):CtBFTable;
}
interface CtBFTable$ {
getAccountId():string;
getHashcode():number;
getMainEntityKey():string;
getTenantId():string;
setAccountId(accountId:string):void;
setHashcode(hashcode:number):void;
setMainEntityKey(mainEntityKey:string):void;
setTenantId(tenantId:string):void;
}
type CtBFTable_T = $.java.io.Serializable & CtBFTable_S & CtBFTable$;
interface CtBFTable extends CtBFTable_T {
}
interface CtBFRowId_S {
}
type CtBFRowId_ST = $.java.io.Serializable & CtBFRowId_S;
interface CtBFRowId_C extends CtBFRowId_ST {
/**
* 构造函数
* @param mainTableId 单据主表的表格编码
* @param billId 单据内码
* @param tableId 表格编码
* @param entryId 实体行内码
*/
new(tenantId:string,accountId:string,mainTableId:long,billId:long,tableId:long,entryId:long):CtBFRowId;
}
interface CtBFRowId$ {
getAccountId():string;
/**
* 单据内码
* @return
* @remark
* 冗余的数据:
* 从实体行内码,也能追查到单据内码,但是比较麻烦,在这个对象中,直接存下单据内码,后续处理比较方便
*/
getBillId():long;
getEntityKey():string;
/**
* 实体行内码
* @return
*/
getEntryId():long;
getHashcode():number;
getMainEntityKey():string;
getMainEntityName():string;
/**
* 单据主表的表格编码:用于明确单据类型
* @return
*/
getMainTableId():long;
getSyncModel():string;
/**
* 表格编码:每个单据的每个实体,都有个唯一的表格编码
*/
getTableId():long;
getTenantId():string;
setAccountId(accountId:string):void;
/**
* 设置单据内码
* @param billId 单据内码
*/
setBillId(billId:long):void;
setEntityKey(entityKey:string):void;
/**
* 设置实体行内码
* @param entryId 实体行内码
*/
setEntryId(entryId:long):void;
setHashcode(hashcode:number):void;
setMainEntityKey(mainEntityKey:string):void;
setMainEntityName(mainEntityName:string):void;
/**
* 设置单据主表的表格编码
* @param mainTableId 单据主表的表格编码
*/
setMainTableId(mainTableId:long):void;
setSyncModel(syncModel:string):void;
/**
* 设置表格编码
* @param tableId 表格编码
*/
setTableId(tableId:long):void;
setTenantId(tenantId:string):void;
}
type CtBFRowId_T = $.java.io.Serializable & CtBFRowId_S & CtBFRowId$;
interface CtBFRowId extends CtBFRowId_T {
}
interface CtBFEntryTable_S {
}
type CtBFEntryTable_ST = $.java.io.Serializable & CtBFEntryTable_S;
interface CtBFEntryTable_C extends CtBFEntryTable_ST {
/**
* 构造函数
* @param mainTableId 单据主表的表格编码
* @param billId 单据内码
* @param tableId 表格编码
* @param entryId 实体行内码
*/
new(tenantId:string,accountId:string,mainEntityKey:string,entryKey:string):CtBFEntryTable;
}
interface CtBFEntryTable$ {
getAccountId():string;
getEntryKey():string;
getHashcode():number;
getMainEntityKey():string;
getTenantId():string;
setAccountId(accountId:string):void;
setEntryKey(entryKey:string):void;
setHashcode(hashcode:number):void;
setMainEntityKey(mainEntityKey:string):void;
setTenantId(tenantId:string):void;
}
type CtBFEntryTable_T = $.java.io.Serializable & CtBFEntryTable_S & CtBFEntryTable$;
interface CtBFEntryTable extends CtBFEntryTable_T {
}
interface CtWriteBackRuleElement_S {
}
interface CtWriteBackRuleElement_C extends CtWriteBackRuleElement_S {
/**
* 默认构造函数:给属性设置默认值
*/
new():CtWriteBackRuleElement;
}
interface CtWriteBackRuleElement$ {
/**
* 检查配置是否合理
*
* @param checkResult
* @return
*/
check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
/**
* 回滚反写后,恢复的源单关闭状态值
* @return
*/
getBillCloseFieldFailStatus():string;
/**
* 源单整单关闭状态字段
* @return
*/
getBillCloseFieldKey():string;
/**
* 达成整单关闭条件后,源单关闭状态值
* @return
*/
getBillCloseFieldSuccesStatus():string;
/**
* 源单整体关闭方式:AllRowsClosed(0),OneRowClosed(1);
* @return
*/
getBillCloseType():kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType;
/**
* 业务规则:在反写完毕后,对源单其他字段进行同步刷新
*
* @return
*/
getBizRules():$.java.util.List;
/**
* 运行时版本,格式:yyyy-MM-dd hh:mm:ss
* @return
*/
getCacheVersion():string;
/**
* 最近一次检查版本时间
* @return
*/
getCheckVersionTimeMillis():long;
/**
* 源单行关闭条件
* @return
*/
getCloseCheckCondition():CtCRCondition;
getCloseType():string;
/**
* 用户调整的状态:0 = 草稿;1 = 启用;2 = 禁用
* @return
* @remark
* 用户状态的存取:
* 1. 使用单独的物理表格,存储用户状态 t_botp_writeBackRule_S.fcuststatus;
* 2. 读取规则元数据插件WriteBackRuleMetaDaoPlugin,使用物理字段中状态值,替换本对象从xml中读取的状态值;
* 3. 存储规则时,在元数据插件中,把本对象中的状态,同步更新到用户状态表格中;
* 4. 加载运行时反写规则时,WriteBackRuleMetaDaoPlugin插件,去掉已禁用的扩展;
* 5. 打包安装规则时,不打包用户状态字段值,避免覆盖现场用户设置的状态
*/
getCustStatus():string;
getDistribute():string;
/**
* 合并后反写超量分配方式:TopDown = 0, Weight = 1
* @return
*/
getDistributeType():kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType;
/**
* 回滚反写后,恢复的源单行关闭状态值
* @return
*/
getEntryCloseFieldFailStatus():string;
/**
* 源单行关闭状态字段
* @return
*/
getEntryCloseFieldKey():string;
/**
* 达成关闭条件后,源单行关闭状态值
* @return
*/
getEntryCloseFieldSuccesStatus():string;
getExcessCheck():string;
/**
* 超额检查公式
* @return
*/
getExcessCheckConditon():CtCRCondition;
/**
* 超额提示信息
* @return
*/
getExcessCheckMessage():$.kd.bos.dataentity.entity.LocaleString;
/**
* 超额检查模式:StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
* @return
*/
getExcessCheckType():kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
getExcessFalse():string;
/**
* 条件为假选择的超额控制模式
* @return
*/
getExcessSelectFalse():kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
/**
* 条件为真时选择的超额控制模式
* @return
*/
getExcessSelectTrue():kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
getExcessTrue():string;
/**
* 超额模式选择条件
* @return
*/
getExcessTypeSelectCondition():CtCRCondition;
/**
* 扩展反写规则的版本:系统在保存扩展规则时,自动更新
*
* @return
*/
getExtVersion():long;
/**
* 反写公式集合
* @return
*/
getFormulas():$.java.util.List;
/**
* 唯一标识:自动产生;对外号称ruleId
* @return
*/
getId():string;
/**
* 规则的名称
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 执行反写的操作;本属性专用于序列化
* @return
*/
getOp():string;
/**
* 执行反写的操作:Save = 0, Audit = 1
* @return
*/
getOpType():CtWriteBackOpType;
/**
* 原生反写规则的版本:系统自动产生,每次保存时,都自动更新;
* @return
* @remark
*
* 单据保存执行反写时,会把当时使用的反写规则,压入规则版本库,以作为后续冲销数据依据;
* 产生的反写快照,记录的是反写规则版本,而不是反写规则标识;
*
* 此属性值,在原生的规则保存时更新;
* 与元数据对象中的时间版本FVersion,不是一回事
*/
getOriVersion():long;
/**
* 源头单据
* @return
*/
getSourceEntityNumber():string;
/**
* 出厂时的状态:0 = 正常;1 = 禁用;出厂时的禁用状态最优先
* @return
* @remark
* 系统出厂状态的存取:
* 1. 通过物理表格字段存储系统出厂状态,忽略XML中的值及其差量
* 2. 暂时不提供用户修改出厂状态的入口(只能预插SQL语句更改),因此,忽略掉用户自行扩展的规则状态,不考虑差量化
* 3. 取数时,使用规则对应的出厂状态值,直接替换XML中的值
* 4. 存储时,把规则的出厂状态值,存回字段
* 5. 上述存取功能,通过DesignWriteBackRuleMeta实体对象实现
*/
getSysStatus():string;
/**
* 下游单据
* @return
*/
getTargetEntityNumber():string;
/**
* 判断反写规则是否正常启用
* @return
*/
isNormual():boolean;
/**
* 回滚反写后,恢复的源单关闭状态值
* @param billCloseFieldFailStatus
*/
setBillCloseFieldFailStatus(billCloseFieldFailStatus:string):void;
/**
* 源单整单关闭状态字段
* @param billCloseFieldKey
*/
setBillCloseFieldKey(billCloseFieldKey:string):void;
/**
* 达成整单关闭条件后,源单关闭状态值
* @param billCloseFieldSuccesStatus
*/
setBillCloseFieldSuccesStatus(billCloseFieldSuccesStatus:string):void;
/**
* 源单整体关闭方式:AllRowsClosed(0),OneRowClosed(1);
* @param billCloseType
*/
setBillCloseType(billCloseType:kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType):void;
/**
* 运行时版本,格式:yyyy-MM-dd hh:mm:ss
* @param cacheVersion
*/
setCacheVersion(cacheVersion:string):void;
/**
* 最近一次检查版本时间
* @param checkVersionTimeMillis
*/
setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
/**
* 源单行关闭条件
* @param closeCheckCondition
*/
setCloseCheckCondition(closeCheckCondition:CtCRCondition):void;
setCloseType(billCloseType:string):void;
setCustStatus(custStatus:string):void;
setDistribute(distributeType:string):void;
/**
* 合并后反写超量分配方式:TopDown = 0, Weight = 1
* @param distributeType
*/
setDistributeType(distributeType:kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType):void;
/**
* 回滚反写后,恢复的源单行关闭状态值
* @param entryCloseFieldFailStatus
*/
setEntryCloseFieldFailStatus(entryCloseFieldFailStatus:string):void;
/**
* 源单行关闭状态字段
* @param entryCloseFieldKey
*/
setEntryCloseFieldKey(entryCloseFieldKey:string):void;
/**
* 达成关闭条件后,源单行关闭状态值
* @param entryCloseFieldSuccesStatus
*/
setEntryCloseFieldSuccesStatus(entryCloseFieldSuccesStatus:string):void;
setExcessCheck(excessCheckType:string):void;
/**
* 超额检查公式
* @param excessCheckConditon
*/
setExcessCheckConditon(excessCheckConditon:CtCRCondition):void;
/**
* 超额提示信息
* @param excessCheckMessage
*/
setExcessCheckMessage(excessCheckMessage:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 超额检查模式:StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
* @param excessCheckType
*/
setExcessCheckType(excessCheckType:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType):void;
setExcessFalse(excessSelectFalse:string):void;
/**
* 条件为假选择的超额控制模式
* @param excessSelectFalse
*/
setExcessSelectFalse(excessSelectFalse:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType):void;
/**
* 条件为真时选择的超额控制模式
* @param excessSelectTrue
*/
setExcessSelectTrue(excessSelectTrue:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType):void;
setExcessTrue(excessSelectTrue:string):void;
/**
* 超额模式选择条件
* @param excessTypeSelectCondition
*/
setExcessTypeSelectCondition(excessTypeSelectCondition:CtCRCondition):void;
/**
* 扩展反写规则的版本
* @param extVersion
*/
setExtVersion(extVersion:long):void;
setId(id:string):void;
/**
* 规则的名称
* @param name
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setOp(op:string):void;
/**
* 执行反写的操作:Save = 0, Audit = 1
* @param opType
*/
setOpType(opType:CtWriteBackOpType):void;
setOriVersion(oriVersion:long):void;
/**
* 源头单据
* @param sourceEntityNumber
*/
setSourceEntityNumber(sourceEntityNumber:string):void;
setSysStatus(sysStatus:string):void;
/**
* 下游单据
* @param targetEntityNumber
*/
setTargetEntityNumber(targetEntityNumber:string):void;
}
type CtWriteBackRuleElement_T = CtWriteBackRuleElement_S & CtWriteBackRuleElement$;
interface CtWriteBackRuleElement extends CtWriteBackRuleElement_T {
}
interface CtWriteBackBizRule_S {
}
interface CtWriteBackBizRule_C extends CtWriteBackBizRule_S {
new():CtWriteBackBizRule;
}
interface CtWriteBackBizRule$ {
/**
* 检查配置是否合理
*
* @param srcMainType
* @param srcEntityKey
* @param parentPoint
* @param checkResult
* @return
*/
check(srcMainType:$.kd.bos.entity.MainEntityType,srcEntityKey:string,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 条件失败时执行的业务规则
* @return
*/
getBizRuleFalse():CtCRBizRuleElement;
/**
* 条件成立时执行的业务规则
* @return
*/
getBizRuleTrue():CtCRBizRuleElement;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
/**
* 前置条件
* @return
*/
getPreCondition():CtCRCondition;
/**
* 执行顺序
* @return
*/
getSeq():number;
/**
* 是否启用
* @return
*/
isEnabled():boolean;
/**
* 条件失败时执行的业务规则
* @param bizRuleFalse
*/
setBizRuleFalse(bizRuleFalse:CtCRBizRuleElement):void;
/**
* 条件成立时执行的业务规则
* @param bizRuleTrue
*/
setBizRuleTrue(bizRuleTrue:CtCRBizRuleElement):void;
/**
* 是否启用
* @param enabled
*/
setEnabled(enabled:boolean):void;
/**
* 唯一标识
* @param value
*/
setId(value:string):void;
/**
* 前置条件
* @param preCondition
*/
setPreCondition(preCondition:CtCRCondition):void;
/**
* 执行顺序
* @param seq
*/
setSeq(seq:number):void;
}
type CtWriteBackBizRule_T = CtWriteBackBizRule_S & CtWriteBackBizRule$;
interface CtWriteBackBizRule extends CtWriteBackBizRule_T {
}
interface CtOpInfo_S {
}
type CtOpInfo_ST = $.java.io.Serializable & CtOpInfo_S;
interface CtOpInfo_C extends CtOpInfo_ST {
new():CtOpInfo;
}
interface CtOpInfo$ {
getOpDesc():$.kd.bos.dataentity.entity.LocaleString;
getOpKey():string;
getOpName():$.kd.bos.dataentity.entity.LocaleString;
getOpType():string;
setOpDesc(opDesc:$.kd.bos.dataentity.entity.LocaleString):void;
setOpKey(opKey:string):void;
setOpName(opName:$.kd.bos.dataentity.entity.LocaleString):void;
setOpType(opType:string):void;
}
type CtOpInfo_T = $.java.io.Serializable & CtOpInfo_S & CtOpInfo$;
interface CtOpInfo extends CtOpInfo_T {
}
interface CtCRBizRuleElement_S {
}
interface CtCRBizRuleElement_C extends CtCRBizRuleElement_S {
new():CtCRBizRuleElement;
}
interface CtCRBizRuleElement$ {
/**
* 检查配置是否合理
*
* @param mainType
* @param parentPoint
* @param checkResult
* @return
*/
check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
/**
* 服务类型,据此寻找服务元模型,获取服务执行类,以及配置界面
* @return
*/
getActionId():string;
/**
* 服务描述,介绍服务的用途
* @return
*/
getDescription():$.kd.bos.dataentity.entity.LocaleString;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
/**
* 服务配置参数:各种具体服务的配置参数,包括格式都是不同的;
* 这里并不关注这种差异,只是提供存储的载体,由服务执行类自行解析服务配置参数,实现功能
* @return
*/
getParameters():string;
/**
* 服务执行条件
* @return
*/
getPreCondition():CtCRCondition;
/**
* 服务执行类名,必须派生自CRBizRuleAction
* @return
*/
getRunActionClass():string;
/**
* 执行顺序
* @return
*/
getSeq():number;
/**
* 是否启用
* @return
*/
isEnabled():boolean;
/**
* 服务类型
* @param actionId
*/
setActionId(actionId:string):void;
/**
* 服务描述
* @param description
*/
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 是否启用
* @param enabled
*/
setEnabled(enabled:boolean):void;
/**
* 自动产生的唯一标识
* @param value
*/
setId(value:string):void;
/**
* 服务配置参数
* @param parameters
*/
setParameters(parameters:string):void;
/**
* 服务执行条件
* @param preCondition
*/
setPreCondition(preCondition:CtCRCondition):void;
/**
* 服务执行类名
* @param runActionClass
*/
setRunActionClass(runActionClass:string):void;
/**
* 执行顺序
* @param seq
*/
setSeq(seq:number):void;
}
type CtCRBizRuleElement_T = CtCRBizRuleElement_S & CtCRBizRuleElement$;
interface CtCRBizRuleElement extends CtCRBizRuleElement_T {
}
interface CtConvertConst_S {
readonly BOTPTAG_OF_DATASOURCE:string;
readonly BOTP_CHILDVIEW_FROM_CONVERTRESULTFORM:string;
readonly BOTP_TRACK_SEARCH_ENTRY:string;
readonly ConvExtDataKey_AttachmentMappingSourceRowIds:string;
readonly ConvExtDataKey_IsNewEntity:string;
readonly ConvExtDataKey_SourceAttachmentPanelInfos:string;
readonly ConvExtDataKey_SourceRows:string;
readonly ConvExtDataKey_SourceRowsGroupKey:string;
readonly ConvPageCacheKey_AttachmentPanel:string;
readonly ConvPageCacheKey_ConvertOperationResult:string;
readonly ConvPageCacheKey_ConvertOperationResult_Simple:string;
readonly ConvPageCacheKey_CurrBillIndex:string;
readonly ConvPageCacheKey_NullBillnoBills:string;
readonly DATAMUTEX_OPKEY_SAVE:string;
readonly DataMutex_ISSTRICT:string;
readonly DataMutex_OPKEY_CONVERT:string;
readonly FOMR_CALL_SOURCE_TYPE_DRAW:string;
readonly FOMR_CALL_SOURCE_TYPE_PUSH:string;
readonly FOMR_CALL_SOURCE_TYPE_TRACK:string;
readonly FOMR_CALL_SOURCE_TYPE_TRACK_DOWN:string;
readonly FOMR_CALL_SOURCE_TYPE_TRACK_UP:string;
readonly FirstRelationOrgId:string;
readonly HasRight:string;
readonly OutFormula:string;
readonly PushByBill:string;
readonly Push_Target_Bill_FormId:string;
readonly Push_Target_Bill_MobFormId:string;
readonly Push_Target_Bills_FormId:string;
readonly Push_Target_Bills_MobFormId:string;
readonly RequireDataMutex:string;
readonly TRACK_OPTION_ONLY_BILL:string;
readonly TRACK_OPTION_ONLY_DIRT:string;
readonly TRACK_SHOW_BILL_CUST_PLUGIN:string;
readonly TRACK_SHOW_BILL_EDIT_STATUS:string;
readonly TargetMainOrgId:string;
}
interface CtConvertConst_C extends CtConvertConst_S {
new():CtConvertConst;
}
interface CtConvertConst$ {
}
type CtConvertConst_T = CtConvertConst_S & CtConvertConst$;
interface CtConvertConst extends CtConvertConst_T {
}
}
namespace kd.bos.entity.ctbotp.sync{
interface SyncQueryArgs_S {
create():SyncQueryArgs;
}
type SyncQueryArgs_ST = $.java.io.Serializable & SyncQueryArgs_S;
interface SyncQueryArgs_C extends SyncQueryArgs_ST {
new():SyncQueryArgs;
}
interface SyncQueryArgs$ {
addSAccountId(arg0:string):this;
addSBillIds(arg0:$.java.util.List):this;
addSEntityKey(arg0:string):this;
addSTenantCode(arg0:string):this;
addTAccountId(arg0:string):this;
addTEntityKey(arg0:string):this;
addTTenantCode(arg0:string):this;
getRootJobId():long;
getSyncType():string;
getsAccountId():string;
getsBillIds():$.java.util.List;
getsEntityKey():string;
getsTenantCode():string;
gettAccountId():string;
gettEntityKey():string;
gettTenantCode():string;
setRootJobId(arg0:long):void;
setSyncType(arg0:string):void;
setsAccountId(arg0:string):void;
setsBillIds(arg0:$.java.util.List):void;
setsEntityKey(arg0:string):void;
setsTenantCode(arg0:string):void;
settAccountId(arg0:string):void;
settEntityKey(arg0:string):void;
settTenantCode(arg0:string):void;
}
type SyncQueryArgs_T = $.java.io.Serializable & SyncQueryArgs_S & SyncQueryArgs$;
interface SyncQueryArgs extends SyncQueryArgs_T {
}
}
namespace kd.bos.entity.datamodel{
interface TableValueSetter_S {
}
interface TableValueSetter_C extends TableValueSetter_S {
/**
* 构造函数
*
* @param fields 字段集合:需要给这些字段赋值
*/
new(fields:string[]):TableValueSetter;
}
interface TableValueSetter$ {
/**
* 添加字段及其字段值
*
* @param fld 字段
* @param values 字段值,如果字段在单据体分录上,可以一次性批量传入多行的字段值
* @return 表值设置对象
*/
addField(fld:string,...values:any[]):this;
/**
* 按行添加字段值
*
* 必须按构造函数传入的的字段顺序传入字段值
*
* @param values 字段值
* @return 表值设置对象
*/
addRow(...values:any[]):this;
/**
* 按行添加字段值
*
* @param fld 字段
* @param v 字段值
* @param row 行号,从0开始
* @return 表值设置对象
*/
set(fld:string,v:any,row:number):this;
}
type TableValueSetter_T = TableValueSetter_S & TableValueSetter$;
interface TableValueSetter extends TableValueSetter_T {
}
interface AbstractFormDataModel_S {
readonly SEQ_FIELD_NAME:string;
}
type AbstractFormDataModel_ST = $.kd.bos.entity.datamodel.IDataModel & $.kd.bos.entity.datamodel.IRefrencedataProvider & AbstractFormDataModel_S;
interface AbstractFormDataModel_C extends AbstractFormDataModel_ST {
new(entityType:$.kd.bos.entity.MainEntityType):AbstractFormDataModel;
new(entityName:string,pageId:string,services:$.java.util.Map):AbstractFormDataModel;
new(entityName:string,pageId:string,services:$.java.util.Map,appId:string,permissionItem:string):AbstractFormDataModel;
}
interface AbstractFormDataModel$ {
/**
* 带值生成批量分录,只能使用此函数,禁止创建空行后再单行赋值
*
* @param entryKey
* @param values
* @return
*/
batchCreateNewEntryRow(entryKey:string,values:TableValueSetter):number[];
create():void;
getCallManager():SetValueCallManager;
getEntityEntity(entryKey:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
getEntryCurrentRow(entryKey:string):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 返回某个实体指定行的记录,如果是子单据体,根据上级单据体确定索引。
*
* @param entryKey 分录对应实体
* @param rowIndex 行索引
* @return 分录行动态实体
*/
getEntryEntity(entryKey:string,rowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
getMainEntityType():$.kd.bos.entity.MainEntityType;
getPageId():string;
getTreeEntryEntityRow(entryProp:$.kd.bos.entity.property.EntryProp,index:number):$.kd.bos.dataentity.entity.DynamicObject;
importEntry(key:string,uploadFile:string):void;
setCombinedValue(combinedKey:string,valueKey:string,value:any,row:number):void;
setEntryCurrentRowIndex(entryKey:string,row:number,sendClientAction:boolean):void;
}
type AbstractFormDataModel_T = $.kd.bos.entity.datamodel.IDataModel & $.kd.bos.entity.datamodel.IRefrencedataProvider & AbstractFormDataModel_S & AbstractFormDataModel$;
interface AbstractFormDataModel extends AbstractFormDataModel_T {
}
interface IParameterModel_S {
}
interface IParameterModel$ {
getAcctBookId():long;
getAcctingBookId():long;
getBindBillTypeId():long;
getBindFormId():string;
getExtend():string;
getOrgId():long;
getParamAppId():string;
getParamCloudId():string;
getViewType():string;
setBindBillTypeId?(bindBillTypeId:long):void;
setBindFormId?(bindFormId:string):void;
}
type IParameterModel_T = IParameterModel_S & IParameterModel$;
interface IParameterModel extends IParameterModel_T {
}
interface SetValueCallManager_S {
}
type SetValueCallManager_ST = $.java.lang.Iterable & SetValueCallManager_S;
interface SetValueCallManager_C extends SetValueCallManager_ST {
new():SetValueCallManager;
}
interface SetValueCallManager$ {
Contains(arg0:any):boolean;
/**
* 完成调用,出栈
*/
Pop():void;
Push(arg0:any):boolean;
}
type SetValueCallManager_T = $.java.lang.Iterable & SetValueCallManager_S & SetValueCallManager$;
interface SetValueCallManager extends SetValueCallManager_T {
}
interface BasedataItem_S {
}
interface BasedataItem_C extends BasedataItem_S {
new():BasedataItem;
new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,searchKey:string):BasedataItem;
new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,orgId:long,searchKey:string,searchValue:string):BasedataItem;
new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,orgId:long,searchKey:string,searchValue:string,bizTag:string):BasedataItem;
new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,orgId:long,searchKey:string,searchValue:string,bizTag:string,versionControl:string):BasedataItem;
}
interface BasedataItem$ {
getBizTag():string;
/**
* 基础资料类型,多类别基础资料可能会
*
* @return
*/
getEntityNumber():string;
/**
* 基础资料字段:不同的字段可能会有不同的过滤条件,需要分开过滤取数
*
* @return
*/
getFieldKey():string;
/**
* 主组织
*
* @return
*/
getOrgId():long;
/**
* 引用的基础资料模型
*
* @return
*/
getRefBDType():BasedataEntityType;
/**
* 搜索字段名
*
* @return
*/
getSearchKey():string;
/**
* 搜索字段值
*
* @return
*/
getSearchValue():string;
getVersionControl():string;
setBizTag(bizTag:string):void;
setEntityNumber(entityNumber:string):void;
setFieldKey(fieldKey:string):void;
setOrgId(orgId:long):void;
setRefBDType(refBDType:BasedataEntityType):void;
setSearchKey(searchKey:string):void;
setSearchValue(searchValue:string):void;
setVersionControl(versionControl:string):void;
}
type BasedataItem_T = BasedataItem_S & BasedataItem$;
interface BasedataItem extends BasedataItem_T {
}
interface RowDataEntity_S {
}
interface RowDataEntity_C extends RowDataEntity_S {
/**
* 构造函数
*
* @param rowIndex 行索引
* @param dataEntity 行数据
*/
new(rowIndex:number,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):RowDataEntity;
}
interface RowDataEntity$ {
/**
* 获取数据包
*
* @return 数据包
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取父行索引
*
* @return 父行索引
*/
getParentRowIndex():number;
/**
* 获取行索引
*
* @return 行索引
*/
getRowIndex():number;
/**
* 更新数据包
* @param dataEntity
*/
setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
}
type RowDataEntity_T = RowDataEntity_S & RowDataEntity$;
interface RowDataEntity extends RowDataEntity_T {
}
interface NumberPrecision_S {
}
type NumberPrecision_ST = $.java.io.Serializable & NumberPrecision_S;
interface NumberPrecision_C extends NumberPrecision_ST {
new():NumberPrecision;
new(result:$.java.math.BigDecimal):NumberPrecision;
new(formatObject:kd.bos.entity.format.FormatObject):NumberPrecision;
new(precision:number,sign:string,isShowSign:boolean,result:$.java.math.BigDecimal):NumberPrecision;
new(precision:number,sign:string,isShowSign:boolean,result:$.java.math.BigDecimal,formatObject:kd.bos.entity.format.FormatObject):NumberPrecision;
}
interface NumberPrecision$ {
addResult(result:$.java.math.BigDecimal):void;
getFmtString():string;
getFormatObject():kd.bos.entity.format.FormatObject;
getPrecision():number;
/**
* @return 汇总结果
*/
getResult():$.java.math.BigDecimal;
getSign():string;
initFromMap(map:$.java.util.Map):void;
isGroupingUsed():boolean;
isShowSign():boolean;
isStripTrailingZeros():boolean;
setFormatObject(formatObject:kd.bos.entity.format.FormatObject):void;
setGroupingUsed(isGroupingUsed:boolean):void;
setPrecision(precision:number):void;
setResult(result:$.java.math.BigDecimal):void;
setShowSign(isShowSign:boolean):void;
setSign(sign:string):void;
setStripTrailingZeros(stripTrailingZeros:boolean):void;
}
type NumberPrecision_T = $.java.io.Serializable & NumberPrecision_S & NumberPrecision$;
interface NumberPrecision extends NumberPrecision_T {
}
interface ListField_S {
}
type ListField_ST = $.java.io.Serializable & ListField_S;
interface ListField_C extends ListField_ST {
/**
* 构造函数
*/
new():ListField;
/**
* 构造函数,复制传入的列
*
* @param listField 源字段
*/
new(listField:ListField):ListField;
/**
* 构造函数
*
* @param key 列标识
*/
new(key:string):ListField;
}
interface ListField$ {
/**
* 返回复选框显示风格
*
* @return 复选框显示风格
*/
getCheckBoxItemShowStyle():number;
/**
* 获取列类型,用于前端
*
* @return 字段类型,给前端
*/
getColType():string;
/**
* 构建列格式化处理类
*
* @param dt 单据主实体
* @param mainOrg 主组织字段标识
* @param forQing 使用用于轻分析
* @return
*/
getColumnDesc(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,mainOrg:string,forQing:boolean):kd.bos.entity.list.column.AbstractColumnDesc;
/**
* 返回本列的父控制列
*
* @return 父列
*/
getControlField():this;
/**
* 获取列格式化字符
*
* @return 格式化字符
*/
getDisplayFormatString():string;
/**
* 返回列字段所在的实体名
*
* @return 实体名
*/
getEntityName():string;
/**
* 获取本列关联的完整字段标识,带单据体分录前缀
*
* @return 字段名,ORM使用,加分录
*/
getFieldName():string;
/**
* 获取本列在列表取数模型中的属性对象
*
* @return 列对应的结果集属性对象
*/
getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取列头标题
*
* @return 列头标题
*/
getHeader():$.kd.bos.dataentity.entity.LocaleString;
/**
* 获取本列的标识
*
* @return 字段标识
*/
getKey():string;
/**
* 获取本列关联的字段
*
* @return 字段标识
*/
getListFieldKey():string;
/**
* 获取列格式化掩码
*
* @return 格式化掩码
*/
getMask():string;
/**
* 返回复选框勾选时列显示内容
*
* @return 复选框勾选显示内容
*/
getOTitle():$.kd.bos.dataentity.entity.LocaleString;
/**
* 获取下拉列表列显示风格
*
* @return 下拉列表显示类型:文字,图片
*/
getShowStyle():number;
/**
* 获取列排序类型
*
* @return 排序类型:升序,降序,不排序
*/
getSortType():kd.bos.entity.filter.SortType;
/**
* 获取本列绑定的原始字段属性对象
*
* @return 列对应的原始属性对象
*/
getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 返回汇总类型: 0:无,1:合计 2:平均值 3:最大值,4:最小值,5:计数
*
* @return 汇总类型
*/
getSummary():number;
/**
* 返回复选框不勾选时列显示内容
*
* @return 复选框不勾选显示内容
*/
getXTitle():$.kd.bos.dataentity.entity.LocaleString;
/**
* 返回是否为设计器设计的列
*
* @return 返回true为设计器设计的列
*/
isClient():boolean;
isComplex():boolean;
/**
* 返回是否列表业务字段
*
* @return 不是列表业务字段返回false
*/
isListBusinessField():boolean;
/**
* 获取本列是否为选择列表的返回列
*
* @return 是否F7返回字段
*/
isLookup():boolean;
isMobNoDisplayScaleZero():boolean;
/**
* 返回本列是否是序号字段
*
* @return 返回true是序号字段
*/
isSeq():boolean;
/**
* 返回是否可见
*
* @return 不可见返回false
*/
isVisible():boolean;
/**
* 返回为零是否显示
*
* @return 返回true即为零显示
*/
isZeroShow():boolean;
/**
* 设置复选框显示风格
*
* @param checkBoxItemShowStyle 复选框风格
*/
setCheckBoxItemShowStyle(checkBoxItemShowStyle:number):void;
/**
* 设置是否为设计器设计的列
*
* @param isClient 设置为true为设计器设计的列
*/
setClient(isClient:boolean):void;
/**
* 设置列类型,用于前端
*
* @param colType 字段类型,给前端
*/
setColType(colType:string):void;
/**
* 设置本列的父控制列
*
* @param controlField 父列
*/
setControlField(controlField:ListField):void;
/**
* 设置列格式化字符
*
* @param displayFormatString 格式化字符
*/
setDisplayFormatString(displayFormatString:string):void;
/**
* 设置列字段所在的实体名
*
* @param entityName 实体名
*/
setEntityName(entityName:string):void;
/**
* 设置本列关联的完整字段标识,带单据体分录前缀
*
* @param fieldName 字段名,ORM使用,加分录
*/
setFieldName(fieldName:string):void;
/**
* 设置本列关联的列表取数模型属性对象
*
* @param fieldProp 列对应的结果集属性对象
*/
setFieldProp(fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
/**
* 设置列头标题
*
* @param localeString 列头标题
*/
setHeader(localeString:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置本列的标识
*
* @param key 字段标识
*/
setKey(key:string):void;
/**
* 设置是否为列表业务字段
*
* @param listBusinessField 不是列表业务字段为false
*/
setListBusinessField(listBusinessField:boolean):void;
/**
* 设置本列关联的字段
*
* @param listFieldKey 字段标识
*/
setListFieldKey(listFieldKey:string):void;
/**
* 设置本列是否为选择列表的返回列
*
* @param isLookup 是否F7返回字段
*/
setLookup(isLookup:boolean):void;
/**
* 设置列格式化掩码
*
* @param mask 格式化掩码
*/
setMask(mask:string):void;
setMobNoDisplayScaleZero(mobNoDisplayScaleZero:boolean):void;
/**
* 设置复选框勾选时列显示内容
*
* @param oTitle 复选框勾选显示内容
*/
setOTitle(oTitle:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置本列是否是序号字段
*
* @param isSeq 设置为true是序号字段
*/
setSeq(isSeq:boolean):void;
/**
* 设置下拉列表列显示风格
*
* @param showStyle 下拉列表显示类型:文字,图片
*/
setShowStyle(showStyle:number):void;
/**
* 设置列排序类型
*
* @param sortType 排序类型:升序,降序,不排序
*/
setSortType(sortType:kd.bos.entity.filter.SortType):void;
/**
* 给本列绑定原始字段属性对象
*
* @param fieldProp 列对应的原始属性对象
*/
setSrcFieldProp(fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
/**
* 设置汇总类型
*
* @param summary 汇总类型
*/
setSummary(summary:number):void;
/**
* 设置是否可见
*
* @param visible 不可见设置为false
*/
setVisible(visible:boolean):void;
/**
* 设置复选框不勾选时列显示内容
*
* @param xTitle 复选框不勾选显示内容
*/
setXTitle(xTitle:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 设置为零是否显示
*
* @param zeroShow 设置false则值为零显示空白
*/
setZeroShow(zeroShow:boolean):void;
}
type ListField_T = $.java.io.Serializable & ListField_S & ListField$;
interface ListField extends ListField_T {
}
interface IDataProvider_S {
}
interface IDataProvider$ {
/**
* 动态实体类型、对象主键,获取动态实体对象
*
* @param dt 动态实体类型
* @param pkValue 主键值
* @return map集合
*/
loadReferenceData(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,pkValue:any):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 动态实体类型、对象主键,获取动态实体对象集合
*
* @param dt 动态实体类型
* @param pkValues 主键值集合
* @return map集合
*/
loadReferenceDataBatch(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,pkValues:any[]):$.java.util.Map;
/**
* 动态实体类型、过滤条件,获取动态实体对象集合
*
* @param dt 动态实体类型
* @param qFilters 过滤条件
* @return map集合
*/
loadReferenceDataBatch(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,qFilters:$.java.util.List):$.java.util.Map;
}
type IDataProvider_T = IDataProvider_S & IDataProvider$;
interface IDataProvider extends IDataProvider_T {
}
interface IFilterModel_S {
}
interface IFilterModel$ {
/**
* 清除暂存的过滤条件
*/
clearScheme():void;
/**
* 删除方案
*
* @param schemeid
* 方案标识
* @param errorMessage
* 保存时的错误信息
* @return 是否保存成功
*/
deleteScheme(schemeid:string,errorMessage:$.java.lang.StringBuilder):boolean;
deleteShareUser(schemeid:string,errorMessage:$.java.lang.StringBuilder):boolean;
/**
* @return 表单,所有用户的过滤方案列表
*/
getAllSchemeList():$.java.util.List;
/**
* @return 常用过滤数据解析生成的过滤参数
*/
getCommonFilterParameter(fastFilterList:$.java.util.List):kd.bos.entity.filter.FilterParameter;
/**
* @return 过滤模型对应的实体
*/
getDataType():MainEntityType;
/**
* @return F7表单,当前用户的过滤方案列表
*/
getF7SchemeList?():$.java.util.List;
/**
* @return F7, 当前表单当前用户的被共享过滤方案列表
*/
getF7SharedSchemeList?():$.java.util.List;
/**
* @return 快速过滤数据解析生成的过滤参数
*/
getFastFilterParameter(fastFilterList:$.java.util.List):kd.bos.entity.filter.FilterParameter;
getFieldCompareTypeMap():$.java.util.Map;
/**
* @return 过滤数据解析与存储中间类
*/
getFilterObject():kd.bos.entity.filter.FilterObject;
/**
* @return 过滤模型对应的实体编码
*/
getFormId():string;
getOrderByFilterParameter(orderByFilterList:$.java.util.List):kd.bos.entity.filter.OrderByParameter;
getScheme(schemeId:string):kd.bos.entity.filter.FilterScheme;
/**
* @return 方案过滤数据解析生成的过滤参数
*/
getSchemeFilterParameter(schemeFilterList:$.java.util.List):kd.bos.entity.filter.FilterParameter;
/**
* 将方案过滤条件解析成qfilter
*
* @param schemeFilterList 方案过滤条件
* @param andFilter 二次过滤条件
* @return
*/
getSchemeFilterParameter(schemeFilterList:$.java.util.List,andFilter:$.java.util.List):kd.bos.entity.filter.FilterParameter;
/**
* @return 当前表单当前用户的过滤方案列表
*/
getSchemeList():$.java.util.List;
/**
* 获取选中的主业务组织
*
* @return 选中的主业务组织
*/
getSelectedMainOrgIds():$.java.util.List;
/**
* 获取常用过滤选中的基础资料和下拉列表值
*
* @return 常用过滤选中的基础资料和下拉列表值
*/
getSelectedValues():$.java.util.Map;
getShareSchemeByIdList(schemeIdList:$.java.util.List,userId:long):$.java.util.Map;
getShareSchemeMap(userId:long,schemeIdList:$.java.util.List):$.java.util.Map;
getSharedSchemeId(schemeId:string):long;
/**
* @return 当前表单当前用户的被共享过滤方案列表
*/
getSharedSchemeList():$.java.util.List;
/**
* @return 过滤对象
*/
getSortObject():kd.bos.entity.filter.SortObject;
insertShareScheme4Fixed(schemeId:string,userId:long):void;
/**
* @return 是否包括单据状态
*/
isContainBillStatus():boolean;
/**
* @return 是否包括主业务组织过滤
*/
isContainMainOrg():boolean;
/**
* @return 是否包括使用状态
*/
isContainUsedStatus():boolean;
/**
* 方案是否存在
*
* @param name 方案名称
* @return
*/
isExistsScheme(name:string):boolean;
/**
* @return 主业务组织过滤是否为不限
*/
isMainOrgNoLimit():boolean;
/**
* 根据方案标识加载指定过滤方案
*
* @param schemeId
* 方案标识
* @return 指定方案
*/
load(schemeId:string):kd.bos.entity.filter.FilterScheme;
/**
* 加载默认方案
*/
loadInitDefaultScheme():void;
/**
* 保存方案
*
* @param filterScheme
* 方案数据
* @param errorMessage
* 保存时的错误信息
* @return 是否保存成功
*/
saveScheme(filterScheme:kd.bos.entity.filter.FilterScheme,errorMessage:$.java.lang.StringBuilder):boolean;
/**
* @param dataType
* 过滤模型对应的实体
*/
setDataType(dataType:MainEntityType):void;
setDefaultScheme(isDefault:boolean,schemeId:string):void;
setFieldCompareTypeMap(fieldCompareTypeMap:$.java.util.Map):void;
setFilterModelContext(filterModelContext:kd.bos.entity.filter.FilterModelContext):void;
/**
* @param formId
* 过滤模型对应的实体编码
*/
setFormId(formId:string):void;
/**
* @param sortObject 过滤对象
*/
setSortObject(sortObject:kd.bos.entity.filter.SortObject):void;
/**
* 修改F7方案
*
* @param SchemeId 方案标识
* @param isDefault 是否默认方案
* @param errorMessage 保存时的错误信息
* @return 是否保存成功
*/
updateF7Scheme?(SchemeId:string,isDefault:boolean,errorMessage:$.java.lang.StringBuilder):boolean;
/**
* 修改方案
*
* @param SchemeId 方案标识
* @param isDefault 是否默认方案
* @param errorMessage 保存时的错误信息
* @return 是否保存成功
*/
updateScheme(SchemeId:string,isDefault:boolean,errorMessage:$.java.lang.StringBuilder):boolean;
}
type IFilterModel_T = IFilterModel_S & IFilterModel$;
interface IFilterModel extends IFilterModel_T {
}
interface DefaultValueCalculator_S {
getCurrentDateOrgTZ(orgValue:any,isDateTime:boolean,isDateTimeProp:boolean):Date;
}
interface DefaultValueCalculator_C extends DefaultValueCalculator_S {
new():DefaultValueCalculator;
new(model:IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowIndex:number):DefaultValueCalculator;
}
interface DefaultValueCalculator$ {
/**
* 计算默认值,基本版,只支持解析几个特定的变量值
*
* @param property 属性
* @param defVal 默认值
* @return 返回值
*/
getValue(property:$.kd.bos.dataentity.metadata.IDataEntityProperty,defVal:any):any;
/**
* 计算默认值,升级版,可以获取常量、变量、函数、公式等
*
* @param model
* @param dataEntity 字段当前行数据包
* @param property 字段
* @param defValue2 默认值配置
* @return
*/
getValue2(model:IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,property:$.kd.bos.dataentity.metadata.IDataEntityProperty,defValue2:kd.bos.entity.property.FieldDefValue):any;
}
type DefaultValueCalculator_T = DefaultValueCalculator_S & DefaultValueCalculator$;
interface DefaultValueCalculator extends DefaultValueCalculator_T {
}
interface IListModel_S {
}
interface IListModel$ {
/**
* 获取单据张数
*
* @return
*/
getBillDataCount():number;
/**
* 获取列表一页数据
*
* @param start 开始行
* @param limit 行数
* @return
*/
getData(start:number,limit:number):$.java.util.Map;
getListModelContext():ListModelContext;
/**
* 轻分析数据读取接口
*
* @param start 开始行
* @param limit 行数
* @return
*/
getQingData(start:number,limit:number):$.java.util.Map;
/**
* 查询真实条数
*
* @return
*/
getRealCount():number;
/**
* 判断是否超过最大条数
*
* @return
*/
isExceedMaxCount():boolean;
/**
* 查询引出数据
*
* @param start
* 起始行
* @param limit
* 批数
*/
queryExportData(start:number,limit:number):void;
/**
* 查询最大条数+1的条数
*
* @return
*/
queryMaxCount():number;
}
type IListModel_T = IListModelContext & IListModelListener & IListModel_S & IListModel$;
interface IListModel extends IListModel_T {
}
interface BillListConfig_S {
readonly BillListConfigKey:string;
}
type BillListConfig_ST = $.java.io.Serializable & BillListConfig_S;
interface BillListConfig_C extends BillListConfig_ST {
new():BillListConfig;
}
interface BillListConfig$ {
isOnlyPK4SelectedAllRows():boolean;
setOnlyPK4SelectedAllRows(onlyPK4SelectedAllRows:boolean):void;
setOnlyPK4SelectedAllRowsWithThis(onlyPK4SelectedAllRows:boolean):this;
}
type BillListConfig_T = $.java.io.Serializable & BillListConfig_S & BillListConfig$;
interface BillListConfig extends BillListConfig_T {
}
interface IRefrencedataProvider_S {
}
interface IRefrencedataProvider$ {
/**
* 填充引用的关联数据
* @param objects 原始数据包,向其中填写引用的基础资料数据
* @param dataEntityType 原始数据包对应的实体对象
*/
fillReferenceData(objects:any[],dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):void;
}
type IRefrencedataProvider_T = IRefrencedataProvider_S & IRefrencedataProvider$;
interface IRefrencedataProvider extends IRefrencedataProvider_T {
}
interface ListSelectedRowCollection_S {
}
type ListSelectedRowCollection_ST = $.java.util.ArrayList & ListSelectedRowCollection_S;
interface ListSelectedRowCollection_C extends ListSelectedRowCollection_ST {
new():ListSelectedRowCollection;
}
interface ListSelectedRowCollection$ {
/**
* 返回列表合并行选择数据,有合并行返回第一行数据
*
* @return 新的数据集合,已去掉了同一单据内的重复行
*/
getBillListSelectedRowCollection():this;
/**
* 返回单据体分录行主键集合
*
* @return 单据体主键集合,无序
*/
getEntryPrimaryKeyValues():any[];
/**
* 返回单据、单据体主键集合
*
* @return 表头表体主健集合,输出每行数据的单据主键和单据体主键值
*/
getPKEntryIdValues():$.java.util.List;
/**
* 返回单据主键集合
*
* @return 列表选择行的主键集合,无序
*/
getPrimaryKeyValues():any[];
/**
* 获取当前选择的行号集合
*
* @return 当前选择的行号
*/
getRowKeys():number[];
/**
* 返回子单据体行主键集合
*
* @return 子表体主键集合
*/
getSubEntryPrimaryKeyValues():any[];
}
type ListSelectedRowCollection_T = $.java.util.ArrayList & ListSelectedRowCollection_S & ListSelectedRowCollection$;
interface ListSelectedRowCollection extends ListSelectedRowCollection_T {
}
interface IListModelListener_S {
}
interface IListModelListener$ {
/**
* 添加操作列事件监听器
*
* @param listener
*/
addOperationColumnListeners(consumer:(t:any)=>void):void;
addTemplateTextColumnListeners(consumer:(t:any)=>void):void;
}
type IListModelListener_T = IListModelListener_S & IListModelListener$;
interface IListModelListener extends IListModelListener_T {
}
interface IBillModel_S {
}
interface IBillModel$ {
/**
* 获取主组织id
* @return 主组织id
*/
getMainOrgId?():long;
/**
* 获取当前单据主键
*
* @return 返回当前单据主键
*/
getPKValue():any;
/**
* 返回当前是否正在引入单据
*
* @return 返回true,正在引入单据
*/
isFromImport?():boolean;
/**
* 返回当前是否正在通过WebApi服务灌入单据
*
* @return 返回true,正在通过WebApi灌入单据
*/
isFromWebApi?():boolean;
/**
* 下推完毕,传入生成的目标单数据包
*
* @param newObject 下推生成的单据
*/
push(newObject:any):void;
}
type IBillModel_T = IDataModel & IBillModel_S & IBillModel$;
interface IBillModel extends IBillModel_T {
}
interface IListModelContext_S {
}
interface IListModelContext$ {
/**
* 获取列表绑定的单据主实体
*
* @return 单据主实体
*/
getDataEntityType():EntityType;
/**
* 获取列表绑定的单据实体编码
*
* @return 单据实体编码
*/
getEntityId():string;
/**
* 获取合计值
*
* @return
*/
getSummaryResults():$.java.util.List;
/**
* 返回当前列表是否为选择模式
*
* @return 返回true是选择模式
*/
isLookup():boolean;
/**
* 是否需要查询关键字段
*
* @return
*/
isNeedKeyFields():boolean;
/**
* 是否需要重新合计
*
* @return
*/
isNeedResum():boolean;
/**
* 是否是选择全局,选择全部只查PK
*
* @return
*/
isSelectedAllRows():boolean;
/**
* 设置默认排序
*
* @param defaultOrder
*/
setDefaultOrder?(defaultOrder:boolean):void;
/**
* 设置最大返回条数
*
* @param maxReturnData
*/
setMaxReturnData(maxReturnData:number):void;
/**
* 设置是否全选
*
* @param isSelectedAllRows
*/
setSelectedAllRows(isSelectedAllRows:boolean):void;
}
type IListModelContext_T = IListModelContext_S & IListModelContext$;
interface IListModelContext extends IListModelContext_T {
}
interface FmtField_S {
}
interface FmtField_C extends FmtField_S {
new(fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldName:string,controlFieldName:string):FmtField;
}
interface FmtField$ {
getControlFieldKey():string;
getControlFieldName():string;
getFieldName():string;
getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
getScale():number;
setControlFieldKey(controlFieldKey:string):void;
setScale(scale:number):void;
}
type FmtField_T = FmtField_S & FmtField$;
interface FmtField extends FmtField_T {
}
interface IDefValueProvider_S {
}
interface IDefValueProvider$ {
getAppId(model:IDataModel):string;
/**
* 取基本的默认值设置
* @param fieldProp 字段属性
* @return 默认
*/
getDefValue(fieldProp:kd.bos.entity.property.IFieldHandle):any;
/**
* 取高级的默认值设置,升级版,支持函数、公式
* @param fieldProp 字段属性
* @return 默认值
*/
getDefValue2(fieldProp:kd.bos.entity.property.IFieldHandle):kd.bos.entity.property.FieldDefValue;
getOrgDefValue(model:IDataModel,fieldProp:kd.bos.entity.property.OrgProp):any;
getOrgDefValue(model:IDataModel,fieldProp:kd.bos.entity.property.OrgProp,o:kd.bos.entity.datamodel.events.ChangeData):any;
getOrgDefValueByConfig(model:IDataModel,fieldProp:kd.bos.entity.property.OrgProp):any;
}
type IDefValueProvider_T = IDefValueProvider_S & IDefValueProvider$;
interface IDefValueProvider extends IDefValueProvider_T {
}
enum RaiseEventType {
NormalEvent,
FieldChanged,
Initialized,
ItemAdded,
ItemReset,
ItemRemoved,
Reset,
SelectRowChanged,
ItemAdding
}
interface IEntryFilter_S {
}
interface IEntryFilter$ {
/**
* 前端更改过滤条件,开始重新过滤数据
* @param queryParam
*/
filterEntry?(entryKey:string,queryParam:kd.bos.entity.property.entryfilter.EntryQueryParam):void;
/**
* 对真实索引值按过滤后的序号顺序排序
* @param entryKey
* @param rowkeyList 真实rk值,从0开始
* @return 按过滤后的序号顺序排序
*/
filterSortByRowKeys?(entryKey:string,rowkeyList:$.java.util.List):$.java.util.List;
/**
* 获取单据体查询参数(含过滤条件和排序规则)
* @param entryKey
* @return
*/
getEntryQueryParam?(entryKey:string):kd.bos.entity.property.entryfilter.EntryQueryParam;
/**
* 获取符合过滤条件的分录行数
* @param entryKey
* @return
*/
getFilterEntryRowCount?(entryKey:string):number;
/**
* 过滤后,按过滤后的行序号取rk值,取含(startRowIndex)至不含(endRowIndex)中间的数据
* @param entryKey 单据体
* @param startRowIndex 过滤后的开始位置
* @param endRowIndex 过滤后的结束位置
* @return
*/
getFilterEntryRowKeys?(entryKey:string,startRowIndex:number,endRowIndex:number):$.java.util.List;
/**
* 过滤后,按过滤后的行序号取数
* @param entryKey
* @param startRowIndex
* @param endRowIndex
* @return
*/
getFilterEntryRows?(entryKey:string,startRowIndex:number,endRowIndex:number):$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 根据真实索引值获取过滤后的索引位置
* @param entryKey
* @param rowkeyList 真实rk值,从0开始
* @return 过滤后所在的位置,从0开始
*/
getFilterIndexByRowKeys?(entryKey:string,rowkeyList:$.java.util.List):$.java.util.List;
/**
* 单据体是否进入过滤排序模式
* @param entryKey
* @return
*/
isFilterAndSortModel?(entryKey:string):boolean;
}
type IEntryFilter_T = IEntryFilter_S & IEntryFilter$;
interface IEntryFilter extends IEntryFilter_T {
}
interface ListSelectedRow_S {
}
type ListSelectedRow_ST = $.java.io.Serializable & ListSelectedRow_S;
interface ListSelectedRow_C extends ListSelectedRow_ST {
/**
* 构造函数,无参数,关键属性单独赋值
*/
new():ListSelectedRow;
/**
* 构造函数,传入单据主键值
*
* @param primaryKeyValue 单据主键值
*/
new(primaryKeyValue:any):ListSelectedRow;
/**
* 构造函数,传入单据主键值
*
* @param primaryKeyValue 单据主键值
* @param isPkLongType 主键是否为长整型
*/
new(primaryKeyValue:any,isPkLongType:boolean):ListSelectedRow;
}
interface ListSelectedRow$ {
/**
* 返回单据编号字段值
*
* 基础资料没有编号字段,返回null。基础资料可使用{@link #getNumber()}获取编码字段值
*
* @return 单据编号字段值
*/
getBillNo():string;
/**
* 返回数据状态字段值
*
* @return 数据状态字段值
*/
getBillStatus():string;
/**
* 获取单据体标识
*
* 和{@link #getEntryPrimaryKeyValue()}组合使用,标识哪个单据体的那条数据
*
* @return 单据体标识
*/
getEntryEntityKey():string;
/**
* 获取单据体分录行主键值
*
* @return 单据体分录行主键值
*/
getEntryPrimaryKeyValue():any;
/**
* 返回主业务组织内码
*
* @return 主业务组织内码
*/
getMainOrgId():long;
/**
* 返回基础资料名称字段值
*
* 单据没有名称字段,返回null
*
* @return 基础资料名称字段值
*/
getName():string;
/**
* 获取基础资料编码字段值
*
* 单据没有编码字段,返回null
*
* @return 基础资料编码字段值
*/
getNumber():string;
/**
* 获取本行数据所在分页的索引
*
* @return 行数据所在页
*/
getPageIndex():number;
/**
* 获取单据主键值
*
* @return 单据主键
*/
getPrimaryKeyValue():any;
/**
* 返回查询主实体主键值
*
* 适用于多实体联合查询
*
* @return 查询主实体主键值
*/
getQueryEntityPrimayKeyValue():any;
/**
* 获取本行在列表当前分页上的索引,从0开始
*
* @return 行数据在当前页的索引
*/
getRowKey():number;
/**
* 获取子单据体标识
*
* @return 子单据体标识
*/
getSubEntryEntityKey():string;
/**
* 获取子单据体分录行数据主键值
*
* @return 子单据体主键
*/
getSubEntryPrimaryKeyValue():any;
/**
* 返回分录主键是否为长整数类型
*
* @return 返回true是长整数类型
*/
isEntryPkLongType():boolean;
/**
* 返回单据主键是否为长整数类型
*
* @return 返回true是长整数类型
*/
isPkLongType():boolean;
/**
* 返回子分录主键是否为长整数类型
*
* @return 返回true是长整数类型
*/
isSubEntryPkLongType():boolean;
/**
* 设置单据体标识
*
* 和{@link #setEntryPrimaryKeyValue(Object)}组合使用,指定哪个单据体的那条数据
* 如果设置了单据体分录数据内码,必须同步设置本属性值
*
* @param entryEntityKey 单据体标识
*/
setEntryEntityKey(entryEntityKey:string):void;
/**
* 设置分录主键是否为长整数类型
*
* @param isEntryPkLongType 设置为true是长整数类型
*/
setEntryPkLongType(isEntryPkLongType:boolean):void;
/**
* 设置单据体分录行主键值
*
* @param entryPrimaryKeyValue 单据体分录行主键值
*/
setEntryPrimaryKeyValue(entryPrimaryKeyValue:any):void;
/**
* 设置单据主键是否为长整数类型
*
* @param isPkLongType 设置为true是长整数类型
*/
setPkLongType(isPkLongType:boolean):void;
/**
* 设置单据主键值
*
* @param primaryKeyValue 单据主键
*/
setPrimaryKeyValue(primaryKeyValue:any):void;
/**
* 设置子单据体标识
*
* @param subEntryEntityKey 子单据体标识
*/
setSubEntryEntityKey(subEntryEntityKey:string):void;
/**
* 设置子分录主键是否为长整数类型
*
* @param isSubEntryPkLongType 设置为true是长整数类型
*/
setSubEntryPkLongType(isSubEntryPkLongType:boolean):void;
/**
* 设置子单据体分录行数据主键值
*
* @param subEntryPrimaryKeyValue 子单据体主键
*/
setSubEntryPrimaryKeyValue(subEntryPrimaryKeyValue:any):void;
}
type ListSelectedRow_T = $.java.io.Serializable & ListSelectedRow_S & ListSelectedRow$;
interface ListSelectedRow extends ListSelectedRow_T {
}
interface DynamicTextListField_S {
}
type DynamicTextListField_ST = ListField_S & DynamicTextListField_S;
interface DynamicTextListField_C extends DynamicTextListField_ST {
/**
* 构造函数
*
* @param key 列标识
* @param listFields 子列集合
* @param formatExpression 字段格式化表达式
*/
new(key:string,listFields:$.java.util.List,formatExpression:string):DynamicTextListField;
}
interface DynamicTextListField$ {
/**
* 返回字段格式化表达式
*
* @return 字段格式化表达式
*/
getFormatExpression():string;
/**
* 返回子列集合
*
* @return 子列集合
*/
getListFields():$.java.util.List;
/**
* 设置字段格式化表达式
*
* @param formatExpression
* 字段格式化表达式
*/
setFormatExpression(formatExpression:string):void;
/**
* 设置子列集合
*
* @param listFields 子列集合
*/
setListFields(listFields:$.java.util.List):void;
}
type DynamicTextListField_T = ListField & DynamicTextListField_S & DynamicTextListField$;
interface DynamicTextListField extends DynamicTextListField_T {
}
interface ListModelContext_S {
}
interface ListModelContext_C extends ListModelContext_S {
new():ListModelContext;
}
interface ListModelContext$ {
getAppId():string;
getBillListConfig():BillListConfig;
getExportQueryType():QueryType;
getMainOrgId():long;
/**
* 获取多币别合计字段集合
*
* @return
*/
getMulCurrencyFields():$.java.util.List;
getRootPageId():string;
isAsyncSum():boolean;
isDefaultOrderByForce():boolean;
setAppId(appId:string):void;
setAsyncSum(asyncSum:boolean):void;
setBillListConfig(billListConfig:BillListConfig):void;
/**
* 设置是否强制使用默认排序
*
* @param defaultOrderByForce 是否强制使用默认排序
*/
setDefaultOrderByForce(defaultOrderByForce:boolean):void;
setExportQueryType(exportQueryType:QueryType):void;
setMainOrgId(mainOrgId:long):void;
/**
* 设置多币别合计字段集合
*
* @param mulCurrencyFields
*/
setMulCurrencyFields(mulCurrencyFields:$.java.util.List):void;
setRootPageId(rootPageId:string):void;
}
type ListModelContext_T = ListModelContext_S & ListModelContext$;
interface ListModelContext extends ListModelContext_T {
}
interface ITreeModel_S {
}
interface ITreeModel$ {
/**
* 向左树添加子节点
*
* @param currNodeId 父节点
* @param newNode 新的子节点
*/
addNode(currNodeId:any,newNode:kd.bos.entity.tree.TreeNode):void;
/**
* 向左树添加子节点集合
*
* @param currNodeId 父节点
* @param newNodeList 子节点集合
*/
addNodes?(currNodeId:any,newNodeList:$.java.util.List):void;
/**
* 创建左树根节点返回
*
* @return 新建的根节点
*/
createRootNode():kd.bos.entity.tree.TreeNode;
/**
* 删除分组
*
* @param nodeId
* 要删除的节点id,不能为空
* @return 操作结果
*/
deleteGroup(nodeId:any[]):kd.bos.entity.operate.IOperationResult;
/**
* 删除节点
*
* @param node 要被删除的节点
* @param includeChild 是否包含子节点,设置为false如果有子节点则删除失败;设置为true则把子节点一并删除
*/
deleteNode(node:kd.bos.entity.tree.TreeNode,includeChild:boolean):void;
/**
* 获取当前焦点节点
*
* @return 节点
*/
getCurrentNodeId():any;
/**
* 返回节点默认查询层级
*
* @return 查询层级
*/
getDefaultQueryLevel():number;
/**
* 获取分组信息
*
* @return 分组信息
*/
getGroupProp():kd.bos.entity.property.GroupProp;
/**
* 获取左树的根节点
*
* @return 根节点
*/
getRoot():kd.bos.entity.tree.TreeNode;
/**
* 左树节点查询条件
*
* @return 查询条件
*/
getTreeFilter():$.java.util.List;
/**
* 获取左树列表的查询条件
*
* @return
*/
getTreeListFilter():$.java.util.List;
/**
* 点击节点时是否展开下级节点
*
* @return 返回true在点击节点时展开下级节点
*/
isNodeClickExpand():boolean;
/**
* 返回根节点是否可见
*
* @return 返回false根节点不可见
*/
isRootVisable():boolean;
/**
* 刷新节点,重新加载子节点
*
* @param nodeId 节点
* @return
*/
refreshNode(nodeId:any):kd.bos.entity.tree.TreeNode;
/**
* 设置当期焦点节点
* @param currentNodeId
*/
setCurrentNodeId(currentNodeId:any):void;
/**
* 设置节点默认查询层级
*
* @param defaultQueryLevel 查询层级
*/
setDefaultQueryLevel(defaultQueryLevel:number):void;
/**
* 设置点击节点时展开下级节点
*
* @param nodeClickExpand 设置为true在点击时展开下级节点
*/
setNodeClickExpand?(nodeClickExpand:boolean):void;
/**
* 设置根节点
*
* @param root 根节点
*/
setRoot(root:kd.bos.entity.tree.TreeNode):void;
/**
* 设置根节点是否可见
*
* @param rootVisable 设置为false根节点不可见
*/
setRootVisable(rootVisable:boolean):void;
/**
* 设置节点显示格式,{name}表示名称,{code}表示编码。
*
* 格式样式如:"{name}-{code}", 或者"{name}","{code}"
*
* @param textFormat 格式:"{name}"或"{code}"
*/
setTextFormat(textFormat:string):void;
}
type ITreeModel_T = ITreeModel_S & ITreeModel$;
interface ITreeModel extends ITreeModel_T {
}
interface IDataModel_S {
}
interface IDataModel$ {
/**
* 批量插入新分录行
*
* @param entryKey 分录
* @param row 开始行索引,从0开始
* @param rowCount 插入行数
* @return 成功插入的行索引
*/
batchInsertEntryRow(entryKey:string,row:number,rowCount:number):number[];
/**
* 创建空的数据包
*/
createNewData():any;
/**
* 创建数据包
*
* 直接采用传入数据包作为新的数据包
*
* @param newObject 传入数据包
*/
createNewData(newObject:any):any;
/**
* 获取复杂属性的数据模型
* @param type
* @param baseObj
* @return
*/
getBasePropEditDataModel?(type_arg:MainEntityType,baseObj:$.kd.bos.dataentity.entity.DynamicObject):this;
/**
* 输出数据包中发生了修改的实体、字段
*
* @return 发生了改动的字段提示
*/
getChangeDesc?():string;
/**
* 获取上下文变量
*
* @param name 变量名
* @return 变量值
*/
getContextVariable(name:string):any;
/**
* 获取当前用户的配置信息
*
* @param key 配置项的标识
* @return 配置项的内容
*/
getCurrUserSetting(key:string):string;
/**
* 返回数据是否发生了变化
*
* @return 数据发生了变化则返回true
*/
getDataChanged():boolean;
/**
* 获取根数据包,当在缓存情况下不包含分录
*
* @return 根数据包
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取根数据包,可以指定在缓存情况是否含分录
*
* @param includeEntry 是否包含分录,设置为true会从缓存中恢复所有分录行放在根数据包中
* @return 根数据包
*/
getDataEntity(includeEntry:boolean):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取动态表单主实体
*
* @return 动态表单主实体
*/
getDataEntityType():MainEntityType;
/**
* 获取字段在主实体中对应的属性对象
*
* @param name 字段标识
* @return 字段对应的属性对象
*/
getProperty(name:string):$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取服务
*
* @param clazz 服务接口
* @return 服务实例
*/
getService(clazz:$.java.lang.Class):any;
/**
* 获取根实体字段值
*
* @param propName 字段属性名称
* @return 根实体字段值
*/
getValue(propName:string):any;
/**
* 获取分录字段值
*
* @param propName 字段属性名称
* @param rowIndex 分录行索引,从0开始
* @return 分录字段值
*/
getValue(propName:string,rowIndex:number):any;
/**
* 获取子单据体实体字段对应值
*
* @param propName 字段属性名
* @param rowIndex 子单据体行索引,从0开始
* @param parentRowIndex 父单据体行索引,从0开始
* @return 子单据体实体字段对应值
*/
getValue(propName:string,rowIndex:number,parentRowIndex:number):any;
/**
* 设置字段值
*
* 相比于使用setValue,使用initValue方法不触发PropertyChange值更新事件
*
* @param propName 字段
* @param value 字段值
*/
initValue(propName:string,value:any):void;
/**
* 设置字段值
*
* 相比于使用setValue,使用initValue方法不触发PropertyChange值更新事件
*
* @param propName 字段
* @param value 字段值
* @param rowIndex 分录行索引,从0开始
*/
initValue(propName:string,value:any,rowIndex:number):void;
/**
* 设置字段值
*
* 相比于使用setValue,使用initValue方法不触发PropertyChange值更新事件
*
* @param propName 字段
* @param value 字段值
* @param rowIndex 分录行索引
* @param parentRowIndex 父分录行索引
*/
initValue(propName:string,value:any,rowIndex:number,parentRowIndex:number):void;
/**
* 界面是否已经加载了数据包?
* 界面刚构建时,不会同步构建数据包,只有在前端调用了loadData服务之后,才有数据包
*
* @return 返回false,当前数据包还没有准备好
*/
isDataLoaded?():boolean;
/**
* 添加上下文变量
*
* @param name 变量名
* @param value 变量值
*/
putContextVariable(name:string,value:any):void;
/**
* 清除缓存数据
*/
release?():void;
/**
* 删除上下文变量
*
* @param name 变量名
*/
removeContextVariable(name:string):void;
/**
* 设置用户配置信息,自动保存到用户配置表
*
* @param userID 用户
* @param key 配置项的标识
* @param setting 配置项的内容
* @return 设置成功返回true
*/
setCurrUserSetting(userID:long,key:string,setting:string):boolean;
/**
* 设置字段值:供Web Api导入数据场景调用(可能会针对webapi导入特征对传入的值进行检查、格式化等处理,其他场景勿调用)
*
* @param prop 字段属性对象
* @param dataEntity 需改动字段值的数据包
* @param value 字段值
* @param checkImportable 是否检查字段"功能控制 -是否允许导入"选项
*/
setFieldValueForWebApi?(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,value:any,checkImportable:boolean):void;
/**
* 给子分录基础资料字段按内码赋值
*
* @param key 基础资料字段
* @param id 内码
* @param row 分录行索引
* @param parentRowIndex 父分录行索引
* @param qFilters 基础资料数据筛选条件
*/
setItemValueByID(key:string,id:any,row:number,parentRowIndex:number,qFilters:$.java.util.List):void;
/**
* 设置根实体字段值
*
* @param propName 字段属性名
* @param value 字段值
*/
setValue(propName:string,value:any):void;
/**
* 设置分录字段值
*
* @param propName 字段属性名
* @param value 字段值
* @param rowIndex 分录行索引,从0开始
*/
setValue(propName:string,value:any,rowIndex:number):void;
/**
* 设置子分录字段值
*
* @param propName 字段属性名
* @param value 字段值
* @param rowIndex 子分录行索引,从0开始
* @param parentRowIndex 父分录行索引,从0开始
*/
setValue(propName:string,value:any,rowIndex:number,parentRowIndex:number):void;
/**
* 提交当前实体数据到缓存
*/
updateCache():void;
}
type IDataModel_T = $.kd.bos.dataentity.entity.ISupportInitialize & IEntryOperate & IDataProvider & kd.bos.entity.cache.TableCache & IEntryFilter & IDataModel_S & IDataModel$;
interface IDataModel extends IDataModel_T {
}
interface IRegisterFlexPropertyListener_S {
}
interface IRegisterFlexPropertyListener$ {
registerProperty(registerFlexPropertyArgs:kd.bos.entity.datamodel.events.RegisterFlexPropertyArgs):void;
}
type IRegisterFlexPropertyListener_T = IRegisterFlexPropertyListener_S & IRegisterFlexPropertyListener$;
interface IRegisterFlexPropertyListener extends IRegisterFlexPropertyListener_T {
}
interface ORMUtil_S {
getAdminDivisionByName(fullname:string):any;
getAdminDivisionFullName(adminId:string):any;
/**
* 通过行政区划id查询行政区划全称
*
* @param adminId·
* @return {countryId: 10001, countryName: 'China', adminvisionStr:'广东省/深圳市/南山区'}
*/
getAdminDivisionInfo(adminId:string):$.java.util.Map;
/**
* description 〈根据行政区划id获取行政区划信息〉
*
* @param adminId 行政区划id
* @return kd.bos.dataentity.entity.DynamicObject 行政区划信息
*/
getAdminDivisionInfoById(adminId:string):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 通过上级行政区划id查询行政区划
*
* @param parentId
* @return
*/
getAdminDivisionsByParentId(parentId:string):$.java.util.List;
/**
* 获得国家对应的行政级次
*
* @param countryId 国家id
* @return
*/
getAdmindivisionLevelsByCountryId(countryId:string):$.java.util.List;
/**
* 获得所有国家
*
* @return
*/
getCountrys():$.java.util.List;
/**
* 通过国家id获得省级行政区划
*
* @param countryId 国家id
* @return
*/
getProvincesByCountryId(countryId:string):$.java.util.List;
/**
* 根据国家地区ID获取省级行政区划(用于移动端)
*
* @param countryId
* @return
*/
getProvincesByCountryIdForMobile(countryId:string):$.java.util.List;
load(pkArray:any[],type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,loadReferenceData:boolean):$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 读取数据,并允许使用缓存。
*
* @param pkArray 主键数组
* @param dt 动态实体类型
* @return 一批实体对象。不保证给定的主键都能够找到对应的实体。
* @loadReferenceData 是否加载引用属性
*/
loadFromCache(pkArray:any[],dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,loadReferenceData:boolean):$.java.util.Map;
loadRefence(dataEntitys:any[],type_arg:$.kd.bos.dataentity.metadata.IDataEntityType):void;
/**
* @param chinese 中文
* @return java.lang.String 拼音
* @throws
* @description 〈中文转拼音〉
* @date 2020/9/18 9:04
* @author RD_haoxin_wang
*/
toPinyin(chinese:string):string;
}
interface ORMUtil_C extends ORMUtil_S {
new():ORMUtil;
}
interface ORMUtil$ {
}
type ORMUtil_T = ORMUtil_S & ORMUtil$;
interface ORMUtil extends ORMUtil_T {
}
interface IEntryOperate_S {
}
interface IEntryOperate$ {
/**
* 在指定位置,批量追加单据体分录行
*
* 树形单据体,基础资料字段F7返回数据时,需要在分录中间追加同级行。而树形单据体的插入行是插入下级行,所以单独抽出了
*
* @param entryKey 单据体标识
* @param row 新行插入位置,从0开始
* @param count 批量插入总行数
* @return
*/
appendEntryRow(entryKey:string,row:number,count:number):number[];
/**
* 批量新建单据体分录行
*
* @param entityKey 单据体标识
* @param rowCount 批量创建行数
*/
batchCreateNewEntryRow(entityKey:string,rowCount:number):number[];
/**
* 以指定的行模板,批量新建单据体分录行
*
* @param entityKey 单据体标识
* @param dataentity_template 行数据模板
* @param rowCount 新建行数
*/
batchCreateNewEntryRow(entityKey:string,dataentity_template:$.kd.bos.dataentity.entity.DynamicObject,rowCount:number):number[];
/**
* 单据体批量填充
* @param entryKey 单据体标识
* @param currentRow 当前起始行
* @param selProps 填充字段
* @param values 填充值
* @param batchFillNull 是否批量填充空白行
* @return 实际填充成功的行数
*/
batchFillEntry?(entryKey:string,currentRow:number,selProps:$.java.util.List,values:any[],batchFillNull:boolean):number;
/**
* 复制单据体分录行
*
* @param entryKey 单据体标识
* @param row 选择的分录行号
* @param isCopyLinkEntry 是否复制关联单据体
*/
copyEntryRow(entryKey:string,row:number[],isCopyLinkEntry:boolean):void;
/**
* 复制单据体
*
* @param entryKey 单据体标识
* @param row 选择的分录行号
* @param isCopyLinkEntry 是否复制关联单据体
* @param nextPos 是否复制到下一行
*/
copyEntryRow(entryKey:string,row:number[],isCopyLinkEntry:boolean,nextPos:boolean):void;
/**
* 新建单据体分录数据行,也适用于子单据体
*
* @param entrykey 单据体标识
*/
createNewEntryRow(entrykey:string):number;
/**
* 新建单据体分录数据行,也适用于子单据体
*
* @param entrykey 单据体标识
* @param obj 预先准备好的新分录行数据包
* @return
*/
createNewEntryRow(entrykey:string,obj:$.kd.bos.dataentity.entity.DynamicObject):number;
/**
* 新建单据体分录行
*
* @param entityKey 单据体标识
* @param row 新行行号,从0开始。可以是-1,表示加入到末尾。
* @param obj 可选,传入外部准备好的新分录行数据包
*/
createNewEntryRow(entityKey:string,row:number,obj:$.kd.bos.dataentity.entity.DynamicObject):number;
/**
* 清除单据体分录数据包
*
* @param entrykey 单据体标识
*/
deleteEntryData(entrykey:string):void;
/**
* 删除单据体分录行
*
* @param entryKey 单据体标识
* @param rowIndex 要删除的行
*/
deleteEntryRow(entryKey:string,rowIndex:number):void;
/**
* 批量删除单据体分录行
*
* @param entryKey 单据体标识
* @param rows 要批量删除的行
*/
deleteEntryRows(entryKey:string,rows:number[]):void;
/**
* 获取单据体当前分录行号
*
* @param entryKey 单据体标识
* @return 分录行行号,从0开始
*/
getEntryCurrentRowIndex(entryKey:string):number;
/**
* 获取单据体(或子单据体)分录对应的数据集合
*
* 如果是子单据体,则获取的是父单据体当前行下的子单据体分录行数据集合
*
* @param entryKey 单据体标识
* @return 分录数据集合
*/
getEntryEntity(entryKey:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 获取单据体分录行数据包
*
* @param entryKey 单据体标识
* @param startRowIndex 开始行行号,从0开始
* @param endRowInex 结束行行号
* @return
*/
getEntryEntity(entryKey:string,startRowIndex:number,endRowInex:number):$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 获取树形单据体,从指定行开始,同层级的后续行数
*
* 树形单据体,基础资料字段F7返回数据后,需要判断后面有没有足够同级行
* 不够就appendEntryRow(不能insert,因为insert是插入下级行)
*
* @param entryKey 单据体标识
* @param row 行号,从0开始
* @return 行数
*/
getEntryNextRowCount(entryKey:string,row:number):number;
/**
* 获取当前节点后面的同级节点
*
* 专用于树形单据体
*
* @param entryKey 单据体标识
* @param row 行号
* @param includeSelf 是否包含指定行
* @return 行数
*/
getEntryNextRows(entryKey:string,row:number,includeSelf:boolean):number[];
/**
* 获取单据体的当前分页信息
*
* @param entryKey 单据体标识
* @return 单据体分页信息
*/
getEntryPageInfo(entryKey:string):$.kd.bos.dataentity.entity.EntryInfo;
/**
* 获取单据体分录行数量
*
* @param entryKey 单据体标识
* @return 返回总行数
*/
getEntryRowCount(entryKey:string):number;
getEntryRowEntity(entryKey:string,rowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取子单据体分录行数据包
*
* @param entryKey 子单据体标识
* @param rowIndex 分录行号
* @param parentRowIndex 父行行号
* @return 分录行数据包
*/
getEntryRowEntity(entryKey:string,rowIndex:number,parentRowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 插入单据体分录行,在插入位置上面插入行
*
* @param entrykey 单据体标识
* @param row 新行插入位置,从0开始
* @return
*/
insertEntryRow(entrykey:string,row:number):number;
/**
* 单据体分录行下移
*
* @param entryKey 单据体标识
* @param rowIndex 要移动的批量行号
*/
moveEntryRowDown(entryKey:string,rowIndex:number):number;
/**
* 单据体分录行上移
*
* @param entryKey 单据体标识
* @param rowIndex 要移动的行号
*/
moveEntryRowUp(entryKey:string,rowIndex:number):number;
/**
* 单据体分录行批量下移
*
* @param entryKey 单据体标识
* @param rowIndexs 要移动的批量行号
*/
moveEntryRowsDown(entryKey:string,rowIndexs:number[]):void;
/**
* 批量分录行上移
*
* @param entryKey 单据体标识
* @param rowIndexs 要移动的批量行号
*/
moveEntryRowsUp(entryKey:string,rowIndexs:number[]):void;
/**
* 设置单据体当前分录行号
*
* @param entryKey 单据体标识
* @param row 当前行行号,从0开始
*/
setEntryCurrentRowIndex(entryKey:string,row:number):void;
/**
* 单据体分录行置底
*
* @param entryKey 单据体标识
* @param rowIndexs 要置底的行号
*/
setEntryRowBottom(entryKey:string,rowIndexs:number[]):void;
/**
* 单据体分录行置顶
*
* @param entryKey 单据体标识
* @param rowIndexs 要置顶的行号
*/
setEntryRowTop(entryKey:string,rowIndexs:number[]):void;
/**
* 聚合分录行移动到某行下
*
* @param entryKey 单据体标识
* @param formIndexs 聚合分录行数组(序号从零开始起算)
* @param toIndex 移动到目标行下面(序号从零开始起算)
* @return 是否成功移动
*/
togetherMoveEntryRow?(entryKey:string,formIndexs:number[],toIndex:number):boolean;
/**
* 分录按条件合计
* @param fieldKey 合计字段
* @param valueList 值更新
*/
totalEntriesByCondition?(fieldKey:string,valueList:$.java.util.List):void;
}
type IEntryOperate_T = IEntryOperate_S & IEntryOperate$;
interface IEntryOperate extends IEntryOperate_T {
}
interface ApproverListField_S {
}
type ApproverListField_ST = ListField_S & ApproverListField_S;
interface ApproverListField_C extends ApproverListField_ST {
/**
* 构造函数
*
* @param key 列标识
*/
new(key:string):ApproverListField;
}
interface ApproverListField$ {
}
type ApproverListField_T = ListField & ApproverListField_S & ApproverListField$;
interface ApproverListField extends ApproverListField_T {
}
enum QueryType {
IdQuery,
SqlQuery
}
interface FmtInfoUtils_S {
readonly Key_AppParams_MaterialPrecision:string;
readonly Prop_Amount_Precision:string;
readonly Prop_Convert_Type:string;
readonly Prop_Currency_Number:string;
readonly Prop_Currency_Symbol:string;
readonly Prop_Precision:string;
readonly Prop_Price_Precision:string;
readonly Prop_Show_Currency_Symbol:string;
readonly Prop_Time_Zone:string;
readonly Prop_Today:string;
readonly Prop_Unit_Precision:string;
/**
* 是否启用物料多计量单位
* @return
*/
applyMaterialPrecision():boolean;
applyMaterialPrecision(dataModel:IDataModel):boolean;
getCurrencyFmt(currencySym:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
getMainCurrencyFmt():$.java.util.Map;
/**
* 内部使用 获取物料多计量单位 精度映射关系
* 结构: 物料pkid:{"计量单位2 pkid":精度1,"计量单位2 pkid":精度2}
* @param materielObjs
* @return
*/
getMultiUnitPrecisionMapping(materielObjs:$.java.util.List):$.java.util.Map;
getTimeZone(org:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
getUnitFmt(unitSym:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
/**
* @deprecated
* @param unitSym
* @param material
* @return
*/
getUnitFmt(unitSym:$.kd.bos.dataentity.entity.DynamicObject,material:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
/**
* 根据物料获取对应多计量单位精度关系
* @param prop
* @param unitObj
* @param materielObj
* @return
*/
getUnitFmt(prop:kd.bos.entity.property.UnitProp,unitObj:$.kd.bos.dataentity.entity.DynamicObject,materielObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
/**
* 批量获取时 请先使用getMultiUnitPrecisionMapping获取映射关系作为mapping参数
* @param prop
* @param unitObj
* @param materielObj
* @param mapping
* @return
*/
getUnitFmt(prop:kd.bos.entity.property.UnitProp,unitObj:$.kd.bos.dataentity.entity.DynamicObject,materielObj:$.kd.bos.dataentity.entity.DynamicObject,mapping:$.java.util.Map):$.java.util.Map;
}
interface FmtInfoUtils_C extends FmtInfoUtils_S {
new():FmtInfoUtils;
}
interface FmtInfoUtils$ {
}
type FmtInfoUtils_T = FmtInfoUtils_S & FmtInfoUtils$;
interface FmtInfoUtils extends FmtInfoUtils_T {
}
interface VoucherNoListField_S {
}
type VoucherNoListField_ST = ListField_S & VoucherNoListField_S;
interface VoucherNoListField_C extends VoucherNoListField_ST {
/**
* 构造函数
*
* @param key
* 列标识
*/
new(key:string):VoucherNoListField;
}
interface VoucherNoListField$ {
/**
* 设置操作代码
*
* @param operationKey
*/
setOperationKey(operationKey:string):void;
/**
* 设置凭证id字段
* @param voucherFieldId
*/
setVoucherFieldId(voucherFieldId:string):void;
}
type VoucherNoListField_T = ListField & VoucherNoListField_S & VoucherNoListField$;
interface VoucherNoListField extends VoucherNoListField_T {
}
interface IRegisterPropertyListener_S {
}
interface IRegisterPropertyListener$ {
registerComplexProperty(arg0:kd.bos.entity.datamodel.events.RegisterPropertyArgs):kd.bos.entity.datamodel.events.RegisterPropertyArgs;
registerSimpleProperty(arg0:kd.bos.entity.datamodel.events.RegisterPropertyArgs):kd.bos.entity.datamodel.events.RegisterPropertyArgs;
}
type IRegisterPropertyListener_T = IRegisterPropertyListener_S & IRegisterPropertyListener$;
interface IRegisterPropertyListener extends IRegisterPropertyListener_T {
}
interface IBaseModel_S {
}
interface IBaseModel$ {
}
type IBaseModel_T = IBillModel & IBaseModel_S & IBaseModel$;
interface IBaseModel extends IBaseModel_T {
}
interface IAttachmentModel_S {
}
interface IAttachmentModel$ {
/**
* 判断文件是否能够预览
* 1.文件后缀支持预览
* 2.文件预览参数开启
* 3.文件大小支持预览
* 同时满足以上条件,可预览,否则,不可预览。
* @param attMap 附件对象
* @return 是否能预览 true 可以预览 false不可以预览
*/
ablePreView?(attMap:$.java.util.Map):boolean;
/**
* @description 校验文件名包含特殊符号
* @param fileName 原字符串
* @return 文件名包含的特殊字符,不包含特殊字符则返回空串
*/
checkSpeSymbol?(fileName:string):string;
getCacheJsonString(attachKey:string,attachments:$.java.util.List,cacheJsonString:string):string;
/**
* 获取附件数据
* @param model
* @return
*/
getData(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string):$.java.util.List;
getData(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,entityId:string):$.java.util.List;
/**
* 获取附件数据
* @param model 数据模型
* @param attachKey 附件标识
* @param entityId 实体编码
* @param enableTempAccess 允许授权 临时访问(未登陆苍穹即可在有效期内访问文件资源)
* @return
*/
getData(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,entityId:string,enableTempAccess:boolean):$.java.util.List;
/**
* 获取附件数据
* @param model 数据模型
* @param attachKey 附件标识
* @param entityId 实体编码
* @param enableTempAccess 允许授权 临时访问(未登陆苍穹即可在有效期内访问文件资源)
* @param dragAtm 是否开启拖拽
* @return
*/
getData(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,entityId:string,enableTempAccess:boolean,dragAtm:boolean):$.java.util.List;
getTempData(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,pageId:string,entityId:string):$.java.util.List;
/**
* 获取缓存文件的预览路径,需先判断格式是否支持预览
*/
getTempFilePreviewUrl(tempDownloadUrl:string):string;
/**
* 保存备注
* @param uid
* @param description
*/
mark(uid:string,description:string):void;
/**
* 保存备注
*
* @param uid uid
* @param description 名称
* @param attPkId pkid
*/
mark(uid:string,description:string,attPkId:string):void;
/**
* 删除附件数据
* @param model
* @param attach
*/
remove(model:$.kd.bos.entity.datamodel.IDataModel,attach:$.java.util.Map):void;
remove(model:$.kd.bos.entity.datamodel.IDataModel,attach:$.java.util.Map,entityId:string):void;
/**
* 删除临时附件数据
* @param model
* @param pageId
* @param attach
*/
removeTemp(model:$.kd.bos.entity.datamodel.IDataModel,pageId:string,attach:$.java.util.Map):void;
removeTemp(model:$.kd.bos.entity.datamodel.IDataModel,pageId:string,attach:$.java.util.Map,entityId:string):void;
/**
* 保存重命名
* @param uid
* @param name
*/
rename(uid:string,name:string):void;
/**
* 保存重命名
* @param uid uid
* @param name 名称
* @param attPkId pkid
*/
rename(uid:string,name:string,attPkId:string):void;
/**
* 保存附件数据
* @param model
* @param attachs
*/
upload(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,attachs:$.java.util.List):void;
upload(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,attachs:$.java.util.List,entityId:string):void;
/**
* (单据未保存时)临时保存附件数据
* @param model
* @param pageId
* @param attachs
*/
uploadTemp(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,pageId:string,attachs:$.java.util.List):void;
uploadTemp(model:$.kd.bos.entity.datamodel.IDataModel,attachKey:string,pageId:string,attachs:$.java.util.List,entityId:string):void;
}
type IAttachmentModel_T = IAttachmentModel_S & IAttachmentModel$;
interface IAttachmentModel extends IAttachmentModel_T {
}
interface IAttachmentFieldModel_S {
}
interface IAttachmentFieldModel$ {
/**
* 判断文件是否能够预览
* 1.文件后缀支持预览
* 2.文件预览参数开启
* 3.文件大小支持预览
* 同时满足以上条件,可预览,否则,不可预览。
* @param attMap 附件对象
* @return 是否能预览 true 可以预览 false不可以预览
*/
ablePreView(attMap:$.java.util.Map):boolean;
/**
* 判断某种类型文件的后缀是否能够预览
*
* @param type 文件后缀
*
* @return 是否能预览 true 可以预览 false不可以预览
*/
ablePreView(type_arg:string):boolean;
/**
* @description 校验文件名包含特殊符号
* @param fileName 原字符串
* @return 文件名包含的特殊字符,不包含特殊字符则返回空串
*/
checkSpeSymbol?(fileName:string):string;
/**
* 从附件字段数据表格中删除指定的附件信息
* @param formId 表单标识
* @param tableName 表名
* @param attachments 需要删除的附件
*/
deleteAttachments(formId:string,tableName:string,attachs:$.java.util.Map):void;
/**
* 获取缓存文件的预览路径,需先判断格式是否支持预览
*/
getTempFilePreviewUrl(tempDownloadUrl:string):string;
/**
* 保存备注
* @param uid
* @param description
*/
mark(uid:string,description:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* 保存备注
*
* @param uid uid
* @param description 名称
* @param attPkId pkid
*/
mark(uid:string,description:$.kd.bos.dataentity.entity.LocaleString,attPkId:string):void;
/**
* 重命名
* @param uid
* @param name
*/
rename(uid:string,name:string):void;
rename(uid:string,name:string,attPkId:string):void;
/**
* 临时保存附件数据
* @param model 实体模型
* @param attachKey 附件字段key
* @param entityId 实体id
* @param attachs 附件数据
*/
saveAttachments(model:$.kd.bos.entity.datamodel.IDataModel,pageId:string,entityId:string,attachs:$.java.util.List):$.java.util.List;
setDragSeq?(dragSeq:number,attPkId:string):void;
}
type IAttachmentFieldModel_T = IAttachmentFieldModel_S & IAttachmentFieldModel$;
interface IAttachmentFieldModel extends IAttachmentFieldModel_T {
}
}
namespace kd.bos.entity.datamodel.events{
interface IDataModelListener_S {
}
interface IDataModelListener$ {
/**
* 复制数据包完成后触发此事件
*
* 插件可在此事件,填充不允许复制的字段值
*
* @param e 事件参数
*/
afterCopyData(e:$.java.util.EventObject):void;
/**
* 数据包创建之后的事件
*
* 插件在此,对已创建好的模型数据包进一步加工,比如调整字段默认值,增加单据体默认行等
*
* 示例:
{@code
* public class DemoFormPlugin extends AbstractFormPlugin {
* @Override
* public void afterCreateNewData(EventObject e) {
* }
* }}
* @param e 事件参数,未含特别参数
*/
afterCreateNewData(e:$.java.util.EventObject):void;
/**
* 引入数据填写完毕之后,保存前触发的事件
*
* 批量引入时,每张单据都触发一次
* 插件可以对已完成引入,但还未保存的数据包,进行最后的修改
*
* @param e 事件参数,含引入数据源
*/
afterImportData(e:ImportDataEventArgs):void;
/**
* 引入数据填写之前触发的事件
*
* 批量引入时,每张单据都触发一次
* 插件可以对本次引入的源单数据包,进行修订;或者取消本单引入
*
* @param e 事件参数,含引入数据源
*/
beforeImportData(e:BeforeImportDataEventArgs):void;
/**
* 单据体引入过程中,解析Excel文件至JSON数据包解析完毕,即将转换为动态对象之前的事件 ,可在这个事件中修改/校验当前批次解析到的数据包
*
* @param e 事件参数
*/
beforeImportEntry(e:BeforeImportEntryEventArgs):void;
/**
* 创建数据包事件,一般在页面初始化时调用
*
* 插件可在此事件,自行构建模型数据包,后续平台将把插件构建的数据包显示在界面上
* 如果插件不处理此事件,平台会自行构建空白的模型数据包,并给每个字段填好默认值
*
* 示例:{@code
* public class DemoFormPlugin extends AbstractFormPlugin {
* @Override
* public void createNewData(BizDataEventArgs e) {
*
* }
* }
* }
*
* @param e 事件参数,插件可通过此参数传入自行创建的表单界面数据包
*/
createNewData(e:BizDataEventArgs):void;
/**
* 获取主实体对象时触发此事件
*
* 插件可在此事件,向主实体动态注册新属性,以实现给表单动态添加字段的效果
* 特别注意:主实体对象是共享的,不允许直接修改主实体对象本身。必须先复制,然后在拷贝的主实体对象上动态注册新属性
*
* @param e 事件参数,含默认的主实体对象
*/
getEntityType(e:GetEntityTypeEventArgs):void;
/**
* 批量引入数据之前触发此事件,只触发一次
*
* 插件可在此事件,分析引入数据源,批量读取依赖的基础资料数据
*
* @param e 事件参数,含引入数据源
*/
initImportData(e:InitImportDataEventArgs):void;
/**
* 加载数据包事件,在单据从数据库读取数据时触发
*
* 插件可在此事件,自行完成取数
*
* @param e 事件参数,插件可以通过此参数传入自取的模型数据包
*/
loadData(e:LoadDataEventArgs):void;
/**
* 单据引入,批量匹配依赖的基础数据事件
*
* 引入源数据包中,基础资料字段通常填写数据编码,引入过程需要先把编码转为内码后再填写到字段上
* 默认情况,平台会自动根据组织和编码搜索基础数据的内码,不需要插件干预
* 某些特殊基础数据,编码不唯一,此时需要插件来完成数据编码到内码的转换,否则会引入失败
*
* @param e 事件参数,含需由插件完成转换的基础数据
*/
queryImportBasedata(e:QueryImportBasedataEventArgs):void;
}
type IDataModelListener_T = IDataModelListener_S & IDataModelListener$;
interface IDataModelListener extends IDataModelListener_T {
}
interface BeforeSetItemValueEventArgs_S {
}
interface BeforeSetItemValueEventArgs_C extends BeforeSetItemValueEventArgs_S {
/**
* 构造函数
*
* @param property 字段
* @param dataEntity 数据包
* @param value 字段值
*/
new(property:$.kd.bos.dataentity.metadata.IDataEntityProperty,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,value:any):BeforeSetItemValueEventArgs;
}
interface BeforeSetItemValueEventArgs$ {
/**
* 返回赋值数据包
*
* @return 数据包
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 返回赋值字段
*
* @return 字段属性对象
*/
getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 返回插件设置的基础资料过滤条件
*
* @return 过滤条件
*/
getQFilters():$.java.util.List;
/**
* 返回插件设置的基础资料额外的检索参数
*
* 和检索字段 {@link #getSearchKey()} 配合使用
*
* @return 检索参数
*/
getSearchArgs():string[];
/**
* 返回插件设置的基础资料额外检索字段
*
* 和检索参数 {@link #getSearchArgs()}配合使用,事件执行完毕后,系统会动态拼接成 "searchKey in (searchArgs)" 的取数条件对基础资料进行过滤
*
* @return 检索字段
*/
getSearchKey():string;
/**
* 返回字段值,可能是基础数据内码或编码
*
* @return 字段值
*/
getValue():any;
/**
* 设置赋值数据包
*
* @param dataEntity 数据包
*/
setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
/**
* 设置赋值字段
*
* @param property 字段属性对象
*/
setProperty(property:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
/**
* 设置基础资料过滤条件
*
* @param qFilters 过滤条件
*/
setQFilters(qFilters:$.java.util.List):void;
/**
* 设置基础资料额外的检索参数
*
* @param searchArgs 检索参数
*/
setSearchArgs(searchArgs:string[]):void;
/**
* 设置基础资料额外的检索字段
*
* @param searchKey 检索字段
*/
setSearchKey(searchKey:string):void;
/**
* 设置字段值
*
* @param value 字段值
*/
setValue(value:any):void;
}
type BeforeSetItemValueEventArgs_T = BeforeSetItemValueEventArgs_S & BeforeSetItemValueEventArgs$;
interface BeforeSetItemValueEventArgs extends BeforeSetItemValueEventArgs_T {
}
interface BeforeDeleteRowEventArgs_S {
}
type BeforeDeleteRowEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & BeforeDeleteRowEventArgs_S;
interface BeforeDeleteRowEventArgs_C extends BeforeDeleteRowEventArgs_ST {
/**
* 构造函数
*
* @param entryProp 分录属性对象
* @param rowIndex 分录行
*/
new(entryProp:kd.bos.entity.property.EntryProp,rowIndex:number):BeforeDeleteRowEventArgs;
/**
* 构造函数
*
* @param entryProp 分录属性对象
* @param rowIndexs 分录行集合
*/
new(entryProp:kd.bos.entity.property.EntryProp,rowIndexs:number[]):BeforeDeleteRowEventArgs;
}
interface BeforeDeleteRowEventArgs$ {
/**
* 返回分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
/**
* 返回被删的分录行索引集合
*
* @return 分录行索引集合,行索引从0开始
*/
getRowIndexs():number[];
/**
* 设置是否取消删除行
*
* @param cancel 是否取消删除行
*/
setCancel(cancel:boolean):void;
}
type BeforeDeleteRowEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & BeforeDeleteRowEventArgs_S & BeforeDeleteRowEventArgs$;
interface BeforeDeleteRowEventArgs extends BeforeDeleteRowEventArgs_T {
}
interface AfterAddRowEventArgs_S {
}
type AfterAddRowEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & AfterAddRowEventArgs_S;
interface AfterAddRowEventArgs_C extends AfterAddRowEventArgs_ST {
/**
* 构造函数
*
* @param entryProp 分录属性对象
* @param rowDataEntities 分录行数据集合
*/
new(entryProp:kd.bos.entity.property.EntryProp,rowDataEntities:RowDataEntity[]):AfterAddRowEventArgs;
/**
* 构造函数
*
* @param entryProp 分录属性对象
* @param rowDataEntities 分录行数据集合
* @param insertRow 插入行索引
*/
new(entryProp:kd.bos.entity.property.EntryProp,rowDataEntities:RowDataEntity[],insertRow:number):AfterAddRowEventArgs;
/**
* 构造函数
*
* @param entryProp 分录属性对象
* @param rowDataEntities 分录行数据集合
* @param insertRow 插入行索引
*/
new(entryProp:kd.bos.entity.property.EntryProp,rowDataEntities:RowDataEntity[],insertRow:number,insertBehind:boolean):AfterAddRowEventArgs;
}
interface AfterAddRowEventArgs$ {
/**
* 获取分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
/**
* 获取插入行索引
*
* @return 插入行索引
*/
getInsertRow():number;
/**
* 获取新添加的分录行数据集合
*
* @return 分录行数据集合
*/
getRowDataEntities():RowDataEntity[];
/**
* 是否在当前行号后面插入
*/
isInsertBehind():boolean;
}
type AfterAddRowEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & AfterAddRowEventArgs_S & AfterAddRowEventArgs$;
interface AfterAddRowEventArgs extends AfterAddRowEventArgs_T {
}
interface BeforeBatchFillEntryArgs$RowItem_S {
}
interface BeforeBatchFillEntryArgs$RowItem_C extends BeforeBatchFillEntryArgs$RowItem_S {
new():BeforeBatchFillEntryArgs$RowItem;
}
interface BeforeBatchFillEntryArgs$RowItem$ {
build(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:any,arg2:number):this;
getRow():number;
getSelProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
getValue():any;
}
type BeforeBatchFillEntryArgs$RowItem_T = BeforeBatchFillEntryArgs$RowItem_S & BeforeBatchFillEntryArgs$RowItem$;
interface BeforeBatchFillEntryArgs$RowItem extends BeforeBatchFillEntryArgs$RowItem_T {
}
interface BeforeImportDataEventArgs_S {
}
type BeforeImportDataEventArgs_ST = ImportDataEventArgs_S & BeforeImportDataEventArgs_S;
interface BeforeImportDataEventArgs_C extends BeforeImportDataEventArgs_ST {
/**
* 构造函数
*
* @param source 事件源
* @param sourceData 源数据
* @param basedataPks 基础资料数据
*/
new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map):BeforeImportDataEventArgs;
/**
* 构造函数
*
* @param source 事件源
* @param sourceData 元数据
* @param basedataPks 基础资料数据
* @param option 可选参数
*/
new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map,option:$.java.util.Map):BeforeImportDataEventArgs;
}
interface BeforeImportDataEventArgs$ {
/**
* 插件是否取消了字段是否允许引入的选项控制
*
* @return 默认返回true,检查字段是否允许录入
*/
isCheckImportable():boolean;
/**
* 插件是否取消了触发afterImportData事件
*
* @return 默认返回true,触发afterImportData事件
*/
isFireAfterImportData():boolean;
/**
* 取消字段是否允许引入的选项控制
*
* 字段上有个功能控制-是否允许引入选项,默认只有勾选了该选项后,该字段才允许引入
*
* @param checkImportable 设置为false取消引入选项控制
*/
setCheckImportable(checkImportable:boolean):void;
/**
* 指定是否触发afterImportData事件、执行实体服务规则
*
* 默认是触发的,可以指定不触发,提升性能
*
* @param fireAfterImportData 设置false不触发afterImportData事件
*/
setFireAfterImportData(fireAfterImportData:boolean):void;
}
type BeforeImportDataEventArgs_T = ImportDataEventArgs & BeforeImportDataEventArgs_S & BeforeImportDataEventArgs$;
interface BeforeImportDataEventArgs extends BeforeImportDataEventArgs_T {
}
interface IDataModelChangeListener_S {
}
interface IDataModelChangeListener$ {
/**
* 创建新分录行后事件
*
* @param e 事件参数
*/
afterAddRow(e:AfterAddRowEventArgs):void;
/**
* 清空分录数据后事件
*
* @param e 事件参数
*/
afterDeleteEntry(e:AfterDeleteEntryEventArgs):void;
/**
* 删除分录行后事件
*
* @param e 事件参数
*/
afterDeleteRow(e:AfterDeleteRowEventArgs):void;
/**
* 分录行下移后事件
*
* @param e 事件参数
*/
afterMoveEntryDown(e:AfterMoveEntryEventArgs):void;
/**
* 分录行上移后事件
*
* @param e 事件参数
*/
afterMoveEntryUp(e:AfterMoveEntryEventArgs):void;
/**
* 分录行置底
*
* @param e 事件参数
*/
afterSetEntryBottom(e:AfterMoveEntryEventArgs):void;
/**
* 分录行置顶
*
* @param e 事件参数
*/
afterSetEntryTop(e:AfterMoveEntryEventArgs):void;
/**
* 聚合分录行移动后事件
*
* @param e 事件参数
*/
afterTogetherMoveEntryRow(e:AfterTogetherMoveEntryRowEventArgs):void;
/**
* 创建新分录行前事件
*
* 此事件未实际触发
*
* @param e 事件参数
*/
beforeAddRow(e:BeforeAddRowEventArgs):void;
/**
* 填充分录
*
* @param e 事件参数
*/
beforeBatchFillEntry(e:BeforeBatchFillEntryArgs):void;
beforeDeleteEntry(e:BeforeDeleteEntryEventArgs):void;
/**
* 删除分录行前事件
*
* @param e 事件参数
*/
beforeDeleteRow(e:BeforeDeleteRowEventArgs):void;
/**
* 字段值改变前事件
*
* @param e 事件参数,含被改变的属性及新值
*/
beforePropertyChanged(e:PropertyChangedArgs):void;
/**
* 基础资料字段赋值前事件
*
* 插件可设置基础数据过滤条件
*
* @param e 事件参数
*/
beforeSetItemValue(e:BeforeSetItemValueEventArgs):void;
/**
* 聚合分录行移动前事件
*
* @param e 事件参数
*/
beforeTogetherMoveEntryRow(e:BeforeTogetherMoveEntryRowEventArgs):void;
/**
* 初始化的时候,触发事件
* @param e 实体中属性值改变事件,按变化的多个行批量一次触发
*/
initPropertyChanged(e:PropertyChangedArgs):void;
/**
* 本插件是否支持批量触发值更新事件
*
* 历史版本propertyChanged事件是单行触发的,插件通常只需要处理单行字段值,很多插件也只处理了第一个字段值
* 但实际上,该事件是支持批量触发的(批量选择基础资料数据返回),事件参数会包含批量修改的多行字段值
* 插件支持批量处理后,需重写本方法,返回true
*
* 补充说明:默认返回false,认为本插件没有准备好批量处理,会迫使平台只能逐个单元格修改字段值,从而降低性能。这可能会导致用户大批量选择基础资料字段值返回时处理相当慢
*/
isSupportBatchPropChanged():boolean;
/**
* 字段值改变后事件
*
* 插件可同步更新其他字段值
* 不建议在此事件回滚字段值,可能会导致数据不一致:如果业务规则或其他插件已经基于本字段值进行了计算,无法一并回滚
*
* 特别提醒:本事件支持批量触发,需和 {@link #isSupportBatchPropChanged()} 配合
*
* @param e 事件参数,含字段值改变前后的值
*/
propertyChanged(e:PropertyChangedArgs):void;
/**
* 分录合计
* @param e 事件参数
*/
totalEntriesByCondition(e:TotalEntriesEventArgs):void;
}
type IDataModelChangeListener_T = IDataModelChangeListener_S & IDataModelChangeListener$;
interface IDataModelChangeListener extends IDataModelChangeListener_T {
}
interface InitImportDataEventArgs_S {
}
type InitImportDataEventArgs_ST = $.java.util.EventObject & InitImportDataEventArgs_S;
interface InitImportDataEventArgs_C extends InitImportDataEventArgs_ST {
/**
* 构造函数
*
* @param source 事件源
* @param sourceDataList 源数据
* @param customOption 构造函数
* @param fieldImportOrder 字段引入顺序
*/
new(source:any,sourceDataList:$.java.util.List,customOption:$.java.util.Map,fieldImportOrder:$.java.util.List):InitImportDataEventArgs;
}
interface InitImportDataEventArgs$ {
/**
* 追加整单的所有错误提示信息
*
* @param sourceDataIndex 单头数据索引
* @param entryRowIndex 分录数据索引
* @param subEntryRowIndex 子分录数据索引
* @param errorMsg 追加错误信息
*/
addCancelMessage(sourceDataIndex:number,entryRowIndex:number,subEntryRowIndex:number,errorMsg:string):void;
/**
* 获取整单下所有分录、子分录的错误信息
*
* @param excelIndexFromHead excel文件中的行号
* @return 具体行对应的错误信息
*/
getCancelMessage(excelIndexFromHead:number):$.java.util.Map;
/**
* 获取全量错误提示
* @return
*/
getCancelMessageWithHeadRow():$.java.util.Map;
/**
* 获取Excel文件中的行号
*
* @param sourceDataIndex 单头数据索引
* @param entryRowIndex 分录数据索引
* @param subEntryRowIndex 父分录数据索引
* @return Excel文件中的行号
*/
getExcelRowIndex(sourceDataIndex:number,entryRowIndex:number,subEntryRowIndex:number):number;
/**
* 获取Excel文件中的行号
*
* @param sourceDataIndex 单头数据索引
* @return Excel文件中的行号
*/
getExcelRowIndexFromHead(sourceDataIndex:number):number;
/**
* 获取字段引入顺序
*
* 插件可通过此属性设置字段引入顺序
*
* @return 字段引入顺序
*/
getFieldImportOrder():$.java.util.List;
/**
* 获取自定义参数
*
* @return 自定义参数
*/
getOption():$.java.util.Map;
/**
* 返回批量引入所有的源数据包
*
* @return 源数据
*/
getSourceDataList():$.java.util.List;
/**
* 替换整单的所有错误提示信息
*
* @param sourceDataIndex 单头数据索引
* @param entryRowIndex 分录数据索引
* @param subEntryRowIndex 子分录数据索引
* @param errorMsgs 所有错误提示
*/
setCancelMessages(sourceDataIndex:number,entryRowIndex:number,subEntryRowIndex:number,errorMsgs:$.java.util.List):void;
}
type InitImportDataEventArgs_T = $.java.util.EventObject & InitImportDataEventArgs_S & InitImportDataEventArgs$;
interface InitImportDataEventArgs extends InitImportDataEventArgs_T {
}
interface FillPredictor_S {
isEqual(targetRef:any):FillPredictor;
}
interface FillPredictor$ {
and?(other:FillPredictor):this;
negate?():this;
or?(other:FillPredictor):this;
satisfy(arg0:any):boolean;
}
type FillPredictor_T = FillPredictor_S & FillPredictor$;
interface FillPredictor extends FillPredictor_T {
}
interface BeforeImportEntryEventArgs_S {
}
type BeforeImportEntryEventArgs_ST = $.java.util.EventObject & BeforeImportEntryEventArgs_S;
interface BeforeImportEntryEventArgs_C extends BeforeImportEntryEventArgs_ST {
new(source:any,entryDataMap:$.java.util.Map):BeforeImportEntryEventArgs;
}
interface BeforeImportEntryEventArgs$ {
getEntryDataMap():$.java.util.Map;
}
type BeforeImportEntryEventArgs_T = $.java.util.EventObject & BeforeImportEntryEventArgs_S & BeforeImportEntryEventArgs$;
interface BeforeImportEntryEventArgs extends BeforeImportEntryEventArgs_T {
}
interface ImportDataEventArgs_S {
}
type ImportDataEventArgs_ST = $.java.util.EventObject & ImportDataEventArgs_S;
interface ImportDataEventArgs_C extends ImportDataEventArgs_ST {
/**
* 构造函数
*
* @param source 事件源
* @param sourceData 源数据
* @param basedataPks 基础资料数据
*/
new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map):ImportDataEventArgs;
/**
* 构造函数
*
* @param source 事件源
* @param sourceData 源数据
* @param basedataPks 基础资料数据
* @param option 可选项
*/
new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map,option:$.java.util.Map):ImportDataEventArgs;
}
interface ImportDataEventArgs$ {
/**
* 添加取消引入原因
*
* @param entryRowIndex 分录行
* @param subEntryRowIndex 子分录行
* @param cancelMessage 取消原因
*/
addCancelMessage(entryRowIndex:number,subEntryRowIndex:number,cancelMessage:string):void;
/**
* 返回基础资料数据
*
* @return 基础资料数据
*/
getBasedataPks():$.java.util.Map;
/**
* 返回取消本单引入的原因说明:把所有行的提示拼接起来返回
*
* @return 拼接后的取消引入原因
*/
getCancelMessage():string;
/**
* 返回按行区分的取消引入原因
*
* @return 各行取消原因
*/
getCancelMessages():$.java.util.Map;
/**
* 返回可选参数
*
* @return 可选参数
*/
getOption():$.java.util.Map;
/**
* 返回源数据
*
* @return 源数据
*/
getSourceData():$.java.util.Map;
/**
* 插件是否取消本单引入
*
* @return 默认返回false。返回true即取消引入
*/
isCancel():boolean;
/**
* 取消本单引入
*
* @param cancel 设置为true,取消引入
*/
setCancel(cancel:boolean):void;
/**
* 设置取消引入原因
*
* @param entryRowIndex 分录行
* @param subEntryRowIndex 子分录行
* @param msgs 取消原因
*/
setCancelMessages(entryRowIndex:number,subEntryRowIndex:number,msgs:$.java.util.List):void;
}
type ImportDataEventArgs_T = $.java.util.EventObject & ImportDataEventArgs_S & ImportDataEventArgs$;
interface ImportDataEventArgs extends ImportDataEventArgs_T {
}
interface BeforeAddRowEventArgs_S {
}
interface BeforeAddRowEventArgs_C extends BeforeAddRowEventArgs_S {
new():BeforeAddRowEventArgs;
}
interface BeforeAddRowEventArgs$ {
}
type BeforeAddRowEventArgs_T = BeforeAddRowEventArgs_S & BeforeAddRowEventArgs$;
interface BeforeAddRowEventArgs extends BeforeAddRowEventArgs_T {
}
interface QueryImportBasedataEventArgs_S {
}
type QueryImportBasedataEventArgs_ST = $.java.util.EventObject & QueryImportBasedataEventArgs_S;
interface QueryImportBasedataEventArgs_C extends QueryImportBasedataEventArgs_ST {
/**
* 构造函数
*
* @param rowMapper 源数据和单据映射对象
* @param searchResult 依赖的基础数据
*/
new(rowMapper:any,searchResult:$.java.util.Map):QueryImportBasedataEventArgs;
}
interface QueryImportBasedataEventArgs$ {
/**
* 返回依赖的基础数据
*
* 插件需要为本方法返回的各条基础数据,逐一填入匹配的数据内码
*
* @return 基础数据
*/
getSearchResult():$.java.util.Map;
}
type QueryImportBasedataEventArgs_T = $.java.util.EventObject & QueryImportBasedataEventArgs_S & QueryImportBasedataEventArgs$;
interface QueryImportBasedataEventArgs extends QueryImportBasedataEventArgs_T {
}
interface RegisterFlexPropertyArgs_S {
}
interface RegisterFlexPropertyArgs_C extends RegisterFlexPropertyArgs_S {
new(dataEntityProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):RegisterFlexPropertyArgs;
new(dataEntityProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,dimensionProp:kd.bos.entity.property.BasedataProp,baseProp:kd.bos.entity.property.BasedataProp,entityType:MainEntityType):RegisterFlexPropertyArgs;
}
interface RegisterFlexPropertyArgs$ {
/**
* @return 弹性域实际对应的基础资料(科目,币别等)
*/
getBaseProp():kd.bos.entity.property.BasedataProp;
/**
* @return 弹性域属性元数据字段(由t_bas_flex_property构造)
*/
getDataEntityProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* @return 弹性域维度信息字段,关联到(t_gl_assist_bd或t_gl_assist_txt)
*/
getDimensionProp():kd.bos.entity.property.BasedataProp;
getEntityType():MainEntityType;
}
type RegisterFlexPropertyArgs_T = RegisterFlexPropertyArgs_S & RegisterFlexPropertyArgs$;
interface RegisterFlexPropertyArgs extends RegisterFlexPropertyArgs_T {
}
interface PackageDataEvent_S {
}
type PackageDataEvent_ST = $.java.util.EventObject & PackageDataEvent_S;
interface PackageDataEvent_C extends PackageDataEvent_ST {
/**
* 构造函数
*
* @param source 事件源
*/
new(source:any):PackageDataEvent;
/**
* 构造函数
*
* @param source 事件源
* @param formatValue 单元格数据
*/
new(source:any,formatValue:any):PackageDataEvent;
/**
* 构造函数
*
* @param source 事件源
* @param rowData 行数据
* @param formatValue 单元格数据
*/
new(source:any,rowData:$.kd.bos.dataentity.entity.DynamicObject,formatValue:any):PackageDataEvent;
/**
* 构造函数
* @param source 事件源
* @param rowData 行数据
* @param formatValue 单元格数据
* @param rowIndex 当前行号
*/
new(source:any,rowData:$.kd.bos.dataentity.entity.DynamicObject,formatValue:any,rowIndex:number):PackageDataEvent;
}
interface PackageDataEvent$ {
/**
* 获取当前单元格所在的列标识
*
* @return 返回列标识
*/
getColKey():string;
/**
* 获取动态设置下拉项
*/
getComboList():$.java.util.List;
/**
* 获取格式化的单元格数据
*
* @return 单元格数据
*/
getFormatValue():any;
/**
* 获取插件设置的不显示超链接的字段
*
* 列表插件未处理此参数,在单据体表格格式化时用到
*
* @return 字段集合
*/
getNoLinkKey():$.java.util.List;
/**
* 获取插件设置的不融合的字段
*
* @return 字段集合
*/
getNoMergeKey():$.java.util.List;
/**
* 获取当前行数据
*
* @return 当前行数据
*/
getRowData():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取当前行号
* @return
*/
getRowIndex():number;
/**
* 获取插件是否允许选择行
*
* @return 默认返回true,允许选择行
*/
isCanSelectRow():boolean;
/**
* 是否取消本行数据(rowData)输出
*
* @return true(取消)or false(未取消)
*/
isCancel():boolean;
/**
* 设置不允许选择行
*
* 只有单据体表格绑定时用到此设置
*
* @param canSelectRow 设置false,不允许选择行
*/
setCanSelectRow(canSelectRow:boolean):void;
/**
* 设置是否取消本行数据(rowData)输出
*
* @param cancel
* true(取消)or false(未取消)
*/
setCancel(cancel:boolean):void;
/**
* 设置动态设置下拉项
* @param comboList
*/
setComboList(comboList:$.java.util.List):void;
/**
* 设置格式化后的单元格数据
*
* @param formatValue 单元格数据
*/
setFormatValue(formatValue:any):void;
/**
* 设置不显示超链接的字段
*
* 只有部分场景用到此设置
*
* @param noLinkKey 字段集合
*/
setNoLinkKey(noLinkKey:$.java.util.List):void;
/**
* 设置不融合的字段
*
* 只有部分场景用到此设置
*
* @param noMergeKey 字段集合
*/
setNoMergeKey(noMergeKey:$.java.util.List):void;
/**
* 设置当前行数据
*
* @param rowData 当前行数据
*/
setRowData(rowData:$.kd.bos.dataentity.entity.DynamicObject):void;
/**
* 设置当前行号
* @param rowIndex
*/
setRowIndex(rowIndex:number):void;
}
type PackageDataEvent_T = $.java.util.EventObject & PackageDataEvent_S & PackageDataEvent$;
interface PackageDataEvent extends PackageDataEvent_T {
}
interface AfterTogetherMoveEntryRowEventArgs_S {
}
type AfterTogetherMoveEntryRowEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & AfterTogetherMoveEntryRowEventArgs_S;
interface AfterTogetherMoveEntryRowEventArgs_C extends AfterTogetherMoveEntryRowEventArgs_ST {
/**
* 构造函数
*
* @param property 分录属性对象
* @param formIndexs 聚合分录行数组(序号从零开始起算)
* @param toIndex 移动到目标行下面(序号从零开始起算)
* @param allFormIndexs 树形单据体:获取树形单据体指定行的所有子行(包含自己),普通单据体:等于formIndexs
* @param rowCount 分录总行数
*/
new(property:kd.bos.entity.property.EntryProp,formIndexs:number[],toIndex:number,allFormIndexs:number[],rowCount:number):AfterTogetherMoveEntryRowEventArgs;
}
interface AfterTogetherMoveEntryRowEventArgs$ {
/**
* 获取树形单据体:获取树形单据体指定行的所有子行(包含自己),普通单据体:等于formIndexs
* @return
*/
getAllFormIndexs():number[];
/**
* 返回分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
/**
* 获取聚合分录行数组(序号从零开始起算)
* @return
*/
getFormIndexs():number[];
/**
* 返回分录的总行数
*
* @return 分录总行数
*/
getRowCount():number;
/**
* 获取移动到目标行下面(序号从零开始起算)
* @return
*/
getToIndex():number;
}
type AfterTogetherMoveEntryRowEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & AfterTogetherMoveEntryRowEventArgs_S & AfterTogetherMoveEntryRowEventArgs$;
interface AfterTogetherMoveEntryRowEventArgs extends AfterTogetherMoveEntryRowEventArgs_T {
}
interface BeforeTogetherMoveEntryRowEventArgs_S {
}
type BeforeTogetherMoveEntryRowEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & BeforeTogetherMoveEntryRowEventArgs_S;
interface BeforeTogetherMoveEntryRowEventArgs_C extends BeforeTogetherMoveEntryRowEventArgs_ST {
/**
* 构造函数
*
* @param entryProp 分录属性对象
* @param formIndexs 聚合分录行数组(序号从零开始起算)
* @param toIndex 移动到目标行下面(序号从零开始起算)
*/
new(entryProp:kd.bos.entity.property.EntryProp,formIndexs:number[],toIndex:number):BeforeTogetherMoveEntryRowEventArgs;
}
interface BeforeTogetherMoveEntryRowEventArgs$ {
/**
* 返回分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
/**
* 获取聚合分录行数组(序号从零开始起算)
* @return
*/
getFormIndexs():number[];
/**
* 获取移动到目标行下面(序号从零开始起算)
* @return
*/
getToIndex():number;
/**
* 设置是否取消移动行
*
* @param cancel 是否取消移动行
*/
setCancel(cancel:boolean):void;
}
type BeforeTogetherMoveEntryRowEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & BeforeTogetherMoveEntryRowEventArgs_S & BeforeTogetherMoveEntryRowEventArgs$;
interface BeforeTogetherMoveEntryRowEventArgs extends BeforeTogetherMoveEntryRowEventArgs_T {
}
interface TotalEntriesEventArgs_S {
}
interface TotalEntriesEventArgs_C extends TotalEntriesEventArgs_S {
new(fieldKey:string,valueList:$.java.util.List):TotalEntriesEventArgs;
}
interface TotalEntriesEventArgs$ {
getFieldKey():string;
getValueList():$.java.util.List;
setFieldKey(fieldKey:string):void;
setValueList(valueList:$.java.util.List):void;
}
type TotalEntriesEventArgs_T = TotalEntriesEventArgs_S & TotalEntriesEventArgs$;
interface TotalEntriesEventArgs extends TotalEntriesEventArgs_T {
}
interface PropertyChangedArgs_S {
}
type PropertyChangedArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & PropertyChangedArgs_S;
interface PropertyChangedArgs_C extends PropertyChangedArgs_ST {
/**
* 构造函数
*
* @param property 字段属性
* @param changeSet 改变数据集合
*/
new(property:$.kd.bos.dataentity.metadata.IDataEntityProperty,changeSet:ChangeData[]):PropertyChangedArgs;
}
interface PropertyChangedArgs$ {
/**
* 返回发生改变的数据
*
* 通常本属性只返回一条数据,当批量触发字段值改变事件时,本属性会返回多条数据
*
* @return 改变数据集合
*/
getChangeSet():ChangeData[];
/**
* 返回发生改变的字段
*
* @return 字段属性对象
*/
getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
}
type PropertyChangedArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & PropertyChangedArgs_S & PropertyChangedArgs$;
interface PropertyChangedArgs extends PropertyChangedArgs_T {
}
interface LoadDataEventArgs_S {
}
type LoadDataEventArgs_ST = $.java.util.EventObject & LoadDataEventArgs_S;
interface LoadDataEventArgs_C extends LoadDataEventArgs_ST {
/**
* 构造函数
*
* @param source 事件源
* @param pkId 数据内码
*/
new(source:any,pkId:any):LoadDataEventArgs;
}
interface LoadDataEventArgs$ {
/**
* 返回插件传回的界面数据包
*
* @return 数据包
*/
getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
/**
* 返回要加载的单据内码
*
* @return 单据内码
*/
getPkId():any;
/**
* 设置界面显示的数据包
*
* 插件可调用此方法,传回自定义的界面数据包
*
* @param dataEntity 数据包
*/
setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
}
type LoadDataEventArgs_T = $.java.util.EventObject & LoadDataEventArgs_S & LoadDataEventArgs$;
interface LoadDataEventArgs extends LoadDataEventArgs_T {
}
interface ChangeData_S {
}
type ChangeData_ST = RowDataEntity_S & ChangeData_S;
interface ChangeData_C extends ChangeData_ST {
/**
* 构造函数
*
* @param rowIndex 行索引
* @param dataEntity 行数据
* @param oldValue 新值
* @param newValue 旧值
*/
new(rowIndex:number,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,oldValue:any,newValue:any):ChangeData;
}
interface ChangeData$ {
/**
* 获取新值
* @return 新值
*/
getNewValue():any;
/**
* 获取旧值
* @return 旧值
*/
getOldValue():any;
}
type ChangeData_T = RowDataEntity & ChangeData_S & ChangeData$;
interface ChangeData extends ChangeData_T {
}
interface BeforeBatchFillEntryArgs_S {
build(selProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,value:any,row:number):BeforeBatchFillEntryArgs$RowItem;
}
interface BeforeBatchFillEntryArgs_C extends BeforeBatchFillEntryArgs_S {
new():BeforeBatchFillEntryArgs;
}
interface BeforeBatchFillEntryArgs$ {
getPredicate():FillPredictor;
setPredicate(predicate:FillPredictor):void;
}
type BeforeBatchFillEntryArgs_T = BeforeBatchFillEntryArgs_S & BeforeBatchFillEntryArgs$;
interface BeforeBatchFillEntryArgs extends BeforeBatchFillEntryArgs_T {
}
interface AfterDeleteRowEventArgs_S {
}
type AfterDeleteRowEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & AfterDeleteRowEventArgs_S;
interface AfterDeleteRowEventArgs_C extends AfterDeleteRowEventArgs_ST {
/**
* 构造函数
*
* @param property 分录属性对象
* @param rowIndexs 删除的分录行索引集合
*/
new(property:kd.bos.entity.property.EntryProp,rowIndexs:number[]):AfterDeleteRowEventArgs;
/**
* 构造函数
*
* @param property 分录属性对象
* @param rowIndexs 删除的分录行索引集合
* @param previousRowKey 删除分录最前面的上一行
*/
new(property:kd.bos.entity.property.EntryProp,rowIndexs:number[],previousRowKey:number):AfterDeleteRowEventArgs;
}
interface AfterDeleteRowEventArgs$ {
/**
* 获取分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
/**
* 获取删除分录最前面的上一行
* @return
*/
getPreviousRowKey():number;
/**
* 获取被删的分录行索引集合
*
* @return 分录行索引集合
*/
getRowIndexs():number[];
/**
* 设置删除分录最前面的上一行
* @param previousRowKey
*/
setPreviousRowKey(previousRowKey:number):void;
}
type AfterDeleteRowEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & AfterDeleteRowEventArgs_S & AfterDeleteRowEventArgs$;
interface AfterDeleteRowEventArgs extends AfterDeleteRowEventArgs_T {
}
interface GetEntityTypeEventArgs_S {
}
interface GetEntityTypeEventArgs_C extends GetEntityTypeEventArgs_S {
/**
* 构造函数
*
* @param mainEntityType 主实体
*/
new(mainEntityType:MainEntityType):GetEntityTypeEventArgs;
}
interface GetEntityTypeEventArgs$ {
/**
* 获取插件改动后的主实体
*
* @return 主实体
*/
getNewEntityType():MainEntityType;
/**
* 获取原始的主实体(插件未修改)
*
* @return 主实体
*/
getOriginalEntityType():MainEntityType;
/**
* 设置改动后的主实体
*
* @param newEntityType 改动后的主实体
*/
setNewEntityType(newEntityType:MainEntityType):void;
}
type GetEntityTypeEventArgs_T = GetEntityTypeEventArgs_S & GetEntityTypeEventArgs$;
interface GetEntityTypeEventArgs extends GetEntityTypeEventArgs_T {
}
interface AfterDeleteEntryEventArgs_S {
}
type AfterDeleteEntryEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & AfterDeleteEntryEventArgs_S;
interface AfterDeleteEntryEventArgs_C extends AfterDeleteEntryEventArgs_ST {
/**
* 构造函数
*
* @param prop 分录属性对象
*/
new(prop:kd.bos.entity.property.EntryProp):AfterDeleteEntryEventArgs;
}
interface AfterDeleteEntryEventArgs$ {
/**
* 返回分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
}
type AfterDeleteEntryEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & AfterDeleteEntryEventArgs_S & AfterDeleteEntryEventArgs$;
interface AfterDeleteEntryEventArgs extends AfterDeleteEntryEventArgs_T {
}
interface AfterMoveEntryEventArgs_S {
}
type AfterMoveEntryEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & AfterMoveEntryEventArgs_S;
interface AfterMoveEntryEventArgs_C extends AfterMoveEntryEventArgs_ST {
/**
* 构造函数
*
* @param property 分录属性对象
* @param rowIndexs 上移前,原始的行索引集合
* @param rowCount 分录总行数
*/
new(property:kd.bos.entity.property.EntryProp,rowIndexs:number[],rowCount:number):AfterMoveEntryEventArgs;
}
interface AfterMoveEntryEventArgs$ {
/**
* 返回分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
/**
* 返回分录的总行数
*
* @return 分录总行数
*/
getRowCount():number;
/**
* 返回移动前的行索引集合
*
* @return 行索引集合
*/
getRowIndexs():number[];
/**
* 返回本批分录行,各上移了多少行
*
* 默认均上移1行,树形单据体可能会上移多行
*
* @return 各分录行的上移行数
*/
getSteps():$.java.util.List;
}
type AfterMoveEntryEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & AfterMoveEntryEventArgs_S & AfterMoveEntryEventArgs$;
interface AfterMoveEntryEventArgs extends AfterMoveEntryEventArgs_T {
}
interface BeforeDeleteEntryEventArgs_S {
}
type BeforeDeleteEntryEventArgs_ST = kd.bos.entity.plugin.manager.IConditionEvent_S & BeforeDeleteEntryEventArgs_S;
interface BeforeDeleteEntryEventArgs_C extends BeforeDeleteEntryEventArgs_ST {
/**
* 构造函数
*
* @param entryProp 分录属性对象
*/
new(entryProp:kd.bos.entity.property.EntryProp):BeforeDeleteEntryEventArgs;
}
interface BeforeDeleteEntryEventArgs$ {
/**
* 返回分录属性对象
*
* @return 分录属性对象
*/
getEntryProp():kd.bos.entity.property.EntryProp;
/**
* 取消清空单据体
*
* @param cancel 传入true取消清空行为
*/
setCancel(cancel:boolean):void;
}
type BeforeDeleteEntryEventArgs_T = kd.bos.entity.plugin.manager.IConditionEvent & BeforeDeleteEntryEventArgs_S & BeforeDeleteEntryEventArgs$;
interface BeforeDeleteEntryEventArgs extends BeforeDeleteEntryEventArgs_T {
}
interface BeforePackageDataEvent_S {
}
type BeforePackageDataEvent_ST = $.java.util.EventObject & BeforePackageDataEvent_S;
interface BeforePackageDataEvent_C extends BeforePackageDataEvent_ST {
/**
* 构造函数
*
* @param source 事件源
*/
new(source:any):BeforePackageDataEvent;
/**
* 构造函数
*
* @param source 事件源
* @param pageData 数据集合
*/
new(source:any,pageData:$.kd.bos.dataentity.entity.DynamicObjectCollection):BeforePackageDataEvent;
}
interface BeforePackageDataEvent$ {
/**
* 返回列表的数据集合
*
* 插件可修改其中字段值,从而影响列表显示
*
* @return 数据集合
*/
getPageData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 设置数据集合
*
* @param pageData 数据集合
*/
setPageData(pageData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
}
type BeforePackageDataEvent_T = $.java.util.EventObject & BeforePackageDataEvent_S & BeforePackageDataEvent$;
interface BeforePackageDataEvent extends BeforePackageDataEvent_T {
}
interface BizDataEventArgs_S {
}
interface BizDataEventArgs_C extends BizDataEventArgs_S {
new():BizDataEventArgs;
}
interface BizDataEventArgs$ {
/**
* 返回插件传回的数据包
*
* @return 数据包
*/
getDataEntity():any;
/**
* 返回插件是否取消了实体服务规则的执行
*
* @return 默认返回true
*/
getIsExecuteRule():boolean;
/**
* 返回插件是否取消了afterCreateNewData事件的触发
*
* 插件传入整理好的数据之后,通常不需要再触发afterCreateNewData事件,以免在此事件中改动已经整理好的数据包
* 取消了afterCreateNewData事件,同时也不会执行实体服务规则
*
* @return 默认返回true,触发事件
*/
isFireAfterCreateNewData():boolean;
/**
* 设置界面显示的数据包
*
* 插件调用此方法,传入自行构建的界面数据包
*
* @param dataEntity 数据包
*/
setDataEntity(dataEntity:any):void;
/**
* 插件取消后续的afterCreateNewData事件,以及实体服务规则的执行
*
* @param fireAfterCreateNewData 设置为false取消事件触发
*/
setFireAfterCreateNewData(fireAfterCreateNewData:boolean):void;
/**
* 插件取消实体服务规则的执行
*
* 此选项实际未被使用,插件要取消实体服务规则执行,需调用 {@link #setFireAfterCreateNewData(boolean)}}
*
* @param value 设置为false取消实体规则执行
*/
setIsExecuteRule(value:boolean):void;
}
type BizDataEventArgs_T = BizDataEventArgs_S & BizDataEventArgs$;
interface BizDataEventArgs extends BizDataEventArgs_T {
}
interface RegisterPropertyArgs_S {
}
interface RegisterPropertyArgs_C extends RegisterPropertyArgs_S {
new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):RegisterPropertyArgs;
new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.kd.bos.orm.query.QFilter):RegisterPropertyArgs;
new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.java.util.List):RegisterPropertyArgs;
new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.java.util.List,arg2:$.java.util.List):RegisterPropertyArgs;
new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.kd.bos.orm.query.QFilter,arg2:$.kd.bos.orm.query.QFilter,arg3:string):RegisterPropertyArgs;
}
interface RegisterPropertyArgs$ {
getDimensionPropName():string;
getDynamicObjectType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
getIncludeProperties():$.java.util.List;
getIncludePropertiesWithNotCompare():$.java.util.List;
getNotCompareQFilter():$.kd.bos.orm.query.QFilter;
getQFilter():$.kd.bos.orm.query.QFilter;
}
type RegisterPropertyArgs_T = RegisterPropertyArgs_S & RegisterPropertyArgs$;
interface RegisterPropertyArgs extends RegisterPropertyArgs_T {
}
}
namespace kd.bos.entity.devportal{
interface AppFunctionPacketElement_S {
}
interface AppFunctionPacketElement_C extends AppFunctionPacketElement_S {
/**
* 构造函数
*/
new():AppFunctionPacketElement;
}
interface AppFunctionPacketElement$ {
getDescription():$.kd.bos.dataentity.entity.LocaleString;
/**
* 自动生成的唯一标识,永不改变
* @return
*/
getId():string;
getLeaf():string;
/**
* 规则名称,用户输入
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
getNumber():string;
getParentId():string;
getParentName():string;
getSeq():number;
getType():string;
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
setId(id:string):void;
setLeaf(leaf:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNumber(number_arg:string):void;
setParentId(parentId:string):void;
setParentName(parentName:string):void;
setSeq(seq:number):void;
setType(type_arg:string):void;
}
type AppFunctionPacketElement_T = AppFunctionPacketElement_S & AppFunctionPacketElement$;
interface AppFunctionPacketElement extends AppFunctionPacketElement_T {
}
interface AppMenuElement_S {
}
interface AppMenuElement_C extends AppMenuElement_S {
/**
* 构造函数
*/
new():AppMenuElement;
}
interface AppMenuElement$ {
getCaption():$.kd.bos.dataentity.entity.LocaleString;
getCommon():string;
getDescription():$.kd.bos.dataentity.entity.LocaleString;
getDevType():string;
getFormId():string;
getFormName():string;
getFormNumber():string;
getIcon():string;
getIconAct():string;
getIconShortcut():string;
/**
* 自动生成的唯一标识,永不改变
*
* @return
*/
getId():string;
getLinkUrl():string;
getMenuType():string;
/**
* 规则名称,用户输入
*
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
getNumber():string;
getOpenType():string;
getParameter():string;
getParameterType():string;
getParentId():string;
getPermission():string;
getSeq():number;
getSimpleNumber():string;
getVectorImage():string;
getVisible():string;
setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
setCommon(common:string):void;
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
setDevType(devType:string):void;
setFormId(formId:string):void;
setFormName(formName:string):void;
setFormNumber(formNumber:string):void;
setIcon(icon:string):void;
setIconAct(iconAct:string):void;
setIconShortcut(iconShortcut:string):void;
setId(id:string):void;
setLinkUrl(linkUrl:string):void;
setMenuType(menuType:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNumber(number_arg:string):void;
setOpenType(openType:string):void;
setParameter(parameter:string):void;
setParameterType(parameterType:string):void;
setParentId(parentId:string):void;
setPermission(permission:string):void;
setSeq(seq:number):void;
setSimpleNumber(simpleNumber:string):void;
setVectorImage(vectorImage:string):void;
setVisible(visible:string):void;
}
type AppMenuElement_T = AppMenuElement_S & AppMenuElement$;
interface AppMenuElement extends AppMenuElement_T {
}
interface AppElement_S {
}
interface AppElement_C extends AppElement_S {
/**
* 构造函数
*/
new():AppElement;
}
interface AppElement$ {
getAllUserApp():string;
getBackImage():string;
getDbRoute():string;
getDependency():string;
getDependencyID():string;
getDeployStatus():string;
getDescription():$.kd.bos.dataentity.entity.LocaleString;
getHelpURL():string;
getHomeURL():string;
/**
* 自动生成的唯一标识,永不改变
* @return
*/
getId():string;
getImage():string;
getIndustryId():long;
getLabel():string;
getMainFormID():string;
getMainFormName():string;
getMainFormNumber():string;
getMainFormType():string;
/**
* 名称
*
* @return
* @remark: 返回子对象的名称,不需要序列化
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
getNumber():string;
getOpenType():string;
getOrgFunc():string;
getRefAppId():string;
getSeq():number;
getSimpleNumber():string;
getUserType():string;
getVersion():string;
getVisible():string;
setAllUserApp(allUserApp:string):void;
setBackImage(backImage:string):void;
setDbRoute(dbRoute:string):void;
setDependency(dependency:string):void;
setDependencyID(dependencyID:string):void;
setDeployStatus(deployStatus:string):void;
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
setHelpURL(helpURL:string):void;
setHomeURL(homeURL:string):void;
setId(id:string):void;
setImage(image:string):void;
setIndustryId(industryId:long):void;
setLabel(label:string):void;
setMainFormID(mainFormID:string):void;
setMainFormName(mainFormName:string):void;
setMainFormNumber(mainFormNumber:string):void;
setMainFormType(mainFormType:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNumber(number_arg:string):void;
setOpenType(openType:string):void;
setOrgFunc(orgFunc:string):void;
setRefAppId(refAppId:string):void;
setSeq(seq:number):void;
setSimpleNumber(simpleNumber:string):void;
setUserType(userType:string):void;
setVersion(version:string):void;
setVisible(visible:string):void;
}
type AppElement_T = AppElement_S & AppElement$;
interface AppElement extends AppElement_T {
}
}
namespace kd.bos.entity.earlywarn{
interface EarlyWarnContext_S {
}
interface EarlyWarnContext_C extends EarlyWarnContext_S {
new(warnSchedule:kd.bos.entity.earlywarn.warnschedule.WarnSchedule,earlyWarn:kd.bos.entity.earlywarn.warn.EarlyWarnElement,earlyWarnLogId:long):EarlyWarnContext;
}
interface EarlyWarnContext$ {
getCustomConditionData(key:string):any;
getCustomConditionDataMap():$.java.util.Map;
getCustomData(key:string):any;
getCustomDataMap():$.java.util.Map;
getEarlyWarn():kd.bos.entity.earlywarn.warn.EarlyWarnElement;
getEarlyWarnLogId():long;
getPlainWarnData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
getWarnDataList():$.kd.bos.dataentity.entity.DynamicObjectCollection;
getWarnSchedule():kd.bos.entity.earlywarn.warnschedule.WarnSchedule;
putCustomConditionData(key:string,value:any):this;
putCustomData(key:string,value:any):this;
setPlainWarnData(plainWarnData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
setWarnDataList(warnDataList:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
}
type EarlyWarnContext_T = EarlyWarnContext_S & EarlyWarnContext$;
interface EarlyWarnContext extends EarlyWarnContext_T {
}
}
namespace kd.bos.entity.earlywarn.log{
enum WarnScheduleOperationType {
Task,
Manual
}
enum WarnScheduleStatus {
Running,
Success,
Failure
}
}
namespace kd.bos.entity.earlywarn.warn{
enum EarlyWarnDataSourceType {
BILL,
BASEDATA,
REPORT,
CUSTOM
}
interface YzjPublicNumberInfo_S {
}
interface YzjPublicNumberInfo_C extends YzjPublicNumberInfo_S {
new(pubName:string,pubNumber:string,pubId:string,pubAppId:string,pubApiUrl:string,pubAccessUrl:string):YzjPublicNumberInfo;
}
interface YzjPublicNumberInfo$ {
getPubAccessUrl():string;
getPubApiUrl():string;
getPubAppId():string;
getPubId():string;
getPubName():string;
getPubNumber():string;
}
type YzjPublicNumberInfo_T = YzjPublicNumberInfo_S & YzjPublicNumberInfo$;
interface YzjPublicNumberInfo extends YzjPublicNumberInfo_T {
}
interface EarlyWarnConditionCheckResult_S {
readonly CODE_FAILURE:number;
readonly CODE_SUCCESS:number;
failure(message:string):EarlyWarnConditionCheckResult;
success(message:string):EarlyWarnConditionCheckResult;
}
type EarlyWarnConditionCheckResult_ST = $.java.io.Serializable & EarlyWarnConditionCheckResult_S;
interface EarlyWarnConditionCheckResult_C extends EarlyWarnConditionCheckResult_ST {
new():EarlyWarnConditionCheckResult;
new(code:number,message:string):EarlyWarnConditionCheckResult;
}
interface EarlyWarnConditionCheckResult$ {
getCode():number;
getMessage():string;
isSuccess():boolean;
setCode(code:number):void;
setMessage(message:string):void;
}
type EarlyWarnConditionCheckResult_T = $.java.io.Serializable & EarlyWarnConditionCheckResult_S & EarlyWarnConditionCheckResult$;
interface EarlyWarnConditionCheckResult extends EarlyWarnConditionCheckResult_T {
}
interface EarlyWarnElement_S {
}
type EarlyWarnElement_ST = $.java.io.Serializable & EarlyWarnElement_S;
interface EarlyWarnElement_C extends EarlyWarnElement_ST {
new():EarlyWarnElement;
}
interface EarlyWarnElement$ {
getConditionFormId():string;
getCustomReceiver():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnCustomReceiver;
getCustomReceivers():$.java.util.List;
getDataSource():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnDataSource;
getDataSourceId():string;
getDataSourceType():string;
getDataSourceTypeObj():EarlyWarnDataSourceType;
getDataSources():$.java.util.List;
getId():string;
getMessageCompiler():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnMessageCompiler;
getMessageCompilers():$.java.util.List;
getMessageHandler():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnMessageHandler;
getMessageHandlers():$.java.util.List;
getName():$.kd.bos.dataentity.entity.LocaleString;
getNumber():string;
/**
* 获取单选下拉列表中选择的插件进行执行
* @param selectedPlugin 选择的插件
* @return 消息接收人ID
*/
getSelectedCustomReceiver(selectedPlugin:string):kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnCustomReceiver;
getWriteOutPlugIn():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnWriteOut;
getWriteOuts():$.java.util.List;
setConditionFormId(conditionFormId:string):void;
setCustomReceivers(customReceivers:$.java.util.List):void;
setDataSourceId(dataSourceId:string):void;
setDataSourceType(dataSourceType:string):void;
setDataSources(dataSources:$.java.util.List):void;
setId(id:string):void;
setMessageCompilers(messageCompilers:$.java.util.List):void;
setMessageHandlers(messageHandlers:$.java.util.List):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNumber(number_arg:string):void;
setWriteOuts(writeOuts:$.java.util.List):void;
}
type EarlyWarnElement_T = $.java.io.Serializable & EarlyWarnElement_S & EarlyWarnElement$;
interface EarlyWarnElement extends EarlyWarnElement_T {
}
interface EarlyWarnMessageInfo_S {
}
interface EarlyWarnMessageInfo_C extends EarlyWarnMessageInfo_S {
new():EarlyWarnMessageInfo;
}
interface EarlyWarnMessageInfo$ {
getContentUrl():string;
getMobContentUrl():string;
setContentUrl(contentUrl:string):void;
setMobContentUrl(mobContentUrl:string):void;
}
type EarlyWarnMessageInfo_T = EarlyWarnMessageInfo_S & EarlyWarnMessageInfo$;
interface EarlyWarnMessageInfo extends EarlyWarnMessageInfo_T {
}
}
namespace kd.bos.entity.earlywarn.warn.events{
interface CustomReceiversArgs_S {
}
interface CustomReceiversArgs_C extends CustomReceiversArgs_S {
new(groupData:$.kd.bos.dataentity.entity.DynamicObjectCollection,groupField:string):CustomReceiversArgs;
}
interface CustomReceiversArgs$ {
getGroupData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
getGroupField():string;
setGroupData(groupData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
setGroupField(groupField:string):void;
}
type CustomReceiversArgs_T = CustomReceiversArgs_S & CustomReceiversArgs$;
interface CustomReceiversArgs extends CustomReceiversArgs_T {
}
interface MergeMessageArgs_S {
}
interface MergeMessageArgs_C extends MergeMessageArgs_S {
new():MergeMessageArgs;
new(messageContent:kd.bos.entity.earlywarn.warnschedule.MessageContent,contentFields:kd.bos.entity.earlywarn.warnschedule.MessageContentFields,currentData:$.kd.bos.dataentity.entity.DynamicObjectCollection,context:EarlyWarnContext):MergeMessageArgs;
}
interface MergeMessageArgs$ {
getContentFields():kd.bos.entity.earlywarn.warnschedule.MessageContentFields;
getContext():EarlyWarnContext;
getCurrentData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
getMessageContent():kd.bos.entity.earlywarn.warnschedule.MessageContent;
setContentFields(contentFields:kd.bos.entity.earlywarn.warnschedule.MessageContentFields):void;
setContext(context:EarlyWarnContext):void;
setCurrentData(currentData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
setMessageContent(messageContent:kd.bos.entity.earlywarn.warnschedule.MessageContent):void;
}
type MergeMessageArgs_T = MergeMessageArgs_S & MergeMessageArgs$;
interface MergeMessageArgs extends MergeMessageArgs_T {
}
}
namespace kd.bos.entity.earlywarn.warn.plugin{
interface IEarlyWarnCustomReceiver_S {
}
interface IEarlyWarnCustomReceiver$ {
/**
* 获取分组消息接收人
* @param customReceiversArgs 自定义接收人参数
* @return 人员id集合
*/
getGroupMessageReceivers?(customReceiversArgs:kd.bos.entity.earlywarn.warn.events.CustomReceiversArgs):$.java.util.Set;
}
type IEarlyWarnCustomReceiver_T = IEarlyWarnCustomReceiver_S & IEarlyWarnCustomReceiver$;
interface IEarlyWarnCustomReceiver extends IEarlyWarnCustomReceiver_T {
}
interface IEarlyWarnWriteOut_S {
}
interface IEarlyWarnWriteOut$ {
/**
* 用户写出数据
* @param list 过滤之后的数据
* @param context 预警执行上下文
*/
writeOut(list:$.kd.bos.dataentity.entity.DynamicObjectCollection,context:EarlyWarnContext):void;
}
type IEarlyWarnWriteOut_T = IEarlyWarnWriteOut_S & IEarlyWarnWriteOut$;
interface IEarlyWarnWriteOut extends IEarlyWarnWriteOut_T {
}
interface IEarlyWarnDataSource_S {
}
interface IEarlyWarnDataSource$ {
/**
* 构建过滤数据
* @param dataSource 数据源
* @param filterCondition 过滤条件
* @param context 引擎执行上下文
* @return 过滤条件
*/
buildFilter(dataSource:string,filterCondition:$.kd.bos.entity.filter.FilterCondition,context:EarlyWarnContext):$.java.util.List;
/**
* 监控方案通用过滤获取通用过滤条件展示数据
* @param dataSource 数据源
* @return 通用过滤条件,条件格式参照 EntityTypeUtil.getFilterColumns的返回数据
*/
getCommonFilterColumns(dataSource:string):$.java.util.List;
/**
* 获取数据
* @param dataSource 数据源
* @param filters 过滤条件
* @param context 引擎执行上下文
* @return 过滤得到的数据
*/
getData(dataSource:string,filters:$.java.util.List,context:EarlyWarnContext):$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 消息配置页面可选字段树
* @param dataSource 数据源
* @return 根节点
*/
getMergeMessageFieldTree(dataSource:string):$.kd.bos.entity.tree.TreeNode;
/**
* 消息配置页面可选字段树
* @param dataSource 数据源
* @return 根节点
*/
getSingleMessageFieldTree(dataSource:string):$.kd.bos.entity.tree.TreeNode;
}
type IEarlyWarnDataSource_T = IEarlyWarnDataSource_S & IEarlyWarnDataSource$;
interface IEarlyWarnDataSource extends IEarlyWarnDataSource_T {
}
interface IEarlyWarnConditionForm_S {
}
interface IEarlyWarnConditionForm$ {
/**
* 检查自定义表单参数是否有效
* @return 错误信息
*/
checkCustomParams():EarlyWarnConditionCheckResult;
/**
* 获取自定义表单参数
* @return 自定义表单参数
*/
getCustomParams():$.java.util.Map;
}
type IEarlyWarnConditionForm_T = IEarlyWarnConditionForm_S & IEarlyWarnConditionForm$;
interface IEarlyWarnConditionForm extends IEarlyWarnConditionForm_T {
}
interface IEarlyWarnMessageCompiler_S {
}
interface IEarlyWarnMessageCompiler$ {
/**
* 构建分组合并消息多语言配置
* @param muilangContentFieldMap
* @param list
* @param context
* @return
*/
buildGroupMergeMulilangConfig?(muilangContentFieldMap:$.java.util.Map,list:$.kd.bos.dataentity.entity.DynamicObjectCollection,titleFields:$.java.util.List,context:EarlyWarnContext):$.java.util.List;
/**
* 构建合并消息多语言配置
* @param mulilangConfigs
* @param fields
* @param context
* @return
*/
buildMergeMulilangConfig?(mulilangConfigs:$.java.util.List,fields:$.java.util.List,titleFields:$.java.util.List,context:EarlyWarnContext):$.java.util.List;
/**
* 构建单条消息多语言配置
* @param mulilangConfig
* @param fields
* @param data
* @param context
* @return
*/
buildSingleMulilangConfig?(mulilangConfig:kd.bos.designer.earlywarn.utils.MulilangConfig,fields:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):kd.bos.designer.earlywarn.utils.MulilangConfig;
/**
* 构建分组合并消息(新)
* @param mergeMessageArgs 合并消息参数
* @return
*/
getGroupMergeMessage?(mergeMessageArgs:kd.bos.entity.earlywarn.warn.events.MergeMessageArgs):string;
/**
* 构建单条消息邮件发送方式的附件内容
* @param context 预警引擎执行上下文
* @return
*/
getMergeEmailMessageAttachment?(context:EarlyWarnContext):$.kd.bos.workflow.engine.msg.info.MessageAttachment;
/**
* 构建合并消息
* @param expression 表达式
* @param fields 参数列表
* @param context 预警引擎执行上下文
* @return 转换后合并消息
*/
getMergeMessage(expression:string,fields:$.java.util.List,context:EarlyWarnContext):string;
/**
* 构建合并消息的标题
* @param expression 表达式
* @param fields 参数列表
* @param dataList 数据
* @param context 预警引擎执行上下文
* @return
*/
getMergeTitle?(expression:string,fields:$.java.util.List,dataList:$.kd.bos.dataentity.entity.DynamicObjectCollection,context:EarlyWarnContext):string;
/**
* 构建单条消息邮件发送方式的附件内容
* @param data 数据
* @param context 预警引擎执行上下文
* @return
*/
getSingleEmailMessageAttachment?(data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):$.kd.bos.workflow.engine.msg.info.MessageAttachment;
/**
* 构建单个消息
* @param expression 表达式
* @param fields 参数列表
* @param data 数据
* @param context 预警引擎执行上下文
* @return 转换后的消息
*/
getSingleMessage(expression:string,fields:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):string;
/**
* 构建单条消息的标题
* @param expression 表达式
* @param fields 参数列表
* @param data 数据
* @param context 预警引擎执行上下文
* @return 转换后的消息
*/
getSingleTitle?(expression:string,fields:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):string;
/**
* 是否存在多语言配置
* @param context
* @param mulilangConfigTemplates
* @return
*/
isExistMulilangConfig?(context:EarlyWarnContext,mulilangConfigTemplates:$.java.util.List):boolean;
}
type IEarlyWarnMessageCompiler_T = IEarlyWarnMessageCompiler_S & IEarlyWarnMessageCompiler$;
interface IEarlyWarnMessageCompiler extends IEarlyWarnMessageCompiler_T {
}
interface IEarlyWarnMessageHandler_S {
}
interface IEarlyWarnMessageHandler$ {
/**
* 获取云之家消息渠道发送消息的公众号
* @param publicNumberInfos 云之家消息渠道所有公众号信息
* @return 云之家消息渠道发送消息的公众号信息
*/
getYZJMessagePublicNumber?(publicNumberInfos:$.java.util.List):YzjPublicNumberInfo;
/**
* 构建单个消息移动端处理链接
* @param context 预警引擎执行上下文
* @return 转换后的消息
*/
mergeMessageBuilder(context:EarlyWarnContext):EarlyWarnMessageInfo;
/**
* 构建单条消息PC端处理链接
* @param data 数据
* @param context 预警引擎执行上下文
* @return 转换后的消息
*/
singleMessageBuilder(data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):EarlyWarnMessageInfo;
}
type IEarlyWarnMessageHandler_T = IEarlyWarnMessageHandler_S & IEarlyWarnMessageHandler$;
interface IEarlyWarnMessageHandler extends IEarlyWarnMessageHandler_T {
}
}
namespace kd.bos.entity.earlywarn.warnschedule{
interface MessageContent_S {
}
type MessageContent_ST = $.java.io.Serializable & MessageContent_S;
interface MessageContent_C extends MessageContent_ST {
new():MessageContent;
new(messageHead:string):MessageContent;
}
interface MessageContent$ {
getMessageEnd():string;
getMessageHead():string;
getTableColumns():$.java.util.List;
setMessageEnd(messageEnd:string):void;
setMessageHead(messageHead:string):void;
setTableColumns(tableColumns:$.java.util.List):void;
}
type MessageContent_T = $.java.io.Serializable & MessageContent_S & MessageContent$;
interface MessageContent extends MessageContent_T {
}
interface WarnMessageConfig_S {
}
type WarnMessageConfig_ST = $.java.io.Serializable & WarnMessageConfig_S;
interface WarnMessageConfig_C extends WarnMessageConfig_ST {
new():WarnMessageConfig;
}
interface WarnMessageConfig$ {
getGroupField():string;
getMergeContent():string;
getMergeMessageContent():MessageContent;
getMulilangConfigs():$.java.util.List;
getReceiverTypes():$.java.util.List;
getSendTypeNumbers():string;
getSendTypes():$.java.util.List;
getSingleContent():string;
getTitle():string;
isMergeSendMessage():boolean;
isQuickProcessing():boolean;
setGroupField(groupField:string):void;
setMergeContent(mergeContent:string):void;
setMergeMessageContent(mergeMessageContent:MessageContent):void;
setMergeSendMessage(mergeSendMessage:boolean):void;
setMulilangConfigs(mulilangConfigs:$.java.util.List):void;
setQuickProcessing(quickProcessing:boolean):void;
setReceiverTypes(receiverTypes:$.java.util.List):void;
setSendTypes(sendTypes:$.java.util.List):void;
setSingleContent(singleContent:string):void;
setTitle(title:string):void;
}
type WarnMessageConfig_T = $.java.io.Serializable & WarnMessageConfig_S & WarnMessageConfig$;
interface WarnMessageConfig extends WarnMessageConfig_T {
}
interface FormulaCondition_S {
}
interface FormulaCondition_C extends FormulaCondition_S {
new():FormulaCondition;
}
interface FormulaCondition$ {
getDescription():string;
getExpression():string;
getTranslation():string;
setDescription(description:string):void;
setExpression(expression:string):void;
setTranslation(translation:string):void;
}
type FormulaCondition_T = FormulaCondition_S & FormulaCondition$;
interface FormulaCondition extends FormulaCondition_T {
}
interface RunCycle_S {
}
type RunCycle_ST = $.java.io.Serializable & RunCycle_S;
interface RunCycle_C extends RunCycle_ST {
new():RunCycle;
}
interface RunCycle$ {
getCronExpr():string;
getCronExpression():string;
getDescription():$.kd.bos.dataentity.entity.LocaleString;
getEndDate():string;
getEndDateObj():Date;
getExecuteType():string;
getMonitorFrequency():string;
getMonitorPeriodRange():string;
getPeriod():number;
getPeriodType():string;
getPeriodValues():$.java.util.List;
getRangeType():string;
getRunCycleRangeType():kd.bos.entity.earlywarn.warnschedule.runcycle.RunCycleRangeType;
getRunTime():number;
getRunTimeStr():string;
getStartDate():string;
getStartDateObj():Date;
getWhichNumber():string;
setCronExpr(cronExpr:string):void;
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
setEndDate(endDate:string):void;
setExecuteType(executeType:string):void;
setPeriod(period:number):void;
setPeriodType(periodType:string):void;
setPeriodValues(periodValues:$.java.util.List):void;
setRangeType(rangeType:string):void;
setRunTime(runTime:number):void;
setStartDate(startDate:string):void;
setWhichNumber(whichNumber:string):void;
}
type RunCycle_T = $.java.io.Serializable & RunCycle_S & RunCycle$;
interface RunCycle extends RunCycle_T {
}
interface MessageContentFields_S {
}
interface MessageContentFields_C extends MessageContentFields_S {
new():MessageContentFields;
}
interface MessageContentFields$ {
addMessageEndField(field:string):void;
addMessageHeadField(field:string):void;
addMessageTableField(field:string):void;
getMessageEndFields():$.java.util.List;
getMessageHeadFields():$.java.util.List;
getMessageTableFields():$.java.util.List;
setMessageEndFields(messageEndFields:$.java.util.List):void;
setMessageHeadFields(messageHeadFields:$.java.util.List):void;
setMessageTableFields(messageTableFields:$.java.util.List):void;
}
type MessageContentFields_T = MessageContentFields_S & MessageContentFields$;
interface MessageContentFields extends MessageContentFields_T {
}
interface WarnCondition_S {
}
type WarnCondition_ST = $.java.io.Serializable & WarnCondition_S;
interface WarnCondition_C extends WarnCondition_ST {
new():WarnCondition;
}
interface WarnCondition$ {
getCustomDataJson():string;
getCustomDataMap():$.java.util.Map;
getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
getFormulaCondition():FormulaCondition;
setCustomDataJson(customDataJson:string):void;
setFilterCondition(filterCondition:$.kd.bos.entity.filter.FilterCondition):void;
setFormulaCondition(formulaCondition:FormulaCondition):void;
}
type WarnCondition_T = $.java.io.Serializable & WarnCondition_S & WarnCondition$;
interface WarnCondition extends WarnCondition_T {
}
interface WarnSchedule_S {
}
type WarnSchedule_ST = $.java.io.Serializable & WarnSchedule_S;
interface WarnSchedule_C extends WarnSchedule_ST {
new():WarnSchedule;
}
interface WarnSchedule$ {
/**
* 应用id
* @return
*/
getBizAppId():string;
/**
* 业务预警对象id
* @return
*/
getEarlyWarnId():string;
/**
* 唯一标识
* @return
*/
getId():string;
/**
* 调度中心id
* @return
*/
getJobId():string;
/**
* 上次同步任务调度中心时间
* @return
*/
getLastSyncTime():Date;
/**
* 监控消息配置
* @return
*/
getMessageConfig():WarnMessageConfig;
/**
* 名称
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 编码
* @return
*/
getNumber():string;
/**
* 调度计划Id
* @return
*/
getPlanId():string;
/**
* 监控周期
* @return
*/
getRunCycle():RunCycle;
/**
* 监控条件
* @return
*/
getWarnCondition():WarnCondition;
/**
* 按条件发送分录
* @return
*/
isByEntry():boolean;
/**
* 禁止校验数据完整性
* @return
*/
isDisableIntegrity():boolean;
/**
* 是否启用
* @return
*/
isEnable():boolean;
setBizAppId(bizAppId:string):void;
setByEntry(byEntry:boolean):void;
setDisableIntegrity(disableIntegrity:boolean):void;
setEarlyWarnId(earlyWarnId:string):void;
setEnable(enable:boolean):void;
setId(id:string):void;
setJobId(jobId:string):void;
setLastSyncTime(lastSyncTime:Date):void;
setMessageConfig(messageConfig:WarnMessageConfig):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNumber(number_arg:string):void;
setPlanId(planId:string):void;
setRunCycle(runCycle:RunCycle):void;
setWarnCondition(warnCondition:WarnCondition):void;
}
type WarnSchedule_T = $.java.io.Serializable & WarnSchedule_S & WarnSchedule$;
interface WarnSchedule extends WarnSchedule_T {
}
}
namespace kd.bos.entity.earlywarn.warnschedule.messageconfig{
interface WarnMessageReceiver_S {
}
type WarnMessageReceiver_ST = $.java.io.Serializable & WarnMessageReceiver_S;
interface WarnMessageReceiver_C extends WarnMessageReceiver_ST {
new():WarnMessageReceiver;
}
interface WarnMessageReceiver$ {
/**
* 所属数据源
* @return
*/
getDataSource():string;
/**
* 字段
* @return
*/
getField():string;
/**
* 字段名称
* @return
*/
getFieldName():string;
/**
* 主键
* @return
*/
getId():string;
/**
* 显示名称
* @return
*/
getName():string;
/**
* 接收人类型
* @return
*/
getReceiverType():string;
/**
* 接收人类型对象
* @return
*/
getReceiverTypeObj():WarnMessageReceiverTypeEnum;
/**
* 关系接
* @return
*/
getRelation():string;
/**
* 关系名称
* @return
*/
getRelationName():string;
/**
* 关系类型(部门:包含下级、不包含下级;变量:RelationReceiverTypeEnum)
* @return
*/
getRelationshipType():string;
/**
* 范围
* @return
*/
getScope():string;
setDataSource(dataSource:string):void;
setField(field:string):void;
setFieldName(fieldName:string):void;
setId(id:string):void;
setName(name:string):void;
setReceiverType(receiverType:string):void;
setRelation(relation:string):void;
setRelationName(relationName:string):void;
setRelationshipType(relationshipType:string):void;
setScope(scope:string):void;
}
type WarnMessageReceiver_T = $.java.io.Serializable & WarnMessageReceiver_S & WarnMessageReceiver$;
interface WarnMessageReceiver extends WarnMessageReceiver_T {
}
enum WarnMessageReceiverTypeEnum {
User,
ExternalPerson,
Role,
Org,
RelationPerson,
CustomReceiver
}
}
namespace kd.bos.entity.earlywarn.warnschedule.runcycle{
enum RunCycleRangeType {
DateRange,
FromStartDate
}
}
namespace kd.bos.entity.filter{
interface FilterCondition_S {
}
interface FilterCondition_C extends FilterCondition_S {
new():FilterCondition;
}
interface FilterCondition$ {
/**
* 添加过滤元数据
* @param simpleFilterRow 过滤元数据
*/
addFilterRow(simpleFilterRow:SimpleFilterRow):void;
/**
* 将过滤元数据转为ListMap
* @return 元数据转化后的ListMap
*/
createMetaData():$.java.util.List;
/**
* 获取解析过后的过滤表达式
* @return 解析过后的过滤表达式
*/
getFilter():string;
/**
* 获取元数据行信息
* @return 元数据行信息
*/
getFilterRow():$.java.util.List;
/**
* 获取是否应用到列表
*
* @return 是否应用到列表
*/
isForList():boolean;
/**
* 设置过滤表达式
* @param filter 过滤表达式
*/
setFilter(filter:string):void;
/**
* 设置元数据行信息
* @param filterRow 元数据行信息
*/
setFilterRow(filterRow:$.java.util.List):void;
/**
* 设置是否应用到列表
*
* @param forList 是否应用到列表
*/
setForList(forList:boolean):void;
}
type FilterCondition_T = FilterCondition_S & FilterCondition$;
interface FilterCondition extends FilterCondition_T {
}
interface SimpleFilterRow_S {
}
type SimpleFilterRow_ST = $.java.lang.Cloneable & SimpleFilterRow_S;
interface SimpleFilterRow_C extends SimpleFilterRow_ST {
/**
* 构造函数
*/
new():SimpleFilterRow;
/**
* 构造函数
*
* @param leftBracket
* 左括号
* @param compareType
* 比较符
* @param fieldName
* 字段名
* @param rightBracket
* 右括号
* @param logic
* 比较符
* @param value
* 值
*/
new(leftBracket:string,compareType:string,fieldName:string,rightBracket:string,logic:string,value:$.java.util.List):SimpleFilterRow;
new(id:string,leftBracket:string,compareType:string,fieldName:string,rightBracket:string,logic:string,value:$.java.util.List):SimpleFilterRow;
}
interface SimpleFilterRow$ {
clone():this;
/**
* 获取基础资料字段的id集合
*
* @return 基础资料字段的id集合
*/
getBaseDataIds():$.java.util.List;
/**
* 获取比较符
*
* @return 比较符
*/
getCompareType():string;
/**
* 获取比较符描述
*
* @return 比较符描述
*/
getCompareTypeDesc():string;
/**
* 获取实体编码
*
* @return 实体编码
*/
getEntityNumber():string;
/**
* 获取字段名
*
* @return 字段名
*/
getFieldName():string;
/**
* 获取PK
*
* @return pk
*/
getId():string;
/**
* 获取左括号
*
* @return 左括号
*/
getLeftBracket():string;
/**
* 获取逻辑比较符
*
* @return 逻辑比较符
*/
getLogic():string;
/**
* 获取右括号
*
* @return 右括号
*/
getRightBracket():string;
/**
* 获取过滤值集合
*
* @return 过滤值集合
*/
getValue():$.java.util.List;
isLock():boolean;
/**
* 设置基础资料的id集合
*
* @param baseDataIds 基础资料字段的id集合
*/
setBaseDataIds(baseDataIds:$.java.util.List):void;
/**
* 设置比较符
*
* @param compareType 比较符
*/
setCompareType(compareType:string):void;
/**
* 设置比较符描述
*
* @param compareTypeDesc 比较符描述
*/
setCompareTypeDesc(compareTypeDesc:string):void;
/**
* 设置实体编码
*
* @param entityNumber 实体编码
*/
setEntityNumber(entityNumber:string):void;
/**
* 设置字段名
*
* @param fieldName 字段名
*/
setFieldName(fieldName:string):void;
/**
* 设置PK
*
* @param value pk
*/
setId(value:string):void;
/**
* 设置左括号
*
* @param leftBracket 左括号
*/
setLeftBracket(leftBracket:string):void;
setLock(lock:boolean):void;
/**
* 设置逻辑比较符
*
* @param logic 逻辑比较符
*/
setLogic(logic:string):void;
/**
* 设置右括号
*
* @param rightBracket 右括号
*/
setRightBracket(rightBracket:string):void;
/**
* 设置过滤值集合
*
* @param value 过滤值集合
*/
setValue(value:$.java.util.List):void;
}
type SimpleFilterRow_T = $.java.lang.Cloneable & SimpleFilterRow_S & SimpleFilterRow$;
interface SimpleFilterRow extends SimpleFilterRow_T {
}
interface FilterValue_S {
}
interface FilterValue_C extends FilterValue_S {
/**
* 获取过滤值
*/
new():FilterValue;
}
interface FilterValue$ {
/**
* 获取主键,元数据差量化使用
*
* @return 主键
*/
getId():string;
/**
* 获取过滤值,一般是一个数组
*
* @return 过滤值
*/
getValue():any;
/**
* 设置主键
*
* @param id 主键
*/
setId(id:string):void;
/**
* 设置过滤值
*
* @param value 过滤值
*/
setValue(value:any):void;
}
type FilterValue_T = FilterValue_S & FilterValue$;
interface FilterValue extends FilterValue_T {
}
interface CompareTypeValue_S {
}
type CompareTypeValue_ST = $.java.lang.Cloneable & $.java.io.Serializable & CompareTypeValue_S;
interface CompareTypeValue_C extends CompareTypeValue_ST {
/**
* 构造函数
* @param fieldName
* @param compareTypeId
* @param value
*/
new(fieldName:string,compareTypeId:CompareTypeEnum,value:any):CompareTypeValue;
}
interface CompareTypeValue$ {
/**
* 字段比较符
* @return
*/
getCompareTypeId():CompareTypeEnum;
/**
* 字段比较名
* @return
*/
getFieldName():string;
/**
* 字段比较值
* @return
*/
getValue():any;
setCompareTypeId(compareTypeId:CompareTypeEnum):void;
setFieldName(fieldName:string):void;
setValue(value:any):void;
}
type CompareTypeValue_T = $.java.io.Serializable & $.java.lang.Cloneable & CompareTypeValue_S & CompareTypeValue$;
interface CompareTypeValue extends CompareTypeValue_T {
}
interface OrderByParameter_S {
}
interface OrderByParameter_C extends OrderByParameter_S {
new():OrderByParameter;
}
interface OrderByParameter$ {
addOrderByField(orderByField:OrderByField):void;
getOrderByFields():$.java.util.List;
}
type OrderByParameter_T = OrderByParameter_S & OrderByParameter$;
interface OrderByParameter extends OrderByParameter_T {
}
interface ControlFilters_S {
}
interface ControlFilters_C extends ControlFilters_S {
}
interface ControlFilters$ {
/**
* 获取二次过滤条件
*
* @return
*/
getAndFilter():$.java.util.List;
getCurrentControlFilter():ControlFilter;
/**
* 获取快速搜素过滤值
*
* @param fieldName
* @return
*/
getFastFilter(fieldName:string):$.java.util.List;
getFiltersListMap():$.java.util.Map;
/**
* 快速搜索内容
*
* @return
*/
getSearchText():string;
/**
* 设置二次过滤条件
*
* @param andFilter
*/
setAndFilter(andFilter:$.java.util.List):void;
}
type ControlFilters_T = ControlFilters_S & ControlFilters$;
interface ControlFilters extends ControlFilters_T {
}
interface F7FilterParam_S {
}
interface F7FilterParam_C extends F7FilterParam_S {
new():F7FilterParam;
new(entityId:string,isShowUsed:boolean,isEnable:boolean,isContainMainOrg:boolean,isNoLimit:boolean,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService):F7FilterParam;
}
interface F7FilterParam$ {
getEntityId():string;
getEntityType():BasedataEntityType;
getMainOrgFilter():$.kd.bos.orm.query.QFilter;
getTimeService():$.kd.bos.service.ITimeService;
getUserService():kd.bos.service.IUserService;
isContainMainOrg():boolean;
isEnable():boolean;
isNoLimit():boolean;
isShowUsed():boolean;
setContainMainOrg(isContainMainOrg:boolean):void;
setEnable(isEnable:boolean):void;
setEntityId(entityId:string):void;
setEntityType(entityType:BasedataEntityType):void;
setMainOrgFilter(mainOrgFilter:$.kd.bos.orm.query.QFilter):void;
setNoLimit(isNoLimit:boolean):void;
setShowUsed(isShowUsed:boolean):void;
setTimeService(timeService:$.kd.bos.service.ITimeService):void;
setUserService(userService:kd.bos.service.IUserService):void;
}
type F7FilterParam_T = F7FilterParam_S & F7FilterParam$;
interface F7FilterParam extends F7FilterParam_T {
}
interface GetMainOrgIdsParameter_S {
}
interface GetMainOrgIdsParameter_C extends GetMainOrgIdsParameter_S {
/**
* 构造函数
*
* @param bdProp 字段属性
* @param entityTypeId 实体类型Id
* @param appId 应用Id
* @param qFilter 过滤条件
* @param selectFields 查询字段值
* @param orderBy 过滤排序
* @param top 取前多少个值
* @param permissionItem 权限项目 {@link PermItemConst}
*/
new(bdProp:kd.bos.entity.property.IBasedataField,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,selectFields:string,orderBy:string,top:number,permissionItem:string):GetMainOrgIdsParameter;
/**
* 构造函数
*
* @param bdProp 字段属性
* @param entityTypeId 实体类型Id
* @param appId 应用Id
* @param qFilter 过滤条件
* @param selectFields 查询字段值
* @param orderBy 过滤排序
* @param start 起始条数
* @param top 取前多少个值
* @param permissionItem 权限项目 {@link PermItemConst}
*/
new(bdProp:kd.bos.entity.property.IBasedataField,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,selectFields:string,orderBy:string,start:number,top:number,permissionItem:string):GetMainOrgIdsParameter;
}
interface GetMainOrgIdsParameter$ {
/**
* 获取应用Id
*
* @return 应用Id
*/
getAppId():string;
/**
* 输入的基础资料属性
*
* @return
*/
getBdProp():kd.bos.entity.property.IBasedataField;
/**
* 实体类型Id
*
* @return
*/
getEntityTypeId():string;
getOrderBy():string;
getPermissionItem():string;
/**
* 获取查询字段
*
* @return 查询字段
*/
getSelectFields():string;
getStart():number;
getTop():number;
/**
* 获取过滤条件
*
* @return 过滤条件
*/
getqFilter():$.kd.bos.orm.query.QFilter;
}
type GetMainOrgIdsParameter_T = GetMainOrgIdsParameter_S & GetMainOrgIdsParameter$;
interface GetMainOrgIdsParameter extends GetMainOrgIdsParameter_T {
}
interface IFilterValueSetter_S {
}
interface IFilterValueSetter$ {
getBaseDataFieldIds(simpleFilterRow:$.kd.bos.entity.filter.SimpleFilterRow):$.java.util.List;
/**
* 将过滤行元数据解析为过滤值列表
*
* @param simpleFilterRow
* @return
*/
getFieldValue(simpleFilterRow:$.kd.bos.entity.filter.SimpleFilterRow):$.java.util.List;
}
type IFilterValueSetter_T = IFilterValueSetter_S & IFilterValueSetter$;
interface IFilterValueSetter extends IFilterValueSetter_T {
}
interface FilterScriptBuilder_S {
/**
* 是否为数值型字段
*
* @param fieldType
* @return
*/
isNumberField(fieldType:number):boolean;
/**
* 是否为字符型字段
* @param fieldType
* @return
*/
isStringField(fieldType:number):boolean;
}
interface FilterScriptBuilder_C extends FilterScriptBuilder_S {
/**
* 构造函数
*/
new():FilterScriptBuilder;
}
interface FilterScriptBuilder$ {
/**
* 构建过滤对象的SQL
*
* @param filterObj
* @return 数组, return[0] = 执行脚本;return[1] = 脚本描述
*/
buildFilterScript(filterObj:FilterObject):string[];
/**
* 依赖的数据服务
* @param timeService
*/
setTimeService(timeService:$.kd.bos.service.ITimeService):void;
/**
* 依赖的数据服务
* @param userService
*/
setUserService(userService:kd.bos.service.IUserService):void;
}
type FilterScriptBuilder_T = FilterScriptBuilder_S & FilterScriptBuilder$;
interface FilterScriptBuilder extends FilterScriptBuilder_T {
}
interface CompareType_S {
createContant(id:string,name:$.kd.bos.dataentity.entity.LocaleString,contantClass:string,isNeedInput:boolean,compareInputType:CompareInputType):CompareType;
}
type CompareType_ST = $.java.lang.Cloneable & $.java.io.Serializable & CompareType_S;
interface CompareType_C extends CompareType_ST {
/**
* 构造函数
*/
new():CompareType;
new(compareType:CompareType):CompareType;
}
interface CompareType$ {
getClassName():string;
getGroupId():number;
getId():string;
/**
* 比较值录入控件类型,枚举值:-1 = 无需录入, 0 = 手工书写;其他类型已经废弃( 1 = 下拉选择, 2 = ?)
*
* @return
*/
getInputCtlType():number;
getName():$.kd.bos.dataentity.entity.LocaleString;
getOperate():string;
getValue():string;
/**
* @return 是不是介于比较符
*/
isBetween():boolean;
isFieldCompare():boolean;
isMulti():boolean;
isNeedInput():boolean;
isNumber():boolean;
isVisible():boolean;
setBetween(isBetween:boolean):void;
setClassName(className:string):void;
setFieldCompare(isFieldCompare:boolean):void;
setGroupId(groupId:number):void;
setId(id:string):void;
setInputCtlType(inputCtlType:number):void;
setMulti(isMulti:boolean):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNeedInput(isNeedInput:boolean):void;
setNumber(isNumber:boolean):void;
setOperate(operate:string):void;
setValue(value:string):void;
setVisible(isVisible:boolean):void;
}
type CompareType_T = $.java.io.Serializable & $.java.lang.Cloneable & CompareType_S & CompareType$;
interface CompareType extends CompareType_T {
}
interface FilterKeyValueCollections_S {
}
interface FilterKeyValueCollections_C extends FilterKeyValueCollections_S {
/**
* 构造函数
*/
new():FilterKeyValueCollections;
/**
* 构造函数
*
* @param filterKey
* 字段名
* @param filterList
* 字段过滤元数据集合
*/
new(filterKey:string,filterList:$.java.util.List):FilterKeyValueCollections;
}
interface FilterKeyValueCollections$ {
/**
* 过滤字段名
*
* @return
*/
getFilterKey():string;
/**
* 获取字段过滤元数据集合
*
* @return
*/
getFilterValueCollection():$.java.util.List;
}
type FilterKeyValueCollections_T = FilterKeyValueCollections_S & FilterKeyValueCollections$;
interface FilterKeyValueCollections extends FilterKeyValueCollections_T {
}
interface SortField_S {
}
interface SortField_C extends SortField_S {
new():SortField;
new(caption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string):SortField;
}
interface SortField$ {
getCaption():$.kd.bos.dataentity.entity.LocaleString;
getEntityCaption():$.kd.bos.dataentity.entity.LocaleString;
getEntityKey():string;
getFieldName():string;
getKey():string;
getSeq():number;
getSubFieldSeq():number;
setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
setEntityCaption(entityCaption:$.kd.bos.dataentity.entity.LocaleString):void;
setEntityKey(entityKey:string):void;
setFieldName(fieldName:string):void;
setKey(key:string):void;
setSeq(seq:number):void;
setSubFieldSeq(subFieldSeq:number):void;
}
type SortField_T = SortField_S & SortField$;
interface SortField extends SortField_T {
}
interface FilterRow_S {
}
interface FilterRow_C extends FilterRow_S {
/**
* 构造函数
*
* @param dataType
* 实体对象类型
* @param filterObject
* 实体元数据缓存类
* @param fieldField
* 过滤字段解析类
* @param leftBracket
* 左括号
* @param compareType
* 过滤比较符对象
* @param valueList
* 过滤值
* @param rightBracket
* 右括号
* @param logic
* 逻辑比较符
*/
new(dataType:MainEntityType,filterObject:FilterObject,fieldField:FilterField,leftBracket:string,compareType:CompareType,valueList:$.java.util.List,rightBracket:string,logic:LogicOperate):FilterRow;
}
interface FilterRow$ {
/**
* @return 比较符
*/
getCompareType():CompareType;
/**
* @return 实体
*/
getDataType():MainEntityType;
/**
* @return 过滤字段
*/
getFilterField():FilterField;
getFilterResult():FilterResult;
/**
* @return 左括号
*/
getLeftBracket():string;
/**
* @return 逻辑处理:And,Or
*/
getLogic():LogicOperate;
/**
* 获取ORM使用的完整字段名(带单据体标识)
*
* @return
*/
getORMFieldName():string;
/**
* @return 右括号
*/
getRightBracket():string;
/**
* @return 行索引
*/
getRowIndex():number;
/**
* @return 过滤值
*/
getValue():$.java.util.List;
isInt(value:string,bThrowErr:boolean):boolean;
/**
* @param compareType
* 比较符
*/
setCompareType(compareType:CompareType):void;
/**
* @param dataType
* 实体
*/
setDataType(dataType:MainEntityType):void;
/**
* @param fieldField
* 过滤字段
*/
setFilterField(fieldField:FilterField):void;
/**
* @param leftBracket
* 左括号
*/
setLeftBracket(leftBracket:string):void;
/**
* @param logic
* 逻辑处理:And,Or
*/
setLogic(logic:LogicOperate):void;
setNeedParse(isNeedParse:boolean):void;
/**
* @param rightBracket
* 右括号
*/
setRightBracket(rightBracket:string):void;
/**
* @param valueList
* 过滤值集合
*/
setValue(valueList:$.java.util.List):void;
}
type FilterRow_T = FilterRow_S & FilterRow$;
interface FilterRow extends FilterRow_T {
}
interface PermissionFilterUtil_S {
buildPermOrgFilter(dataType:MainEntityType,isContainMainOrg:boolean,isNoLimit:boolean,formId:string):$.kd.bos.orm.query.QFilter;
buildPermOrgFilter(dataType:MainEntityType,isContainMainOrg:boolean,isNoLimit:boolean,formId:string,appId:string):$.kd.bos.orm.query.QFilter;
/**
* 根据有权限组织对单据列表数据进行过滤(取所有的)
*
* @param bdProp 实体属性
* @param entityTypeId 实体标识
* @return 组织过滤条件
*/
getAllPermOrgFilter(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string):$.kd.bos.orm.query.QFilter;
/**
* 根据有权限组织对单据列表数据进行过滤(取所有的)
*
* @param bdProp 实体属性
* @param entityTypeId 实体标识
* @param appId 应用id
* @return 组织过滤条件
*/
getAllPermOrgFilter(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string):$.kd.bos.orm.query.QFilter;
/**
* 获取已审核过滤条件
*
* @param type 是否F7
* @return 已审核过滤条件
*/
getApprovedFilter(type_arg:EntityType):$.kd.bos.orm.query.QFilter;
getDefaultMainOrgId(mainOrgIds:$.java.util.List):long;
/**
* 获取有权限列表过滤条件
*
* @param mainEntityType 单据实体
* @param isIsolationOrg 是否隔离组织
* @param appId 应用Id
* @param timeService 时间服务
* @param userService 用户服务
* @return List
*/
getListPermissionFilters(mainEntityType:MainEntityType,isIsolationOrg:boolean,appId:string,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService):$.java.util.List;
/**
* 获取列表上和权限相关的过滤条件
*
* @param mainEntityType 单据实体
* @param isIsolationOrg 是否隔离组织
* @param appId 应用Id
* @param timeService 时间服务
* @param userService 用户服务
* @param orgId 组织id 这个用于当前表单是受控基础资料时,传当前选中的使用组织(useorg,虚组织),如果不传,默认取当前用户登录的组织
* @return List
*/
getListPermissionFilters(mainEntityType:MainEntityType,isIsolationOrg:boolean,appId:string,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService,orgId:long):$.java.util.List;
/**
* 获取主业务组织基础资料过滤条件(用于组织控件F7过滤)
*
* @param bdProp 实体属性
* @param entityTypeId 实体标识
* @return 主业务组织基础资料过滤条件
*/
getMainOrgFilter(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string):$.kd.bos.orm.query.QFilter;
/**
* 获取主业务组织基础资料过滤条件(用于组织控件F7过滤)
*
* @param bdProp 实体属性
* 实体标识
* @return 主业务组织基础资料过滤条件
*/
getMainOrgFilter(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string):$.kd.bos.orm.query.QFilter;
/**
* 获取主业务组织基础资料过滤条件(用于组织控件F7过滤)
*
* @param bdProp 实体标识
* @return 主业务组织基础资料过滤条件
*/
getMainOrgFilter(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,orderBy:string,top:number,permissionItem:string):$.kd.bos.orm.query.QFilter;
/**
* 获取主业务组织基础资料过滤条件(用于组织控件F7过滤)
*
* @param bdProp 实体属性
* 实体标识
* @return 主业务组织基础资料过滤条件
*/
getMainOrgFilter(bdProp:kd.bos.entity.property.IBasedataField,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,orderBy:string,top:number,permissionItem:string):$.kd.bos.orm.query.QFilter;
/**
* 获取默认主业务组织
*
* @param parameterObject 实体标识
* @return DynamicObjectCollection
*/
getMainOrgIds(parameterObject:GetMainOrgIdsParameter):$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 获取默认主业务组织
*
* @param bdProp 实体属性
* 实体标识
* @return List
*/
getMainOrgIds(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string):$.java.util.List;
getMainOrgIds(dataType:MainEntityType,entityTypeId:string):$.java.util.List;
/**
* 获取默认主业务组织
*
* @param bdProp 实体属性
* 实体标识
* @return List
*/
getMainOrgIds(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string):$.java.util.List;
getMainOrgIds(dataType:MainEntityType,entityTypeId:string,appId:string):$.java.util.List;
getMainOrgIds(dataType:MainEntityType,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,orderBy:string,top:number):$.java.util.List;
/**
* 获取默认主业务组织
*
* @param bdProp 实体属性
* 实体标识
* @return DynamicObjectCollection
*/
getMainOrgIds(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,selectFields:string,orderBy:string,top:number):$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 获取默认主业务组织
*
* @param bdProp 实体属性
* 实体标识
* @return List
*/
getMainOrgIds(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,orderBy:string,top:number,permissionItem:string):$.java.util.List;
/**
* 获取默认主业务组织
*
* @param bdProp 实体属性
* 实体标识
* @return DynamicObjectCollection
* @deprecated Use {@link #getMainOrgIds(GetMainOrgIdsParameter)} instead
*/
getMainOrgIds(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,selectFields:string,orderBy:string,top:number,permissionItem:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
getMainOrgProp(dataType:MainEntityType):kd.bos.entity.property.MainOrgProp;
/**
* 获取主业务组织基础资料过滤条件(用于组织控件F7过滤)
*
* @param basedataProp 实体属性
* @return 主业务组织基础资料过滤条件
*/
getOrgFilter(basedataProp:kd.bos.entity.property.BasedataProp):$.kd.bos.orm.query.QFilter;
/**
* 获取主业务组织基础资料过滤条件(用于组织控件F7过滤)
*
* @param basedataProp 实体属性
* @return 主业务组织基础资料过滤条件
*/
getOrgFilter(basedataProp:kd.bos.entity.property.BasedataProp,appId:string):$.kd.bos.orm.query.QFilter;
/**
* 获取默认组织过滤条件
*
* @param bdProp 实体属性
* @param entityTypeId 实体标识
* @return QFilter
*/
getPermOrgFilter(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string):$.kd.bos.orm.query.QFilter;
/**
* 获取默认组织过滤条件
*
* @param bdProp 实体属性
* @param entityTypeId 实体标识
* @return QFilter
*/
getPermOrgFilter(bdProp:kd.bos.entity.property.BasedataProp,entityTypeId:string,appId:string):$.kd.bos.orm.query.QFilter;
/**
* @param entityNmber 实体编码
* @param operateKey 操作key
* @param timeService time
* @param userService 用户
* @return List
* @deprecated 获取操作的特殊数据权限过滤条件
*/
getSpecialDataPermFilter(appId:string,entityNmber:string,operateKey:string,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService):$.java.util.List;
/**
* @param entityNmber 实体编码
* @param operateKey 操作类型
* @return List
* @deprecated 获取操作的特殊数据权限过滤条件
*/
getSpecialDataPermFilter(appId:string,entityNmber:string,operateKey:string,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService,errorInfo:$.java.lang.StringBuilder):$.java.util.List;
/**
* 获取操作的特殊数据权限过滤条件
*
* @param entityNmber 实体编码
* @param operateKey 操作类型
* @return QFilter
*/
getSpecialDataPermissionFilter(appId:string,entityNmber:string,operateKey:string):$.kd.bos.orm.query.QFilter;
/**
* 获取操作的特殊数据权限过滤条件
*
* @param entityNmber 实体编码
* @param operateKey 操作类型
* @return QFilter
*/
getSpecialDataPermissionFilter(appId:string,entityNmber:string,operateKey:string,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService,errorInfo:$.java.lang.StringBuilder):$.kd.bos.orm.query.QFilter;
/**
* 获取启用过滤条件
*
* @param type 实体
* @return 启用过滤条件
*/
getUsedFilter(type_arg:EntityType):$.kd.bos.orm.query.QFilter;
}
interface PermissionFilterUtil_C extends PermissionFilterUtil_S {
new():PermissionFilterUtil;
}
interface PermissionFilterUtil$ {
}
type PermissionFilterUtil_T = PermissionFilterUtil_S & PermissionFilterUtil$;
interface PermissionFilterUtil extends PermissionFilterUtil_T {
}
interface CompareTypeDto_S {
}
type CompareTypeDto_ST = $.java.io.Serializable & CompareTypeDto_S;
interface CompareTypeDto_C extends CompareTypeDto_ST {
/**
* 构造函数
*/
new():CompareTypeDto;
/**
* 构造函数
*
* @param id
* 比较符标识
* @param name
* 比较符名称
* @param isNeedInput
* 是否需要输入
* @param value
* 比较符的值
* @param groupId
* 所属组标识
* @param inputCtlType
* 关联控件类型
*/
new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,isNeedInput:boolean,value:string,groupId:number,inputCtlType:number):CompareTypeDto;
/**
* 构造函数
*
* @param id
* 比较符标识
* @param name
* 比较符名称
* @param isNeedInput
* 是否需要输入
* @param value
* 比较符的值
* @param groupId
* 所属组标识
* @param inputCtlType
* 关联控件类型
* @param isFieldCompare
* 是否是字段比较
* @param isMulti
* 是否多选
* @param isNumber
* 是否是数字类型
*/
new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,isNeedInput:boolean,value:string,groupId:number,inputCtlType:number,isFieldCompare:boolean,isMulti:boolean,isNumber:boolean,isBetween:boolean):CompareTypeDto;
}
interface CompareTypeDto$ {
/**
* @return 比较符所属组标识
*/
getGroupId():number;
/**
* @return 比较符标识
*/
getId():string;
/**
* 比较值录入控件类型,枚举值:-1 = 无需录入, 0 = 手工书写;其他类型已经废弃( 1 = 下拉选择, 2 = ?)
*
* @return
*/
getInputCtlType():number;
/**
* @return 比较符名称
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* @return 比较符的值
*/
getValue():string;
/**
* @return 是不是介于比较符
*/
isBetween():boolean;
/**
* @return 是否字段比较
*/
isFieldCompare():boolean;
/**
* @return 是否多选(包括,不包括)
*/
isMulti():boolean;
/**
* @return 是否需要输入
*/
isNeedInput():boolean;
/**
* 是否只能选择
*
* @return
*/
isNeedSearch():boolean;
/**
* @return 是否是数字类型
*/
isNumber():boolean;
isOnlySelect():boolean;
isVisible():boolean;
setBetween(isBetween:boolean):void;
/**
* @param isFieldCompare
* 是否字段比较
*/
setFieldCompare(isFieldCompare:boolean):void;
/**
* @param groupId
* 比较符所属组标识
*/
setGroupId(groupId:number):void;
/**
* @param id
* 比较符标识
*/
setId(id:string):void;
/**
* @param inputCtlType
* 比较值录入控件类型
*/
setInputCtlType(inputCtlType:number):void;
/**
* @param isMulti
* 是否多选(包括,不包括)
*/
setMulti(isMulti:boolean):void;
/**
* @param name
* 比较符名称
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* @param isNeedInput
* 是否需要输入
*/
setNeedInput(isNeedInput:boolean):void;
setNeedSearch(needSearch:boolean):void;
/**
* @param isNumber
* 是否是数字类型
*/
setNumber(isNumber:boolean):void;
setOnlySelect(onlySelect:boolean):void;
/**
* @param value
* 比较符的值
*/
setValue(value:string):void;
setVisible(isVisible:boolean):void;
}
type CompareTypeDto_T = $.java.io.Serializable & CompareTypeDto_S & CompareTypeDto$;
interface CompareTypeDto extends CompareTypeDto_T {
}
interface FilterKeyValue_S {
}
interface FilterKeyValue_C extends FilterKeyValue_S {
/**
* 构造函数
*/
new():FilterKeyValue;
/**
* 构造函数
*
* @param key
* 字段名
* @param values
* 值
*/
new(key:string,values:$.java.util.List):FilterKeyValue;
}
interface FilterKeyValue$ {
/**
* 获取PK,序列化使用
*
* @return PK
*/
getId():string;
/**
* 获取字段名
*
* @return 字段名
*/
getKey():string;
/**
* 获取值
*
* @return 值
*/
getValue():$.java.util.List;
}
type FilterKeyValue_T = FilterKeyValue_S & FilterKeyValue$;
interface FilterKeyValue extends FilterKeyValue_T {
}
interface LocaleFilterScheme_S {
}
type LocaleFilterScheme_ST = $.java.io.Serializable & ILocaleFilterScheme_S & $.kd.bos.dataentity.entity.LocaleValue & LocaleFilterScheme_S;
interface LocaleFilterScheme_C extends LocaleFilterScheme_ST {
new():LocaleFilterScheme;
}
interface LocaleFilterScheme$ {
}
type LocaleFilterScheme_T = $.kd.bos.dataentity.entity.LocaleValue & ILocaleFilterScheme & $.java.io.Serializable & LocaleFilterScheme_S & LocaleFilterScheme$;
interface LocaleFilterScheme extends LocaleFilterScheme_T {
}
interface OrderByField_S {
}
interface OrderByField_C extends OrderByField_S {
new(fieldName:string,sortType:SortType):OrderByField;
}
interface OrderByField$ {
getFieldName():string;
getSortType():SortType;
}
type OrderByField_T = OrderByField_S & OrderByField$;
interface OrderByField extends OrderByField_T {
}
interface FilterBuilder_S {
/**
* 获取过滤字段
*
* @param dataType
* 实体
* @param fieldName
* 字段名称
* @return 字段信息
*/
getFilterField(dataType:MainEntityType,fieldName:string):FilterField;
/**
* 根据过滤字段工具类缓存对象以及字段名获取工具类对象
*
* @param filterObject 过滤字段工具类缓存对象 {@link FilterObject}
* @param fieldName 字段名
* @return 过滤工具类对象
*/
getFilterField(filterObject:FilterObject,fieldName:string):FilterField;
}
interface FilterBuilder_C extends FilterBuilder_S {
/**
* 过滤条件解析类构造函数
*
* @param dataType
* 实体对象
*/
new(dataType:MainEntityType):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param filterBuilderParameter
*/
new(filterBuilderParameter:FilterBuilderParameter):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param dataType
* 实体对象 {@link MainEntityType}
* @param filterCondition
* 通用过滤元数据 {@link FilterCondition}
*/
new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param dataType
* 实体对象 {@link MainEntityType}
* @param isCheckInput
* 是否检查输入
*/
new(dataType:MainEntityType,isCheckInput:boolean):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param dataType
* 实体对象
* @param filterObject
* 过滤条件中间缓存对象
*/
new(dataType:MainEntityType,filterObject:FilterObject):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param dataType
* 实体对象 {@link MainEntityType}
* @param filterCondition
* 通用过滤元数据 {@link FilterCondition}
* @param isCheckInput
* 是否进行输入校验,即进行真正的解析,如果是false,只会解析出过滤条件描述,不会生成QFilter
*/
new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,isCheckInput:boolean):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param dataType
* 实体类型
* @param filterCondition
* 过滤条件元数据
* @param model
* 模型(用于字段比较)取数
*/
new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,model:kd.bos.entity.datamodel.IDataModel):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param dataType
* 实体类型
* @param filterCondition
* 过滤条件元数据
* @param isCheckInput
* 是否进行输入校验,即进行真正的解析,如果是false,只会解析出过滤条件描述,不会生成QFilter
*/
new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,isCheckInput:boolean,filterFields:$.java.util.List):FilterBuilder;
/**
* 过滤条件解析类构造函数
*
* @param dataType 实体类型
* @param filterCondition 过滤条件元数据
* @param filterValueSetter 字段取值接口
* @param isCheckInput 是否进行输入校验,即进行真正的解析,如果是false,只会解析出过滤条件描述,不会生成QFilter
* @param filterFields 过滤字段解析需要的工具类集合 {@link FilterField}
*/
new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,filterValueSetter:IFilterValueSetter,isCheckInput:boolean,filterFields:$.java.util.List):FilterBuilder;
}
interface FilterBuilder$ {
addCustomCompareTypes(fieldName:string,compareTypes:$.java.util.List):void;
/**
* 添加过滤字段
*
* @param fieldName
* 字段名称
* @param compare
* 比较符
* @param left
* 左括号
* @param right
* 右括号
* @param value
* 过滤值
* @param logic
* 逻辑:And,Or
*/
addFilterField(fieldName:string,compare:string,left:string,right:string,value:$.java.util.List,logic:string):void;
/**
* 添加过滤字段
*
* @param fieldName
* 字段名称
* @param compare
* 比较符
* @param left
* 左括号
* @param right
* 右括号
* @param value
* 过滤值
* @param logic
* 逻辑:And,Or
*/
addFilterField(fieldName:string,compare:string,left:string,right:string,value:$.java.util.List,logic:string,entityNumber:string):void;
/**
* 添加弹性域字段
*
* @param flexField
*/
addFlexField(flexField:string):void;
/**
* 解析过滤元数据
*/
buildFilter():void;
/**
* 解析过滤元数据
*
* @param returnSql
* 是否返回SQL
*/
buildFilter(returnSql:boolean):void;
/**
* 解析条件,输出脚本表达式与表达式说明
*
* @return return[0] =脚本表达式,return[1] = 表达式说明
*/
buildFilterScript():string[];
getConvertFieldsMap():$.java.util.Map;
/**
* 获取过滤条件中间缓存对象
*
* @return 过滤条件中间缓存对象
*/
getFilterObject():FilterObject;
/**
* 获取解析的条件语句描述,SQL形式
*
* @return 解析的条件语句描述,SQL形式
*/
getFilterString():string;
/**
* 获取解析的条件语句描述,中文形式
*
* @return 解析的条件语句描述,中文形式
*/
getFilterStringDesc():string;
/**
* 获取弹性域扩展属性结果集合
*
* @return
*/
getFlexPropExtendResultMap():$.java.util.Map;
/**
* 获取过滤条件
*
* @return 过滤条件
*/
getQFilter():$.kd.bos.orm.query.QFilter;
/**
* 获取解析的过滤条件,一行是一个QFilter
*
* @return 解析的过滤条件,一行是一个QFilter
*/
getQFilters():$.java.util.List;
/**
* 获取解析的过滤查询相关字段
*
* @return
*/
getUsedFilterFields():$.java.util.List;
/**
* 获取解析的过滤查询相关的不等于字段
*
* @return
*/
getUsedFilterFieldsWithNotCompare():$.java.util.List;
/**
* 获取是否包括单据状态
*
* @return 是否包括单据状态
*/
isContainBillStatus():boolean;
/**
* 获取是否主业务组织
*
* @return 是否主业务组织
*/
isContainMainOrg():boolean;
/**
* 获取是否包括使用状态
*
* @return 是否包括使用状态
*/
isContainUsedStatus():boolean;
/**
* 获取如果包括主业务组织,主业务组织过滤条件是否为不限
*
* @return 如果包括主业务组织,主业务组织过滤条件是否为不限
*/
isMainOrgNoLimit():boolean;
/**
* 设置过滤条件中间缓存对象
*
* @param filterObject
* 过滤条件中间缓存对象
*/
setFilterObject(filterObject:FilterObject):void;
/**
* 设置用户获取服务类
*
* @param userService
* 用户服务
*/
setUserService(userService:kd.bos.service.IUserService):void;
}
type FilterBuilder_T = FilterBuilder_S & FilterBuilder$;
interface FilterBuilder extends FilterBuilder_T {
}
interface FilterObject_S {
}
interface FilterObject_C extends FilterObject_S {
/**
* 构造函数
*/
new():FilterObject;
/**
* 构造函数
*
* @param dataType
* 实体
*/
new(dataType:MainEntityType):FilterObject;
/**
* 构造函数
*
* @param dataType
* 实体
*/
new(dataType:MainEntityType,isCheckInput:boolean):FilterObject;
}
interface FilterObject$ {
/**
* 解析过滤条件
*/
buildFilter():void;
/**
* 解析过滤条件
*
* @param returnSql
* 是否返回SQL
*/
buildFilter(returnSql:boolean):void;
/**
* 解析条件,输出脚本表达式与表达式说明
*
* @return return[0] =脚本表达式,return[1] = 表达式说明
*/
buildFilterScript():string[];
/**
* @return 过滤字段集合
*/
getAllFilterFields():$.java.util.Map;
/**
* 获取字段名与过滤工具类映射
*
* @return 字段名与过滤工具类映射
*/
getCompareFilterFields():$.java.util.Map;
/**
* @return 实体
*/
getDataType():MainEntityType;
/**
* @return 解析后的过滤表达式
*/
getFilter():string;
/**
* 获取字段名与过滤工具类映射
*
* @return 字段名与过滤工具类映射
*/
getFilterFields():$.java.util.Map;
/**
* 获取过滤结果
*
* @return 过滤结果
*/
getFilterResult():FilterResult;
/**
* @return 过滤行集合
*/
getFilterRows():$.java.util.List;
/**
* @return 解析后的过滤条件
*/
getQFilter():$.kd.bos.orm.query.QFilter;
getSelectFields():$.java.util.List;
getSelectFieldsWithNotCompare():$.java.util.List;
/**
* 获取是否检查输入开关
*
* @return 是否检查输入开关
*/
isCheckInput():boolean;
/**
* @param dataType
* 实体
*/
setDataType(dataType:MainEntityType):void;
/**
* @param filter
* 过滤表达式
*/
setFilter(filter:string):void;
/**
* @param filterRows
* 过滤行集合
*/
setFilterRows(filterRows:$.java.util.List):void;
/**
* @param qFilter
* 过滤条件
*/
setQFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
}
type FilterObject_T = FilterObject_S & FilterObject$;
interface FilterObject extends FilterObject_T {
}
interface FilterMetadata_S {
readonly FILTER_META_ID:string;
/**
* 增加清除缓存接口,供多语言词条调用
*/
cleareCache():void;
/**
* 从FilterMetadata.xml读取过滤元数据
*
* @return
*/
get():FilterMetadata;
/**
* 从从FilterMetadata读取过滤元数据,无缓存
*
* @return
*/
getFromXml():FilterMetadata;
}
interface FilterMetadata_C extends FilterMetadata_S {
new():FilterMetadata;
}
interface FilterMetadata$ {
/**
* 过滤元数据组标识
*
* @return
*/
getCompareCategories():$.java.util.List;
/**
* 获取过滤比较符
*
* @param compareGroupId
* 过滤组标识
* @param compareTypeId
* 比较符标识
* @return
*/
getCompareType(compareGroupId:string,compareTypeId:string):CompareType;
getCompareTypeByCompareTypeId(compareTypeId:string):CompareType;
/**
* 获取过滤比较符集合
*
* @param compareGroupId
* 组标识
* @return 过滤比较符集合
*/
getCompareTypes(compareGroupId:string):$.java.util.List;
getLogics():$.java.util.List;
getMarks():string;
getNullMarks():string;
getNullMarksExt():string;
getSortTypes():$.java.util.List;
setLogics(logics:$.java.util.List):void;
setMarks(marks:string):void;
setNullMarks(nullMarks:string):void;
setNullMarksExt(nullMarksExt:string):void;
setSortTypes(sortTypes:$.java.util.List):void;
}
type FilterMetadata_T = FilterMetadata_S & FilterMetadata$;
interface FilterMetadata extends FilterMetadata_T {
}
interface FilterScheme_S {
}
interface FilterScheme_C extends FilterScheme_S {
new():FilterScheme;
}
interface FilterScheme$ {
getCreateTime():Date;
getDataEntityState():$.kd.bos.dataentity.entity.DataEntityState;
getDescription():string;
getEntryEntity():string;
getFormId():string;
getId():string;
getLocaleFilterScheme():LocaleFilterScheme;
getLocaleName():$.kd.bos.dataentity.entity.LocaleString;
getModifyTime():Date;
getScheme():string;
getSchemeName():string;
getSeq():number;
getUserId():long;
isDefault():boolean;
isF7():boolean;
isFixed():boolean;
isNextEntryScheme():boolean;
isShare():boolean;
setCreateTime(createTime:Date):void;
setDataEntityState(dataEntityState:$.kd.bos.dataentity.entity.DataEntityState):void;
setDefault(isDefault:boolean):void;
setDescription(description:string):void;
setEntryEntity(entryEntity:string):void;
setF7(isF7:boolean):void;
setFixed(isFixed:boolean):void;
setFormId(formId:string):void;
setId(id:string):void;
setLocaleFilterScheme(localeFilterScheme:LocaleFilterScheme):void;
setModifyTime(modifyTime:Date):void;
setNextEntryScheme(isNextEntryScheme:boolean):void;
setScheme(scheme:string):void;
setSchemeName(schemeName:string):void;
setSeq(seq:number):void;
setShare(isShare:boolean):void;
setUserId(userId:long):void;
}
type FilterScheme_T = FilterScheme_S & FilterScheme$;
interface FilterScheme extends FilterScheme_T {
}
interface ControlFilter_S {
}
interface ControlFilter_C extends ControlFilter_S {
/**
* 构造函数
*
* @param fieldName 字段名
* @param value 过滤值
*/
new(fieldName:string,value:$.java.util.List):ControlFilter;
}
interface ControlFilter$ {
/**
* 获取过滤比较符
*
* @return 过滤比较符
*/
getCompareType():string;
/**
* 获取过滤字段名
*
* @return 过滤字段名
*/
getFieldName():string;
/**
* 获取过滤值
*
* @return 过滤值
*/
getValue():$.java.util.List;
/**
* 设置过滤比较符
*
* @param compareType 过滤比较符
*/
setCompareType(compareType:string):void;
}
type ControlFilter_T = ControlFilter_S & ControlFilter$;
interface ControlFilter extends ControlFilter_T {
}
interface FieldName_S {
}
interface FieldName_C extends FieldName_S {
/**
* 构造函数
* @param fieldName 字段标识
* @param fieldCaption 字段名称
*/
new(fieldName:string,fieldCaption:$.kd.bos.dataentity.entity.LocaleString):FieldName;
/**
* 构造函数
* @param fieldCaption 字段名称
* @param fieldName 字段标识
* @param entityId 分录标识
* @param compareGroupId 比较符组标识
*/
new(fieldCaption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string,entityId:string,compareGroupId:string):FieldName;
}
interface FieldName$ {
/**
* @return 比较符所在组标识
*/
getCompareGroupId():string;
/**
* @return 所属分录标识
*/
getEntityId():string;
/**
* @return 字段名称
*/
getFieldCaption():$.kd.bos.dataentity.entity.LocaleString;
/**
* @return 字段标识
*/
getFieldName():string;
/**
* @param compareGroupId 比较符组标识
*/
setCompareGroupId(compareGroupId:string):void;
/**
* @param entityId 所属分录标识
*/
setEntityId(entityId:string):void;
/**
* @param fieldCaption 字段名称
*/
setFieldCaption(fieldCaption:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* @param fieldName 字段标识
*/
setFieldName(fieldName:string):void;
}
type FieldName_T = FieldName_S & FieldName$;
interface FieldName extends FieldName_T {
}
interface AbstractFilterContantParser_S {
}
type AbstractFilterContantParser_ST = IConditionVariableAnalysis_S & AbstractFilterContantParser_S;
interface AbstractFilterContantParser_C extends AbstractFilterContantParser_ST {
new():AbstractFilterContantParser;
}
interface AbstractFilterContantParser$ {
}
type AbstractFilterContantParser_T = IConditionVariableAnalysis & AbstractFilterContantParser_S & AbstractFilterContantParser$;
interface AbstractFilterContantParser extends AbstractFilterContantParser_T {
}
interface ConditionVariableContext_S {
}
interface ConditionVariableContext_C extends ConditionVariableContext_S {
new(filterObject:FilterObject,filterRow:FilterRow):ConditionVariableContext;
}
interface ConditionVariableContext$ {
/**
* 数据库字段值类型:整数、字符等,据此确定是否需要增加单引号
*
* @return
*/
getColType():number;
/**
* 用户录入的比较值
*
* @return
*/
getConstantValue():number;
/**
* ORM字段完整名
*
* @return
*/
getFieldName():string;
/**
* 输出SQL过滤条件子句
*
* @return
*/
getFilter():string;
/**
* 输出条件中文描述
*
* @return
*/
getFilterDesc():string;
/**
* 过滤对象:包含了全部过滤行、全部过滤字段等信息
*
* @return
*/
getFilterObject():FilterObject;
/**
* 当前过滤行
*
* @return
*/
getFilterRow():FilterRow;
getInteService():$.kd.bos.inte.api.IInteService;
/**
* 单据主实体
*
* @return
*/
getMainType():MainEntityType;
/**
* 比较符号
*
* @return
*/
getOperater():string;
/**
* 输出变量参数值
*
* @return
*/
getParam():$.java.util.List;
/**
* 输出QFilter条件
*
* @return
*/
getQFilter():$.kd.bos.orm.query.QFilter;
/**
* 输出条件表达式脚本
*
* @return
*/
getScript():string;
/**
* 读取用户信息的服务
*
* @return
*/
getUserService():kd.bos.service.IUserService;
/**
* 确定生成的条件,是否使用参数对象
*
* @return
*/
isParam():boolean;
setConstantValue(constantValue:number):void;
setFilter(filter:string):void;
setFilterDesc(filterDesc:string):void;
setParam(isParam:boolean):void;
setParam(param:$.java.util.List):void;
setQFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
setScript(script:string):void;
setUserService(userService:kd.bos.service.IUserService):void;
}
type ConditionVariableContext_T = ConditionVariableContext_S & ConditionVariableContext$;
interface ConditionVariableContext extends ConditionVariableContext_T {
}
interface FilterContantParserArgs_S {
}
interface FilterContantParserArgs_C extends FilterContantParserArgs_S {
/**
* 构造函数
*
* @param fieldName
* ORM字段名
* @param filterRow
* 过滤行数据
* @param filterRows
* 过滤所有行数据集合
* @param mainEntityType
* 过滤对象的实例类型
*/
new(fieldName:string,filterRow:FilterRow,filterRows:$.java.util.List,mainEntityType:MainEntityType):FilterContantParserArgs;
}
interface FilterContantParserArgs$ {
/**
* 获取ORM字段名
*
* @return ORM字段名
*/
getFieldName():string;
/**
* 获取过滤行数据
*
* @return 过滤行数据
*/
getFilterRow():FilterRow;
/**
* 通过字段名获取FilterRow,如果字段名重复,按照视图摆放顺序,取第一个
*
* @param fieldName
* 字段名
* @return 过滤字段
*/
getFilterRow(fieldName:string):FilterRow;
/**
* 获取过滤所有行数据集合
*
* @return 过滤所有行数据集合
*/
getFilterRows():$.java.util.List;
/**
* 通过字段名获取过滤字段,存在多个重复字段名的情况下使用
*
* @param fieldName
* 字段名
* @return 过滤字段
*/
getFilterRows(fieldName:string):$.java.util.List;
/**
* 获取过滤对象的实例类型
*
* @return 过滤对象的实例类型
*/
getMainEntityType():MainEntityType;
}
type FilterContantParserArgs_T = FilterContantParserArgs_S & FilterContantParserArgs$;
interface FilterContantParserArgs extends FilterContantParserArgs_T {
}
interface BuildBaseDataPropertyQFiltersResult_S {
}
interface BuildBaseDataPropertyQFiltersResult_C extends BuildBaseDataPropertyQFiltersResult_S {
new(isNeedControlOrgFilter:boolean,qFilters:$.java.util.List):BuildBaseDataPropertyQFiltersResult;
}
interface BuildBaseDataPropertyQFiltersResult$ {
getQFilters():$.java.util.List;
isNeedControlOrgFilter():boolean;
}
type BuildBaseDataPropertyQFiltersResult_T = BuildBaseDataPropertyQFiltersResult_S & BuildBaseDataPropertyQFiltersResult$;
interface BuildBaseDataPropertyQFiltersResult extends BuildBaseDataPropertyQFiltersResult_T {
}
interface FilterBuilderParameter_S {
}
interface FilterBuilderParameter_C extends FilterBuilderParameter_S {
/**
* @param dataType 实体类型
* @param filterCondition 过滤条件元数据
*/
new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition):FilterBuilderParameter;
}
interface FilterBuilderParameter$ {
/**
* 添加弹性域字段
*
* @param flexField
*/
addFlexField(flexField:string):this;
getDataType():MainEntityType;
getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
getFilterFields():$.java.util.List;
getFilterValueSetter():IFilterValueSetter;
getFlexFields():$.java.util.Set;
isCheckInput():boolean;
isNeedParse():boolean;
isNeedParseBaseDataIds():boolean;
setCheckInput(checkInput:boolean):this;
setFilterFields(filterFields:$.java.util.List):this;
setFilterValueSetter(filterValueSetter:IFilterValueSetter):this;
setNeedParse(needParse:boolean):this;
setNeedParseBaseDataIds(needParseBaseDataIds:boolean):this;
}
type FilterBuilderParameter_T = FilterBuilderParameter_S & FilterBuilderParameter$;
interface FilterBuilderParameter extends FilterBuilderParameter_T {
}
interface SortObject_S {
}
interface SortObject_C extends SortObject_S {
new():SortObject;
new(dataType:MainEntityType):SortObject;
}
interface SortObject$ {
addField(field:SortField):void;
addField(caption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string):SortField;
addSortRow(sortField:$.java.util.List):void;
addSortRow(sortField:SortField,sortType:SortType):boolean;
deleteSortRows():void;
deleteSortRows(filedName:string):void;
deleteSortRows(rowIndex:number):void;
getSQLString():string;
getSetting():string;
getSortRows():$.java.util.List;
setSelectEntity(entityKey:string):void;
setSetting(sortSettingList:$.java.util.List):void;
}
type SortObject_T = SortObject_S & SortObject$;
interface SortObject extends SortObject_T {
}
interface FilterModelContext_S {
}
interface FilterModelContext_C extends FilterModelContext_S {
new(isOrQuery:boolean):FilterModelContext;
}
interface FilterModelContext$ {
isOrQuery():boolean;
}
type FilterModelContext_T = FilterModelContext_S & FilterModelContext$;
interface FilterModelContext extends FilterModelContext_T {
}
interface FilterKeyValueCollection_S {
}
interface FilterKeyValueCollection_C extends FilterKeyValueCollection_S {
/**
* 构造函数
*/
new():FilterKeyValueCollection;
}
interface FilterKeyValueCollection$ {
/**
* 获取字段过滤元数据实例集合
*
* @return
*/
getFilterKeyValues():$.java.util.List;
}
type FilterKeyValueCollection_T = FilterKeyValueCollection_S & FilterKeyValueCollection$;
interface FilterKeyValueCollection extends FilterKeyValueCollection_T {
}
interface FilterParameter_S {
}
type FilterParameter_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.java.io.Serializable & FilterParameter_S;
interface FilterParameter_C extends FilterParameter_ST {
new():FilterParameter;
new(qFilter:$.kd.bos.orm.query.QFilter,orderBy:string):FilterParameter;
new(qFilters:$.java.util.List,orderBy:string):FilterParameter;
new(selectFields:$.java.util.List,qFilter:$.kd.bos.orm.query.QFilter,orderBy:string):FilterParameter;
new(selectFields:$.java.util.List,qFilters:$.java.util.List,orderBy:string):FilterParameter;
}
interface FilterParameter$ {
getConvertFieldsMap():$.java.util.Map;
/**
* @return 排序
*/
getOrderBy():string;
getParam():$.java.util.List;
getQFilters():$.java.util.List;
getSelectEntity():string;
getSelectFields():$.java.util.List;
getSelectFieldsWithNotCompare():$.java.util.List;
mergeFilter(filter:FilterParameter):void;
setConvertFieldsMap(convertFieldsMap:$.java.util.Map):void;
/**
* @param qFilter
* 过滤条件
*/
setFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
/**
* @param orderBy 排序字段
*/
setOrderBy(orderBy:string):void;
setParam(param:$.java.util.List):void;
setQFilters(qFilters:$.java.util.List):void;
setSelectEntity(selectEntity:string):void;
setSelectFields(selectFields:$.java.util.List):void;
setSelectFieldsWithNotCompare(selectFieldsWithNotCompare:$.java.util.List):void;
}
type FilterParameter_T = $.kd.bos.dataentity.entity.ISupportInitialize & $.java.io.Serializable & FilterParameter_S & FilterParameter$;
interface FilterParameter extends FilterParameter_T {
}
enum LogicOperate {
AND,
OR
}
enum SortType {
NotOrder,
ASC,
DESC
}
interface CompareCategory_S {
}
type CompareCategory_ST = $.java.lang.Cloneable & CompareCategory_S;
interface CompareCategory_C extends CompareCategory_ST {
new():CompareCategory;
}
interface CompareCategory$ {
/**
* @return 过滤
*/
getCompareTypes():$.java.util.List;
/**
* @return 组标识
*/
getId():string;
/**
* @return 组名
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* @param id
* 组标识
*/
setId(id:string):void;
/**
* @param name
* 组名
*/
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
}
type CompareCategory_T = $.java.lang.Cloneable & CompareCategory_S & CompareCategory$;
interface CompareCategory extends CompareCategory_T {
}
interface FilterSchemeL_S {
}
type FilterSchemeL_ST = $.java.io.Serializable & FilterSchemeL_S;
interface FilterSchemeL_C extends FilterSchemeL_ST {
new():FilterSchemeL;
}
interface FilterSchemeL$ {
getDataEntityState():$.kd.bos.dataentity.entity.DataEntityState;
getDescription():string;
getId():string;
getLocaleId():string;
getName():string;
getPkId():string;
getSchemeId():string;
setDataEntityState(dataEntityState:$.kd.bos.dataentity.entity.DataEntityState):void;
setDescription(description:string):void;
setId(id:string):void;
setLocaleId(localeId:string):void;
setName(name:string):void;
setPkId(pkId:string):void;
setSchemeId(schemeId:string):void;
}
type FilterSchemeL_T = $.java.io.Serializable & FilterSchemeL_S & FilterSchemeL$;
interface FilterSchemeL extends FilterSchemeL_T {
}
enum CompareTypeEnum {
EQUAL,
NOTEQUAL,
IN,
NOTIN,
ISNULL,
ISNOTNULL,
LIKE,
NOTLIKE,
LEFTLIKE,
RIGHTLIKE,
GREATER,
LESS,
GREATEROREQUAL,
LESSOREQUAL,
TODAY,
YESTERDAY,
THISWEEK,
LASTWEEK,
THISMONTH,
LASTMONTH,
LASTONEMONTH,
LASTTHREEMONTH,
THISQUARTER,
LASTQUARTER,
THISYEAR,
LASTYEAR,
TOMORROW,
NEXTWEEK,
NEXTMONTH,
FUTUREONEMONTH,
FUTURETHREEMONTH,
NEXTQUARTER,
NEXTYEAR,
TODAYBEFORE,
TODAYAFTER,
LESSTHANOREQUALTODAY,
LESSTHANTODAY,
MORETHANOREQUALTODAY,
MORETHANTODAY,
BETWEEN,
NDAYSBEFORE,
LASTNDAYS,
CURRENTUSER,
NOTCURRENTUSER,
ORGEQUAL,
ORGIN,
ORGNOTEQUAL,
ORGNOTIN,
CURRENTUSERINCHARGEDEPT,
CURRENTUSERINCHARGEDEPTS,
CURRENTUSERDEPT,
CURRENTUSERDEPTS,
ITEMCLASSEQUALS,
ITEMCLASSNOTEQUALS,
FIELDEQUAL,
FIELDNOTEQUAL,
FIELDGREATEROREQUAL,
FIELDGREATER,
FIELDSMALLEROREQUAL,
FIELDSMALLER,
CHECKBOXEQUAL,
CHECKBOXNOTEQUAL,
CHECKBOXIN,
CHECKBOXNOTIN,
COMBOBOXISNULL,
COMBOBOXISNOTNULL,
MULTICOMBOBOXLIKE,
ITEMCLASSLIKE,
ITEMCLASSNOTLIKE,
ITEMCLASSIN,
ITEMCLASSNOTIN,
ITEMCLASSISNULL,
ITEMCLASSISNOTNULL,
ITEMCLASSLIFTLIKE,
ITEMCLASSRIGHTLIKE,
ITEMCLASSGREATER,
ITEMCLASSLESS,
ITEMCLASSGREATEROREQUAL,
ITEMCLASSLESSOREQUAL
}
interface FilterField_S {
readonly FBASEDATAID:string;
readonly FBASEDATAID2:string;
/**
* 输出ORM完整属性名,包含单据体前缀
*
* @param prop 属性对象
* @return ORM完整属性名,包含单据体前缀
* @remark ORM取数时,单据体字段必须加上单据体前缀,否则会找不到字段
*/
buildPropORMFullName(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):string;
buildPropORMFullNameByName(name:string,iDataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):string;
/**
* 公共静态方法:传入字段标识,创建对应的过滤字段
*
* @param mainType 单据主实体
* @param fieldName 字段名,格式:基础资料.引用属性1.引用属性2
* @return
*/
create(mainType:MainEntityType,fieldName:string):FilterField;
createForItemClassProp(mainType:MainEntityType,fieldName:string,baseEntityId:string):FilterField;
}
interface FilterField_C extends FilterField_S {
/**
* 构造函数
*
* @remark
* 用于反序列化
*/
new():FilterField;
/**
* 构造函数
*
* @param srcFieldProp
* 单据字段
* @param refProp1
* 引用属性1
* @param refProp2
* 引用属性2
* @param refEntityId
* 字段对应的实体标识
*
* @remark 用于在运行时,根据运行时主实体、字段标识,动态还原过滤字段,实现运行时条件解析
*/
new(mainType:MainEntityType,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProp1:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProp2:$.kd.bos.dataentity.metadata.IDataEntityProperty,refEntityId:string):FilterField;
/**
* 构造函数
*
* @param caption
* 字段标题
* @param fieldName
* 字段标识,不包含单据体前缀
* @param entityKey
* 字段所在的单据体
* @param compareGroupID
* 比较符号集
* @param fieldType
* 数据库字段类型
* 是否常量:专用于主组织
*
* @remark 用于在设计时,基于单据设计时元数据,创建出过滤字段,实现过滤条件的设计
*/
new(caption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string,entityKey:string,compareGroupID:string,fieldType:number):FilterField;
}
interface FilterField$ {
addCustomCompareType(compareType:CompareType):void;
addCustomCompareTypes(compareTypes:$.java.util.List):void;
/**
* 将基础资料转为id
*
* @return
*/
convertToId():this;
createFilterColumn():$.java.util.Map;
/**
* 基于本对象,生成前端过滤表格中用到的过滤字段
*
* @return
* @remark
* 本方法,仅用于给过滤表格控件生成过滤字段列表;
* 通用列表上的过滤字段控件,由列表界面设计元数据生成
*/
createFilterColumn(isNeedCompareTypeField:boolean):$.java.util.Map;
/**
* 获取过滤字段的所有比较符
* @return
*/
getAllCompareTypes():$.java.util.List;
getBaseDataFilterControlType():string;
getCaption():$.kd.bos.dataentity.entity.LocaleString;
/**
* 字段枚举集
* @return
*/
getComboItems():$.java.util.List;
/**
* @return 比较符组标识
*/
getCompareGroupID():string;
/**
* @param compareTypeId
* 比较符标识
* @return 比较符
*/
getCompareType(compareTypeId:string):CompareType;
/**
* @return 比较符集合
*/
getCompareTypes():$.java.util.List;
getCustomCompareTypes():$.java.util.List;
/**
* @return // 默认比较符(单个值)
*/
getDefaultCompareType():CompareType;
/**
* @return 列表常用过滤条件选择了一个值时使用的比较符
*/
getDefaultCompareTypeId():string;
/**
* @return // 默认比较符(多个值)
*/
getDefaultMultiCompareType():CompareType;
/**
* @return 列表快速搜索过滤条件或常用过滤条件选择了多个值时使用的比较符(比如文本是LIKE(59))
*/
getDefaultMultiCompareTypeId():string;
/**
* @return 所属分录
*/
getEntityKey():string;
/**
* 字段标识
*
* @return
*/
getFieldName():string;
/**
* 过滤字段
* @return
*/
getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* @return 字段数据类型,DBType, java.sql.Types
*/
getFieldType():number;
/**
* @return 过滤字段类型,发给前端
*/
getFilterControlType():string;
getFullFieldCaption():string;
/**
* 字段完整的ORM属性名,需使用实体名作为前缀
* @return
*/
getFullFieldName():string;
getJoinProperty():kd.bos.entity.list.JoinProperty;
getLatestParent():$.kd.bos.dataentity.metadata.IDataEntityProperty;
getMainType():MainEntityType;
/**
* 过滤字段,f7点击时,打开的基础资料
* @return
*/
getRefEntityId():string;
/**
* 基础资料引用属性1
* @return
*/
getRefProp1():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 基础资料第二层引用属性
*
* @return
*/
getRefProp2():$.kd.bos.dataentity.metadata.IDataEntityProperty;
getRefPropKey():string;
getRefPropKey1():string;
getRefPropKey2():string;
/**
* @return 序号
*/
getSeq():number;
getSrcFieldKey():string;
/**
* 单据字段
* @return
*/
getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取字段所在实体的标识,对于查询实体来说是子实体或者是子实体.分录的情况
*
* @return
*/
getSubEntityName():string;
getValueFast(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):any;
/**
* 是否为脱敏字段且不支持查询
*
* @return 是否为脱敏字段且不支持查询
*/
isDesenAndNoSearch():boolean;
isDesensitizeField():boolean;
isEncryptField():boolean;
isFieldPropAliasEmpty():boolean;
isMulBasedata():boolean;
/**
* 是否是虚拟过滤字段(没有对应的实体字段),默认为false
* @return
*/
isVirtualFilterField():boolean;
/**
* @param caption
* 字段名称
*/
setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
setComboItems(comboItems:$.java.util.List):void;
/**
* @param compareGroupID
* 比较符组标识
*/
setCompareGroupID(compareGroupID:string):void;
/**
* @param compareTypes
* 比较符集合
*/
setCompareTypes(compareTypes:$.java.util.List):void;
/**
* @param defaultCompareID
* 字段默认比较符组标识
*/
setDefaultCompareTypeId(defaultCompareID:string):void;
/**
* @param defaultCompareID
* 字段默认比较符组标识
*/
setDefaultMultiCompareTypeId(defaultCompareID:string):void;
/**
* @param fieldName
* 字段标识
*/
setFieldName(fieldName:string):void;
setFieldType(fieldType:number):void;
setFullFieldName(fullFieldName:string):void;
setMainType(mainType:MainEntityType):void;
setRefEntityId(refEntityId:string):void;
setRefPropKey(refPropKey:string):void;
/**
* @param seq
* 序号
*/
setSeq(seq:number):void;
}
type FilterField_T = FilterField_S & FilterField$;
interface FilterField extends FilterField_T {
}
interface FilterUtil_S {
buildBaseDataF7QFilters(basedataField:kd.bos.entity.property.IBasedataField,model:kd.bos.entity.datamodel.IDataModel,appId:string,baseEntityTypeId:string,userQFilters:$.java.util.List,permissionItem:string,isShowApproved:boolean):$.java.util.List;
buildBaseDataPropertyQFilters(model:kd.bos.entity.datamodel.IDataModel,baseEntityTypeId:string,basedataField:kd.bos.entity.property.IBasedataField,appId:string,permissionItem:string):$.java.util.List;
/**
* 由于旧接口调用了getBaseDataFilter接口会生成形如bitindex in(…)的过滤条件,生成大量临时表
* 新增本接口传递当前id的过滤条件给getLookUpListFilter(),生成精确过滤条件
*
* @param model 数据模型
* @param baseEntityTypeId 基础资料实体
* @param basedataField 当前基础资料字段
* @param appId appId
* @param permissionItem 权限项
* @param idQFilter 当前选中数据ID过滤条件
* @return
*/
buildBaseDataPropertyQFilters(model:kd.bos.entity.datamodel.IDataModel,baseEntityTypeId:string,basedataField:kd.bos.entity.property.IBasedataField,appId:string,permissionItem:string,idQFilter:$.kd.bos.orm.query.QFilter):$.java.util.List;
buildBaseDataPropertyQFiltersWithoutControlOrgFilter(model:kd.bos.entity.datamodel.IDataModel,basedataField:kd.bos.entity.property.IBasedataField,appId:string,permissionItem:string):BuildBaseDataPropertyQFiltersResult;
buildDataPermFilter(userId:long,appId:string,entityNumber:string):$.java.util.List;
buildDataPermissionFilter(param:F7FilterParam):$.java.util.List;
buildDataPermissionFilter(baseEntityId:string,isShowUsed:boolean,isShowApproved:boolean):$.java.util.List;
buildRefBillF7QFilters(basedataField:kd.bos.entity.property.IRefBillField,model:kd.bos.entity.datamodel.IDataModel,appId:string,baseEntityTypeId:string,userQFilters:$.java.util.List,permissionItem:string,isShowApproved:boolean):$.java.util.List;
buildRefBillPropertyQFilters(model:kd.bos.entity.datamodel.IDataModel,baseEntityTypeId:string,refBillField:kd.bos.entity.property.IRefBillField,appId:string,permissionItem:string):$.java.util.List;
buildSpecialDataPermFilter(timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService,appId:string,entityNumber:string):$.java.util.List;
combineFilter(toQFilter:$.kd.bos.orm.query.QFilter,fromQFilter:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
/**
* 合并列表过滤条件参数
*
*
* 已有的过滤条件参数
*/
combineFilter(toQFilter:$.kd.bos.orm.query.QFilter,fromQFilter:$.kd.bos.orm.query.QFilter,logicOperate:LogicOperate):$.kd.bos.orm.query.QFilter;
decorateNotZero(qFilter:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
decorateZero(qFilter:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
getCompareTypeDtos(compareTypes:$.java.util.List):$.java.util.List;
getValidValues(valueList:$.java.util.List):$.java.util.List;
}
interface FilterUtil_C extends FilterUtil_S {
new():FilterUtil;
}
interface FilterUtil$ {
}
type FilterUtil_T = FilterUtil_S & FilterUtil$;
interface FilterUtil extends FilterUtil_T {
}
interface IConditionVariableAnalysis_S {
}
interface IConditionVariableAnalysis$ {
/**
* 将常量解析成脚本
*
* @param ctx
* 解析上下文
*/
getScriptFilter(ctx:ConditionVariableContext):void;
/**
* 将常量解析成QFilter
*
* @param ctx
* 解析上下文
*/
getVariableFilter(ctx:ConditionVariableContext):void;
}
type IConditionVariableAnalysis_T = IConditionVariableAnalysis_S & IConditionVariableAnalysis$;
interface IConditionVariableAnalysis extends IConditionVariableAnalysis_T {
}
interface ColumnParam_S {
}
interface ColumnParam_C extends ColumnParam_S {
new():ColumnParam;
new(isPermGroup:boolean):ColumnParam;
}
interface ColumnParam$ {
getClientItems():$.java.util.List;
getCompareTypeDtos():$.java.util.List;
getCompareTypes():$.java.util.List;
getFilterField():FilterField;
isHasMainOrg():boolean;
isPermGroup():boolean;
setClientItems(clientItems:$.java.util.List):void;
setCompareTypeDtos(compareTypeDtos:$.java.util.List):void;
setCompareTypes(compareTypes:$.java.util.List):void;
setFilterField(filterField:FilterField):void;
setHasMainOrg(hasMainOrg:boolean):void;
setPermGroup(isPermGroup:boolean):void;
}
type ColumnParam_T = ColumnParam_S & ColumnParam$;
interface ColumnParam extends ColumnParam_T {
}
interface FilterResult_S {
}
interface FilterResult_C extends FilterResult_S {
/**
* 构造函数
*
* @param filterGroup
* 过滤条件描述分组
* @param qFilters
* 过滤条件解析结果集合
*/
new(filterGroup:string[],qFilters:$.java.util.List):FilterResult;
/**
* 构造函数
*
* @param filterGroup
* 过滤条件描述分组
* @param qFilter
* 过滤条件
*/
new(filterGroup:string[],qFilter:$.kd.bos.orm.query.QFilter):FilterResult;
/**
* 构造函数
*
* @param filterGroup
* 过滤条件描述分组
* @param qFilter
* 过滤条件
* @param qFilters
* 过滤条件解析结果集合
*/
new(filterGroup:string[],qFilter:$.kd.bos.orm.query.QFilter,qFilters:$.java.util.List):FilterResult;
}
interface FilterResult$ {
/**
* 获取过滤条件描述数据,主要是两个,第一个是SQL描述,第二个是中文描述
*
* @return 过滤条件描述数据
*/
getFilterGroup():string[];
/**
* 获取过滤比较符
*
* @return 过滤比较符 {@link kd.bos.entity.filter.LogicOperate}
*/
getLogicOperate():LogicOperate;
/**
* 获取过滤条件
*
* @return 过滤条件
*/
getQFilter():$.kd.bos.orm.query.QFilter;
/**
* 获取过滤条件,每个数组元素对应每行FilterRow {@link kd.bos.entity.filter.FilterRow}的解析结果
*
* @return
*/
getQFilters():$.java.util.List;
}
type FilterResult_T = FilterResult_S & FilterResult$;
interface FilterResult extends FilterResult_T {
}
enum CompareInputType {
INTEGER
}
interface ILocaleFilterScheme_S {
}
interface ILocaleFilterScheme$ {
getLocaleValue?():FilterSchemeL;
getLocaleValue_en?():FilterSchemeL;
getLocaleValue_zh_CN?():FilterSchemeL;
getLocaleValue_zh_TW?():FilterSchemeL;
setLocaleValue?(value:FilterSchemeL):void;
setLocaleValue_en?(value:FilterSchemeL):void;
setLocaleValue_zh_CN?(value:FilterSchemeL):void;
setLocaleValue_zh_TW?(value:FilterSchemeL):void;
}
type ILocaleFilterScheme_T = $.kd.bos.dataentity.entity.ILocaleValue & ILocaleFilterScheme_S & ILocaleFilterScheme$;
interface ILocaleFilterScheme extends ILocaleFilterScheme_T {
}
interface MobileSearchFilterValues_S {
deSerialize(arg0:string):MobileSearchFilterValues;
}
interface MobileSearchFilterValues_C extends MobileSearchFilterValues_S {
new():MobileSearchFilterValues;
new(arg0:string,arg1:$.java.util.List,arg2:string):MobileSearchFilterValues;
}
interface MobileSearchFilterValues$ {
createMapFilterValues():$.java.util.Map;
getEntryEntity():string;
getFastFilterValues():FilterKeyValueCollections;
getSearchText():string;
isEmpty():boolean;
serialize():string;
setEntryEntity(arg0:string):void;
setFastFilterValues(arg0:FilterKeyValueCollections):void;
setSearchText(arg0:string):void;
}
type MobileSearchFilterValues_T = MobileSearchFilterValues_S & MobileSearchFilterValues$;
interface MobileSearchFilterValues extends MobileSearchFilterValues_T {
}
}
namespace kd.bos.entity.flex{
interface FlexBDValueCondition_S {
}
interface FlexBDValueCondition_C extends FlexBDValueCondition_S {
new():FlexBDValueCondition;
}
interface FlexBDValueCondition$ {
buildFullFormula(mainType:MainEntityType):string;
getDescription():$.kd.bos.dataentity.entity.LocaleString;
getExpression():string;
getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
setExpression(expression:string):void;
setFilterCondition(filterCondition:$.kd.bos.entity.filter.FilterCondition):void;
}
type FlexBDValueCondition_T = FlexBDValueCondition_S & FlexBDValueCondition$;
interface FlexBDValueCondition extends FlexBDValueCondition_T {
}
interface FlexEntireData_S {
}
interface FlexEntireData_C extends FlexEntireData_S {
new():FlexEntireData;
}
interface FlexEntireData$ {
/**
* 合并Flex数据(横表数据)
* @return
*/
concatFlexData():string;
getFlexDatas():$.java.util.List;
getFlexValue():$.java.util.Map;
getId():long;
setFlexData(entityType:MainEntityType,data:$.kd.bos.dataentity.entity.DynamicObject):void;
setFlexDatas(flexDatas:$.java.util.List):void;
setId(id:long):void;
setSortedFlexDatas(flexDatasSorted:$.java.util.List):void;
}
type FlexEntireData_T = FlexEntireData_S & FlexEntireData$;
interface FlexEntireData extends FlexEntireData_T {
}
interface FlexEntityMetaUtils_S {
clearFlexEntityMeta():void;
createProperty(flexFieldKey:string,flexProperty:FlexProperty):$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
getBasedataPropFlexEntityType(args:CreateFlexMetaArgs):FlexEntityType;
/**
* 基础资料上弹性域实体类型
*
* @param flexFieldKey
* @param propertyIds
* @return
*/
getBasedataPropFlexEntityType(formNumber:string,flexFieldKey:string,flexTypeId:number,propertyIds:$.java.util.List):FlexEntityType;
getFlexProperties(flexTypeId:number):$.java.util.List;
/**
* 根据flexField取flexproperty
*
* @param flexField
* 弹性域字段名称,该名称所有弹性域属性唯一
* @return
*/
getFlexProperty(flexField:string):FlexProperty;
/**
* 按弹性域属性内码取弹性域属性
*
* @param propertyIds
* 属性内码 T_BAS_FLEX_PROPERTY.FENTRYID
* @return
*/
getFlexProperty(propertyIds:$.java.util.List):$.java.util.List;
getFlexType(id:number):FlexType;
isFlexCacheRelease():boolean;
isFlexListBatchLoad():boolean;
isOutLog():boolean;
outLog(className:string,method:string,info:string):void;
}
interface FlexEntityMetaUtils_C extends FlexEntityMetaUtils_S {
new():FlexEntityMetaUtils;
}
interface FlexEntityMetaUtils$ {
}
type FlexEntityMetaUtils_T = FlexEntityMetaUtils_S & FlexEntityMetaUtils$;
interface FlexEntityMetaUtils extends FlexEntityMetaUtils_T {
}
interface FlexProperty$DisplayStyle_S {
}
interface FlexProperty$DisplayStyle_C extends FlexProperty$DisplayStyle_S {
new(arg0:FlexProperty,arg1:string):FlexProperty$DisplayStyle;
}
interface FlexProperty$DisplayStyle$ {
getDisplayProperty():FlexProperty$DisplayProperty;
getType():string;
setDisplayProperty(arg0:FlexProperty$DisplayProperty):void;
}
type FlexProperty$DisplayStyle_T = FlexProperty$DisplayStyle_S & FlexProperty$DisplayStyle$;
interface FlexProperty$DisplayStyle extends FlexProperty$DisplayStyle_T {
}
interface FlexProperty_S {
}
type FlexProperty_ST = $.java.io.Serializable & FlexProperty_S;
interface FlexProperty_C extends FlexProperty_ST {
new():FlexProperty;
}
interface FlexProperty$ {
getAssistantType():string;
getBasedataValueCondition():string;
getDataType():string;
getDataTypeObject():any;
getDatamaxlen():number;
getDisplayProp():string;
getDisplayStyle():FlexProperty$DisplayStyle;
getEnable():string;
getFlexBDValueCondition():FlexBDValueCondition;
getFlexField():string;
getFlexType():FlexType;
getFlexTypeId():long;
getGLName():string;
/**
* @return the id
*/
getId():long;
getIndex():number;
getName():$.kd.bos.dataentity.entity.LocaleString;
getNumber():string;
getOrgFunc():long;
getOrgFuncNumber():string;
getPropId():number;
getStatus():string;
getValueSource():string;
getValueType():string;
setAssistantType(assistantType:string):void;
setBasedataValueCondition(basedataValueCondition:string):void;
setDataType(dataType:string):void;
setDatamaxlen(datamaxlen:number):void;
setDisplayProp(displayProp:string):void;
setDisplayStyle(displayStyle:FlexProperty$DisplayStyle):void;
setEnable(enable:string):void;
setFlexField(flexField:string):void;
setFlexId(flexId:number):void;
setFlexType(flexType:FlexType):void;
setFlexTypeId(flexTypeId:long):void;
setGLName(glName:string):void;
/**
* @param id the id to set
*/
setId(id:long):void;
setIndex(index:number):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setNumber(number_arg:string):void;
setOrgFunc(orgFunc:long):void;
setOrgFuncNumber(orgFuncNumber:string):void;
setPropId(propId:number):void;
setStatus(status:string):void;
setValueSource(valueSource:string):void;
setValueType(valueType:string):void;
}
type FlexProperty_T = $.java.io.Serializable & FlexProperty_S & FlexProperty$;
interface FlexProperty extends FlexProperty_T {
}
interface FlexType_S {
}
type FlexType_ST = kd.bos.dataentity.entity.ClrDataEntity_S & FlexType_S;
interface FlexType_C extends FlexType_ST {
new():FlexType;
}
interface FlexType$ {
getBasedataService():string;
getDisplayFormat():number;
getDisplayProperty():string;
getFlexDataTable():string;
getFlexTypeId():long;
/**
* @return the formNumber
*/
getFormNumber():string;
getFormUUID():string;
/**
* @return the name
*/
getName():string;
getNumber():string;
getSeparator():string;
setBasedataService(basedataService:string):void;
setDisplayFormat(displayFormat:number):void;
setDisplayProperty(displayProperty:string):void;
setFlexDataTable(flexDataTable:string):void;
setFlexTypeId(flexTypeId:long):void;
/**
* @param formNumber
* the formNumber to set
*/
setFormNumber(formNumber:string):void;
setId(id:number):void;
/**
* @param name
* the name to set
*/
setName(name:string):void;
setNumber(number_arg:string):void;
setSeparator(separator:string):void;
}
type FlexType_T = kd.bos.dataentity.entity.ClrDataEntity & FlexType_S & FlexType$;
interface FlexType extends FlexType_T {
}
enum FlexProperty$DisplayProperty {
Number,
Name,
NumberAndName,
LongNumber,
FullName,
NumberAndFullName
}
interface CreateFlexMetaArgs_S {
}
interface CreateFlexMetaArgs_C extends CreateFlexMetaArgs_S {
new(formNumber:string,flexFieldKey:string,flexTypeId:number,propertyIds:$.java.util.List):CreateFlexMetaArgs;
}
interface CreateFlexMetaArgs$ {
getFlexFieldKey():string;
getFlexTypeId():number;
getFormNumber():string;
getPropertyIds():$.java.util.List;
getShowFrequentIds():$.java.util.List;
setShowFrequentIds(showFrequentIds:$.java.util.List):void;
}
type CreateFlexMetaArgs_T = CreateFlexMetaArgs_S & CreateFlexMetaArgs$;
interface CreateFlexMetaArgs extends CreateFlexMetaArgs_T {
}
}
namespace kd.bos.entity.format{
interface TimeFormat_S {
}
type TimeFormat_ST = AbstractFormat_S & TimeFormat_S;
interface TimeFormat_C extends TimeFormat_ST {
new():TimeFormat;
}
interface TimeFormat$ {
}
type TimeFormat_T = AbstractFormat & TimeFormat_S & TimeFormat$;
interface TimeFormat extends TimeFormat_T {
}
interface FormatFactory_S {
get(type_arg:FormatTypes):IFormat;
/**
* 获取区域格式
* 该方法返回的结果中 DateFormatObject、TimeFormatObject 中没有加入时差(timeArea)
* 用户时区:InteTimeZone.getUserTimeZone(Long.parseLong(RequestContext.getOrCreate().getUserId()));
* 组织时区:InteTimeZone.getOrgTimeZone(orgId);
* 系统时区: InteTimeZone.getSysTimeZone();
* 得到对应时区后 getTimeArea()获取时差
* @param userId
* @return
*/
getFormat(userId:long):FormatObject;
}
interface FormatFactory_C extends FormatFactory_S {
new():FormatFactory;
}
interface FormatFactory$ {
}
type FormatFactory_T = FormatFactory_S & FormatFactory$;
interface FormatFactory extends FormatFactory_T {
}
enum FormatTypes {
Date,
Time,
Number,
Currency
}
interface CurrencyFormat_S {
readonly fixCurrencySymbol:string;
}
type CurrencyFormat_ST = NumberFormat_S & CurrencyFormat_S;
interface CurrencyFormat_C extends CurrencyFormat_ST {
new():CurrencyFormat;
}
interface CurrencyFormat$ {
getSymbolNegtive(cfo:CurrencyFormatObject):string[];
getSymbolPositive(cfo:CurrencyFormatObject):string[];
}
type CurrencyFormat_T = NumberFormat & CurrencyFormat_S & CurrencyFormat$;
interface CurrencyFormat extends CurrencyFormat_T {
}
interface FormatObject_S {
}
type FormatObject_ST = $.java.lang.Cloneable & $.java.io.Serializable & FormatObject_S;
interface FormatObject_C extends FormatObject_ST {
new():FormatObject;
new(currencyFormat:CurrencyFormatObject,numberFormat:NumberFormatObject,dateFormat:DateFormatObject,timeFormat:TimeFormatObject):FormatObject;
}
interface FormatObject$ {
clone():any;
getCurrencyFormat():CurrencyFormatObject;
getDateFormat():DateFormatObject;
getNumberFormat():NumberFormatObject;
getTimeFormat():TimeFormatObject;
isNotEmpty():boolean;
isTimeNotEmpty():boolean;
setCurrencyFormat(currencyFormat:CurrencyFormatObject):void;
setDateFormat(dateFormat:DateFormatObject):void;
setNumberFormat(numberFormat:NumberFormatObject):void;
setTimeFormat(timeFormat:TimeFormatObject):void;
}
type FormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & FormatObject_S & FormatObject$;
interface FormatObject extends FormatObject_T {
}
interface IFormat_S {
}
interface IFormat$ {
formatZeroPos(value:string,dValue:$.java.math.BigDecimal,cfo:NumberFormatObject):string;
getCurrencyFormat(pattern:string,currencySymbols:string,minimumFractionDigits:number):$.java.text.Format;
getCurrencyFormat(pattern:string,currencySymbols:string,maximumFractionDigits:number,minimumFractionDigits:number):$.java.text.Format;
getDateTimeFormat(pattern:string):$.java.text.Format;
getFormat(formatObject:FormatObject):$.java.text.Format;
getNumberFormat(pattern:string,minimumFractionDigits:number,groupSize:number):$.java.text.Format;
getNumberFormat(pattern:string,maximumFractionDigits:number,minimumFractionDigits:number,groupSize:number):$.java.text.Format;
}
type IFormat_T = IFormat_S & IFormat$;
interface IFormat extends IFormat_T {
}
interface AbstractFormat_S {
readonly splitSymbol:string;
}
type AbstractFormat_ST = IFormat_S & AbstractFormat_S;
interface AbstractFormat_C extends AbstractFormat_ST {
new():AbstractFormat;
}
interface AbstractFormat$ {
}
type AbstractFormat_T = IFormat & AbstractFormat_S & AbstractFormat$;
interface AbstractFormat extends AbstractFormat_T {
}
interface DateFormatObject_S {
}
type DateFormatObject_ST = $.java.lang.Cloneable & $.java.io.Serializable & DateFormatObject_S;
interface DateFormatObject_C extends DateFormatObject_ST {
new():DateFormatObject;
new(dateFormat:string):DateFormatObject;
new(dateFormat:string,timeArea:string):DateFormatObject;
new(dateFormat:string,timeArea:string,localeStr:string):DateFormatObject;
}
interface DateFormatObject$ {
getDateFormat():string;
getLocale():$.java.util.Locale;
getLocaleStr():string;
getTimeArea():string;
setDateFormat(dateFormat:string):void;
setLocaleStr(localeStr:string):void;
setTimeArea(timeArea:string):void;
}
type DateFormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & DateFormatObject_S & DateFormatObject$;
interface DateFormatObject extends DateFormatObject_T {
}
interface DateFormat_S {
}
type DateFormat_ST = TimeFormat_S & DateFormat_S;
interface DateFormat_C extends DateFormat_ST {
new():DateFormat;
}
interface DateFormat$ {
}
type DateFormat_T = TimeFormat & DateFormat_S & DateFormat$;
interface DateFormat extends DateFormat_T {
}
interface NumberFormatObject_S {
}
type NumberFormatObject_ST = $.java.lang.Cloneable & $.java.io.Serializable & NumberFormatObject_S;
interface NumberFormatObject_C extends NumberFormatObject_ST {
new():NumberFormatObject;
new(decimalPoint:string,numSeparator:string,zeroShow:string,numGroupFormat:string,negativeFormat:string):NumberFormatObject;
}
interface NumberFormatObject$ {
clone():any;
getDecimalPoint():string;
getMaximumFractionDigits():number;
getMinimumFractionDigits():number;
getNegativeFormat():string;
getNumGroupFormat():string;
getNumSeparator():string;
getZeroShow():string;
isGroupingUsed():boolean;
isShowZero():boolean;
setDecimalPoint(decimalPoint:string):void;
setGroupingUsed(isGroupingUsed:boolean):void;
setMaximumFractionDigits(maximumFractionDigits:number):this;
setMinimumFractionDigits(minimumFractionDigits:number):this;
setNegativeFormat(negativeFormat:string):void;
setNumGroupFormat(numGroupFormat:string):void;
setNumSeparator(numSeparator:string):void;
setShowZero(showZero:boolean):void;
setZeroShow(zeroShow:string):void;
}
type NumberFormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & NumberFormatObject_S & NumberFormatObject$;
interface NumberFormatObject extends NumberFormatObject_T {
}
interface TimeFormatObject_S {
}
type TimeFormatObject_ST = $.java.lang.Cloneable & $.java.io.Serializable & TimeFormatObject_S;
interface TimeFormatObject_C extends TimeFormatObject_ST {
new():TimeFormatObject;
new(timeFormat:string,am:string,pm:string):TimeFormatObject;
new(timeFormat:string,am:string,pm:string,timeArea:string):TimeFormatObject;
new(timeFormat:string,am:string,pm:string,timeArea:string,localeStr:string):TimeFormatObject;
}
interface TimeFormatObject$ {
clone():any;
getAm():string;
getLocale():$.java.util.Locale;
getLocaleStr():string;
getPm():string;
getTimeArea():string;
getTimeFormat():string;
setAm(am:string):void;
setLocaleStr(localeStr:string):void;
setPm(pm:string):void;
setTimeArea(timeArea:string):void;
setTimeFormat(timeFormat:string):void;
}
type TimeFormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & TimeFormatObject_S & TimeFormatObject$;
interface TimeFormatObject extends TimeFormatObject_T {
}
interface CurrencyFormatObject_S {
}
type CurrencyFormatObject_ST = NumberFormatObject_S & CurrencyFormatObject_S;
interface CurrencyFormatObject_C extends CurrencyFormatObject_ST {
new():CurrencyFormatObject;
new(currPosFormat:string,decimalPoint:string,numSeparator:string,zeroShow:string,numGroupFormat:string,negativeFormat:string):CurrencyFormatObject;
new(cnyShowPrefix:string,currPosFormat:string,decimalPoint:string,numSeparator:string,zeroShow:string,numGroupFormat:string,negativeFormat:string):CurrencyFormatObject;
}
interface CurrencyFormatObject$ {
getCnyShowPrefix():string;
getCurrPosFormat():string;
getCurrencyNumber():string;
getCurrencySymbols():string;
setCnyShowPrefix(cnyShowPrefix:string):void;
setCurrPosFormat(currPosFormat:string):void;
setCurrencyNumber(currencyNumber:string):void;
setCurrencySymbols(currencySymbols:string):void;
}
type CurrencyFormatObject_T = NumberFormatObject & CurrencyFormatObject_S & CurrencyFormatObject$;
interface CurrencyFormatObject extends CurrencyFormatObject_T {
}
enum CurrencyPrefixType {
CurrencySymbol,
CurrencyNumber,
CurrencyNone
}
interface NumberFormat_S {
}
type NumberFormat_ST = AbstractFormat_S & NumberFormat_S;
interface NumberFormat_C extends NumberFormat_ST {
new():NumberFormat;
}
interface NumberFormat$ {
}
type NumberFormat_T = AbstractFormat & NumberFormat_S & NumberFormat$;
interface NumberFormat extends NumberFormat_T {
}
interface IUseRegion_S {
}
interface IUseRegion$ {
setUseRegion(arg0:boolean):void;
}
type IUseRegion_T = IUseRegion_S & IUseRegion$;
interface IUseRegion extends IUseRegion_T {
}
}
namespace kd.bos.entity.formula{
interface VarValueParser_S {
/**
* 从上下文中取变量值
*
* @param var 变量名
* @param expContext 上下文
* @return 返回变量值,如果取值失败,返回null
*/
getVarValue(var_arg:string,expContext:ExpressionContext):any;
/**
* 从上下文对象中,获取表达式变量的值,打包为字典返回
*
* @param expression 表达式对象,内含原始表达式,解析出的变量集合、函数集合
* @param expContext 上下文对象,负责提供变量值
* @return 返回变量值字典,以变量名为Key,变量值为Value
*/
getVarValues(expression:BOSExpression,expContext:ExpressionContext):$.java.util.Map;
}
interface VarValueParser_C extends VarValueParser_S {
new():VarValueParser;
}
interface VarValueParser$ {
}
type VarValueParser_T = VarValueParser_S & VarValueParser$;
interface VarValueParser extends VarValueParser_T {
}
interface OutValue_S {
}
interface OutValue_C extends OutValue_S {
new():OutValue;
}
interface OutValue$ {
get():any;
set(arg0:any):void;
}
type OutValue_T = OutValue_S & OutValue$;
interface OutValue extends OutValue_T {
}
interface BOSExpression_S {
}
interface BOSExpression_C extends BOSExpression_S {
new(expression:string):BOSExpression;
}
interface BOSExpression$ {
/**
* 解析出错原因
*
* @return
*/
getErrMessage():string;
/**
* 解析后的表达式对象
*
* @return
*/
getExpr():$.kd.bos.formula.excel.Expr;
/**
* 原始表达式
*
* @return
*/
getExpression():string;
/**
* 表达式中包含的函数
*
* @return
*/
getFuncs():$.java.util.Set;
/**
* 表达式中包含的变量
*
* @return
*/
getVars():$.java.util.Set;
/**
* 解析过程有没有出错
*
* @return
*/
isError():boolean;
}
type BOSExpression_T = BOSExpression_S & BOSExpression$;
interface BOSExpression extends BOSExpression_T {
}
interface CalcExprParser_S {
/**
* 提取表达式中包含的变量
*
* @param expression 表达式
* @return
*/
getExprVariables(expression:string):string[];
/**
* 计算一个表达式的值,例如:F1*F2
*
* 基于单据数据包,计算表达式的值
*
* @param calcParameter 计算参数
* @return
*/
getExpressionValue(calcParameter:ExpressionParameter):any;
/**
* 计算表达式的值:由表达式上下文对象解析变量的值
*
* 适用于单条执行计算公式;批量执行此方法,会重复解析公式中的变量、函数,资源浪费
*
* @param expression 已解析好的表达式对象
* @param expContext 表达式运算上下文
* @param funcLib 自定义函数
* @return
*/
getExpressionValue(expression:BOSExpression,expContext:ExpressionContext,funcLib:kd.bos.entity.function_.FunctionManage):any;
/**
* 计算表达式的值:由表达式上下文对象解析变量的值
*
* 适用于单条执行计算公式;批量执行此方法,会重复解析公式中的变量、函数,资源浪费
*
* @param expression 表达式
* @param expContext 表达式运算上下文
* @param funcLib 自定义函数
* @return
*/
getExpressionValue(expression:string,expContext:ExpressionContext,funcLib:kd.bos.entity.function_.FunctionManage):any;
/**
* 获取变量值
*
* @param row 数据行
* @param var 变量名
* @param rowIndex 行号
* @return
* @return
* @deprecated 这个函数有缺陷,只能取普通字段值、基础资料简单属性值,不建议使用
*/
getModelValue(row:RowDataModel,var_arg:string,rowIndex:number):any;
}
interface CalcExprParser_C extends CalcExprParser_S {
new():CalcExprParser;
}
interface CalcExprParser$ {
}
type CalcExprParser_T = CalcExprParser_S & CalcExprParser$;
interface CalcExprParser extends CalcExprParser_T {
}
interface ExpressionContext_S {
}
interface ExpressionContext$ {
/**
* 获取批量执行,能接收的最大结果条数:限制批量查询结果大小,避免在本地存储超量结果导致内存溢出
* @return
*/
getBatchResultMaxCount?():number;
/**
* 尝试获取批量执行结果:如果未执行批量运算,返回false
*
* @param BatchFuncRunParam 函数执行参数包
* @param value 输出批量执行结果
*
* @return 如果查到了批量运算,返回true,同时把执行结果放在value参数中输出
*/
tryGetBatchRunResult?(funcParams:kd.bos.entity.function_.BatchFuncRunParam,value:OutValue):boolean;
/**
* 获取变量值
*
* @param key 变量名
* @param value 输出参数,输出取到的变量值
* @return 如果变量取值成功,返回true;如果变量不存在,返回false
*/
tryGetValue(key:string,value:OutValue):boolean;
}
type ExpressionContext_T = ExpressionContext_S & ExpressionContext$;
interface ExpressionContext extends ExpressionContext_T {
}
interface RowDataModel_S {
/**
* 比较两个实体的等级,如果e1是父级,返回-1; 如果e1是子级,则返回1;
*
* @param e1 第一个实体
* @param e2 第二个实体
* @return 实体等级比较的结果
*/
compareEntityLevel(e1:EntityType,e2:EntityType):number;
/**
* 从单据主实体中,寻找变量对应的字段返回:变量名,可能包含了单据体前缀,或者是基础资料的引用属性,本函数会对变量按"."进行分解,找出原始字段属性返回
*
* @param mainType 主实体
* @param var 变量
* @return 变量在实体中对应的属性
*/
findProperty(mainType:MainEntityType,var_arg:string):$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
}
interface RowDataModel_C extends RowDataModel_S {
/**
* 构造函数之二:基于实体模型,通过解析实体间的依赖关系,获取目标字段值
*
* @param entityKey 焦点实体
* @param mainEntityType 主实体模型
*/
new(entityKey:string,mainEntityType:MainEntityType):RowDataModel;
/**
* 构造函数之一:基于model获取字段值
*
* @param entityKey 焦点实体
* @param model 数据模型
*/
new(entityKey:string,model:kd.bos.entity.datamodel.IDataModel):RowDataModel;
}
interface RowDataModel$ {
/**
* 取字段值,已废弃
*
* @param var 字段
* @param rowIndex 字段所在实体行
* @return
* @remark 本函数完全基于model取数,在某些场景下,并没有model传入,此方法不适用;
* 另外,也不能支持读取嵌套属性值,如"dept.number"
* @deprecated 请改用 getValue(var)
*/
get(var_arg:string,rowIndex:number):any;
/**
* 焦点行
*
* @return 焦点行
*/
getActiveRow():any;
/**
* 焦点实体名
*
* @return 实体key
*/
getEntityKey():string;
/**
* 焦点实体
*
* @return 实体类型
*/
getEntityType():EntityType;
/**
* 主实体
*
* @return 主实体类型
*/
getMainEntityType():MainEntityType;
getModel():kd.bos.entity.datamodel.IDataModel;
/**
* 焦点实体
*
* @return 实体key
* @deprecated 请使用getEntityKey()
*/
getSource():string;
/**
* 焦点实体级别:0 = 单据头,1 = 单据体,2 = 子单据体
*
* @return 实体级别
* @deprecated 请使用getEntityLevel()
*/
getSourceLevel():number;
/**
* 取变量值
*
* @param var 变量,如"dept.number"、"entryentity1.id"
* @return 如果在当前实体上取字段值,返回单值;如果在子实体中取值,返回值集合
*/
getValue(var_arg:string):any;
setRowContext(activeRow:$.kd.bos.dataentity.entity.DynamicObject):void;
setRowContext(activeRow:any,rowIndex:number):void;
/**
* 填写变量值
*
* @param var 变量,如 "billnoResManager.loadKDString("等,不支持给嵌套的属性赋值(如", "602753689555305472", SubSystemType.SL)dept.number")
* @param value 变量值
* @remark 不需要传入rowIndex:
* 1. 如果不是基于model进行赋值,直接根据实体关系,找到目标实体,操作数据包,用不上rowIndex
* 2. 如果是基于model赋值,但因为目标字段,可能不在当前实体上,传入当前实体rowIndex毫无意义;
* 3. 因此,需要在调用model赋值前,通过model获取字段所在实体的rowIndex,无需在此传入;
* 4. 因此,如果有赋值处理,需要自行在外围处理好model参数的当前行索引
*/
setValue(var_arg:string,value:any):void;
/**
* 尝试取变量值
*
* @param var 变量名
* @param value 输出变量值
* @return 如果取值失败,返回false
*/
tryGetValue(var_arg:string,value:OutValue):boolean;
}
type RowDataModel_T = RowDataModel_S & RowDataModel$;
interface RowDataModel extends RowDataModel_T {
}
interface ExpressionParameter_S {
}
interface ExpressionParameter_C extends ExpressionParameter_S {
new(express:string,rowDataModel:RowDataModel):ExpressionParameter;
new(express:string,rowDataModel:RowDataModel,fcunLib:kd.bos.entity.function_.FunctionManage):ExpressionParameter;
new(express:BOSExpression,rowDataModel:RowDataModel,fcunLib:kd.bos.entity.function_.FunctionManage):ExpressionParameter;
}
interface ExpressionParameter$ {
/**
* 当前实体焦点行数据包
* @return
*/
getActiveRow():any;
/**
* 返回编译后的表达式对象
* @return
*/
getBOSExpression():BOSExpression;
/**
* @return 返回要计算的表达式
*/
getExpression():string;
/**
* 自定义函数管理类,持有全部自定义函数
* @return
*/
getFcunLib():kd.bos.entity.function_.FunctionManage;
/**
* 当前实体行索引
* @return
*/
getRowIndex():number;
/**
* @return 行数据模型
*/
getRowModel():RowDataModel;
setActiveRow(activeRow:any):void;
setFcunLib(fcunLib:kd.bos.entity.function_.FunctionManage):void;
setRowIndex(rowIndex:number):void;
}
type ExpressionParameter_T = ExpressionParameter_S & ExpressionParameter$;
interface ExpressionParameter extends ExpressionParameter_T {
}
interface BOSExpressionContext_S {
}
type BOSExpressionContext_ST = ExpressionContext_S & BOSExpressionContext_S;
interface BOSExpressionContext_C extends BOSExpressionContext_ST {
new(rowDataModel:RowDataModel):BOSExpressionContext;
}
interface BOSExpressionContext$ {
getRowDataModel():RowDataModel;
setBatchResultMaxCount(maxCount:number):void;
setBatchRunResult(batchRunResult:$.java.util.Map):void;
setRowDataModel(rowDataModel:RowDataModel):void;
}
type BOSExpressionContext_T = ExpressionContext & BOSExpressionContext_S & BOSExpressionContext$;
interface BOSExpressionContext extends BOSExpressionContext_T {
}
}
namespace kd.bos.entity.function_{
interface BillFuncTypesLoader_S {
/**
* 读取各业务云,在平台扩展工程中,定义的单据函数
* @return 单据函数
*/
loadBizCloudFuncTypes():FunctionTypes;
/**
* 读取各业务元,与loadBizCloudFuncTypes方法相似,只是忽略缓存。 用于多语言部署接口,生成xml多语言差分
* @return
*/
loadBizCloudFuncTypesNoCache():FunctionTypes;
}
interface BillFuncTypesLoader_C extends BillFuncTypesLoader_S {
new():BillFuncTypesLoader;
}
interface BillFuncTypesLoader$ {
}
type BillFuncTypesLoader_T = BillFuncTypesLoader_S & BillFuncTypesLoader$;
interface BillFuncTypesLoader extends BillFuncTypesLoader_T {
}
interface FunctionFeatures_S {
}
interface FunctionFeatures$ {
isSupportBatchRunParam():boolean;
}
type FunctionFeatures_T = $.java.lang.annotation.Annotation & FunctionFeatures_S & FunctionFeatures$;
interface FunctionFeatures extends FunctionFeatures_T {
}
interface BOSBatchFunction_S {
}
interface BOSBatchFunction$ {
/**
* 批量执行
*
* @param args 批量执行参数:集合包含一批函数参数包
*
* @return 返回批量执行结果,按参数包和函数执行结果一一对应
*/
batchCall(args:$.java.util.Set):$.java.util.Map;
}
type BOSBatchFunction_T = BOSBatchFunction_S & BOSBatchFunction$;
interface BOSBatchFunction extends BOSBatchFunction_T {
}
interface FunctionGroup_S {
}
interface FunctionGroup_C extends FunctionGroup_S {
new():FunctionGroup;
}
interface FunctionGroup$ {
/**
* 标识
* @return
*/
getId():string;
/**
* 名称,多语言
* @return
* @remark
* 其他语言,可以添加新的资源文件实现
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 函数分组显示顺序
* @return
*/
getSeq():number;
/**
* 分组是否默认展开
* @return
*/
isExpend():boolean;
/**
* 是否可见
* @return
* @remark
* 不可见的分组及其包含的函数,不会显示在函数树中;但运行时支持
*/
isVisible():boolean;
setExpend(expend:boolean):void;
setId(id:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setSeq(seq:number):void;
setVisible(visible:boolean):void;
}
type FunctionGroup_T = FunctionGroup_S & FunctionGroup$;
interface FunctionGroup extends FunctionGroup_T {
}
interface BOSUDFunction_S {
}
interface BOSUDFunction$ {
/**
* 传入函数执行上下文对象,构建函数执行实例返回
*
* @param expContext 函数执行上下文对象,基于此获取函数隐含的参数值
* @return
*/
getInstance(expContext:kd.bos.entity.formula.ExpressionContext):this;
}
type BOSUDFunction_T = $.kd.bos.formula.excel.UDFunction & BOSUDFunction_S & BOSUDFunction$;
interface BOSUDFunction extends BOSUDFunction_T {
}
interface BatchFuncParser_S {
}
interface BatchFuncParser_C extends BatchFuncParser_S {
new():BatchFuncParser;
}
interface BatchFuncParser$ {
/**
* 批量执行函数
*
* @param batchParams 批量执行参数
* @param expContext 上下文
* @param funcLib 函数库
*
* @return 批量执行结果
*/
batchCall(batchParams:$.java.util.Set,expContext:kd.bos.entity.formula.ExpressionContext,funcLib:FunctionManage):$.java.util.Map;
/**
* 预执行表达式:提取表达式中支持批量运算的函数,把其参数值打包返回
*
* @param expression 表达式对象,内含表达式原文,解析后的计算单元、变量、函数名集合
* @param expContext 表达式执行上下文
* @param funcLib 自定义函数库
*
* @return 返回支持批量执行的函数及其参数包
*/
preCall(expression:kd.bos.entity.formula.BOSExpression,expContext:kd.bos.entity.formula.ExpressionContext,funcLib:FunctionManage):$.java.util.Set;
}
type BatchFuncParser_T = BatchFuncParser_S & BatchFuncParser$;
interface BatchFuncParser extends BatchFuncParser_T {
}
interface ExprFuncCreator_S {
/**
* 创建函数执行实例,传入执行上下文
*
* @param funcName 自定义函数名
* @param funcLib 全部函数库
* @param expContext 上下文,构造函数函数执行时,传入上下文对象,以便函数执行时,能够访问上下文,获取其他信息
*
* @return 返回函数执行类实例集合
*/
createUDFunction(funcName:string,funcLib:FunctionManage,expContext:kd.bos.entity.formula.ExpressionContext):BOSUDFunction;
/**
* 创建函数执行实例,传入执行上下文
*
* @param funcNames 用到的函数,需构造这些函数的执行类实例
* @param funcLib 全部函数库
* @param expContext 上下文,构造函数函数执行时,传入上下文对象,以便函数执行时,能够访问上下文,获取其他信息
*
* @return 返回函数执行类实例集合
*/
createUDFunctions(funcNames:$.java.util.Set,funcLib:FunctionManage,expContext:kd.bos.entity.formula.ExpressionContext):BOSUDFunction[];
}
interface ExprFuncCreator_C extends ExprFuncCreator_S {
new():ExprFuncCreator;
}
interface ExprFuncCreator$ {
}
type ExprFuncCreator_T = ExprFuncCreator_S & ExprFuncCreator$;
interface ExprFuncCreator extends ExprFuncCreator_T {
}
interface FunctionType_S {
}
interface FunctionType_C extends FunctionType_S {
new():FunctionType;
}
interface FunctionType$ {
/**
* 函数在表达式中的定义格式,包括括号,大小写必须一致
* @return
*/
getDef():string;
/**
* 函数用途、参数描述
* @return
*/
getDesc():$.kd.bos.dataentity.entity.LocaleString;
/**
* 函数所属分组
* @return
*/
getGroupId():string;
/**
* 函数标识,设计时,与其他函数区分
* @return
* @remark
* 函数嵌入表达式后,函数名来自def属性,与函数标识不要求一致,但必须与函数执行类中的getName()方法返回的名称一致,大小写敏感
*/
getId():string;
/**
* 函数标题
* @return
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 函数返回的数据类型
* @return
*/
getReturnType():string;
/**
* 函数执行类
* @return
*/
getRunClass():string;
/**
* 函数在函数分组中的显示顺序
* @return
*/
getSeq():number;
/**
* 函数参数配置FormId
*
* @return
*/
getSettingFormId():string;
getSrcApp():string;
/**
* 获取来源类型
* @return
*/
getSrcType():kd.bos.entity.operate.OpDefinitionSource;
setDef(def:string):void;
setDesc(desc:$.kd.bos.dataentity.entity.LocaleString):void;
setGroupId(groupId:string):void;
setId(id:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setReturnType(returnType:string):void;
setRunClass(runClass:string):void;
setSeq(seq:number):void;
setSettingFormId(settingFormId:string):void;
setSrcApp(srcApp:string):void;
/**
* 获取来源应用
* @param srcType
*/
setSrcType(srcType:kd.bos.entity.operate.OpDefinitionSource):void;
}
type FunctionType_T = FunctionType_S & FunctionType$;
interface FunctionType extends FunctionType_T {
}
interface FunctionManage_S {
/**
* 自动读取平台预置的函数定义,构建函数执行类
*
* @return
* @remark 适用于实体服务规则、操作校验等,适用平台预置的函数定义,无需自行传入函数集合
*/
get():FunctionManage;
/**
* 基于传入的函数定义集合,构建函数执行类;
*
* @param functionTypes
* @return
* @remark 适用于BOTP、工作流等场景,使用自定义函数执行表达式,直接传入自定义函数集合
*/
get(functionTypes:FunctionTypes):FunctionManage;
}
interface FunctionManage_C extends FunctionManage_S {
new():FunctionManage;
}
interface FunctionManage$ {
/**
* 注册自定义函数
*
* @param funcName
* @param func
*/
addFunc(funcName:string,func:BOSUDFunction):void;
/**
* 注册自定义函数
*
* @param funcs
*/
addFuncs(funcs:$.java.util.Map):void;
/**
* 自定义函数字典
*
* @return
*/
getFuncMap():$.java.util.Map;
}
type FunctionManage_T = FunctionManage_S & FunctionManage$;
interface FunctionManage extends FunctionManage_T {
}
interface UDFunctionVisitor_S {
}
type UDFunctionVisitor_ST = $.kd.bos.formula.excel.Visitor & UDFunctionVisitor_S;
interface UDFunctionVisitor_C extends UDFunctionVisitor_ST {
new():UDFunctionVisitor;
}
interface UDFunctionVisitor$ {
/**
* 输出表达式中包含的全部函数计算单元
*
* @return 函数计算单元
*/
getFunCalls():$.java.util.List;
/**
* 输出表达式中包含的全部函数名
*
* @return 不重复的函数名
*/
getFuncNames():$.java.util.HashSet;
}
type UDFunctionVisitor_T = $.kd.bos.formula.excel.Visitor & UDFunctionVisitor_S & UDFunctionVisitor$;
interface UDFunctionVisitor extends UDFunctionVisitor_T {
}
interface BatchFuncRunParam_S {
}
interface BatchFuncRunParam_C extends BatchFuncRunParam_S {
/**
* 构造函数
*
* @param funcName 函数名
* @param funcParamVals 函数参数值
*/
new(funcName:string,funcParamVals:any[]):BatchFuncRunParam;
}
interface BatchFuncRunParam$ {
/**
* 获取函数名
*
* @return 返回函数名
*/
getFuncName():string;
/**
* 获取函数运行时参数值
*
* @return 返回函数运行时参数值
*/
getFuncParamVals():any[];
}
type BatchFuncRunParam_T = BatchFuncRunParam_S & BatchFuncRunParam$;
interface BatchFuncRunParam extends BatchFuncRunParam_T {
}
interface FunctionTypes_S {
readonly FUNCTION_TYPES_ID:string;
readonly FuncFile_BOS_Bill:string;
readonly FuncFile_BOS_Common:string;
/**
* 增加清除缓存接口
*/
clearCache():void;
/**
* 输出BOS单据适用的全部函数定义,包含预置通用函数、单据函数、业务预置的单据函数、二开扩展的单据函数
*
* @return
*/
get():FunctionTypes;
/**
* 把xml内容反序列化为函数定义类
*
* @param xml
* @return
*/
get(xml:string):FunctionTypes;
/**
* 读取传入的函数资源文件,反序列化为函数定义类
*
* @param xmlUrl 函数资源文件
* @param needIncludeBosFunctions 是否自动包含BOS共用函数
* @return
*/
get(xmlUrl:$.java.net.URL,needIncludeBosFunctions:boolean):FunctionTypes;
/**
* 输出预置的公共函数
*
* @return
*/
getCommonFuncs():FunctionTypes;
/**
* 输出BOS单据适用的全部函数定义,不考虑缓存,用于多语言部署接口,生成差分xml
* 多语言抽取词条用
*
* @return
*/
getFromXml():FunctionTypes;
/**
* 把函数定义,序列化为xml字符串
*
* @param functionTypes
* @return
*/
serializeToXML(functionTypes:FunctionTypes):string;
}
interface FunctionTypes_C extends FunctionTypes_S {
new():FunctionTypes;
}
interface FunctionTypes$ {
/**
* 函数分组
*
* @return
*/
getFunctionGroups():$.java.util.List;
/**
* 函数定义集合
*
* @return
*/
getFunctionTypes():$.java.util.List;
/**
* 当前语言资源是否加载完成
* @param lang
* @return
*/
isLoaded(lang:$.kd.bos.lang.Lang):boolean;
/**
* 标记指定语言资源加载完成
* @param lang
*/
setLoaded(lang:$.kd.bos.lang.Lang):void;
}
type FunctionTypes_T = FunctionTypes_S & FunctionTypes$;
interface FunctionTypes extends FunctionTypes_T {
}
}
namespace kd.bos.entity.list{
interface IQuery_S {
getPreGetPageCount():number;
}
interface IQuery$ {
getChildsId(groupProp:kd.bos.entity.property.GroupProp,longNumber:string):$.java.util.List;
getData(queryBuilder:QueryBuilder):$.kd.bos.dataentity.entity.DynamicObjectCollection;
getDataEntityTypes():$.java.util.List;
getGroupNodes(groupProp:kd.bos.entity.property.GroupProp,filters:$.java.util.List,format:string,parentId:any,longNumber:string,queryParas:$.java.util.Map):$.java.util.List;
getQueryResult():QueryResult;
setDataEntityTypes(dataEntityTypes:$.java.util.List):void;
}
type IQuery_T = IQuery_S & IQuery$;
interface IQuery extends IQuery_T {
}
interface GroupByField_S {
}
type GroupByField_ST = $.java.io.Serializable & GroupByField_S;
interface GroupByField_C extends GroupByField_ST {
new(groupBy:string,sums:$.java.util.List):GroupByField;
}
interface GroupByField$ {
getGroupBy():string;
getSums():$.java.util.List;
}
type GroupByField_T = $.java.io.Serializable & GroupByField_S & GroupByField$;
interface GroupByField extends GroupByField_T {
}
interface FormatFieldData_S {
}
interface FormatFieldData_C extends FormatFieldData_S {
new(fieldKey:string,fieldValue:any):FormatFieldData;
}
interface FormatFieldData$ {
getFieldKey():string;
getFieldValue():any;
getFieldValueDesc():any;
setFieldValueDesc(fieldValueDesc:any):void;
}
type FormatFieldData_T = FormatFieldData_S & FormatFieldData$;
interface FormatFieldData extends FormatFieldData_T {
}
interface GroupBySummaryResult_S {
}
type GroupBySummaryResult_ST = TimeoutSummaryResult_S & GroupBySummaryResult_S;
interface GroupBySummaryResult_C extends GroupBySummaryResult_ST {
new():GroupBySummaryResult;
new(fieldName:string,result:$.java.math.BigDecimal,summary:number):GroupBySummaryResult;
new(fieldName:string,numberPrecision:kd.bos.entity.datamodel.NumberPrecision,summary:number,amountGroupInfo:AmountGroupInfo):GroupBySummaryResult;
}
interface GroupBySummaryResult$ {
getAmountGroupInfo():AmountGroupInfo;
}
type GroupBySummaryResult_T = TimeoutSummaryResult & GroupBySummaryResult_S & GroupBySummaryResult$;
interface GroupBySummaryResult extends GroupBySummaryResult_T {
}
interface IListDataProvider_S {
}
interface IListDataProvider$ {
/**
* 获取单据张数,只统计PK数
*
* @return 单据张数,只统计PK数
*/
getBillDataCount?():number;
/**
* 分页取数
* @param start 开始页数
* @param limit 结束页数
* @return 分页数据
*/
getData(start:number,limit:number):$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 获取最大条数+1的条数
*
* @return 最大条数+1的条数
*/
getMaxCount?():number;
/**
* 返回查询结果
*
* @return 查询结果
*/
getQueryResult?():QueryResult;
/**
* 获取列表真实条数
*
* @return 列表真实条数
*/
getRealCount?():number;
/**
* 获取合计数据
*
* @return 合计数据
*/
getSummaryResults():$.java.util.List;
/**
* 列表条数是否超过了最大条数
*
* @return 列表条数是否超过了最大条数
*/
isExceedMaxCount?():boolean;
}
type IListDataProvider_T = IListDataProviderContext & IListDataProvider_S & IListDataProvider$;
interface IListDataProvider extends IListDataProvider_T {
}
interface SummaryResult_S {
}
type SummaryResult_ST = $.java.io.Serializable & SummaryResult_S;
interface SummaryResult_C extends SummaryResult_ST {
new():SummaryResult;
/**
* 构造函数
*
* @param fieldName 字段名
* @param result 值
* @param summary 合计类型
*/
new(fieldName:string,result:$.java.math.BigDecimal,summary:number):SummaryResult;
}
interface SummaryResult$ {
/**
* 获取累加值
*
* @param result 需要累加的值
*/
addResult(result:$.java.math.BigDecimal):void;
createSummaryResultMap():$.java.util.Map;
/**
* 获取合计字段名
*
* @return 字段名
*/
getFieldName():string;
/**
* 获取精度类型
*
* @return 精度类型
*/
getNumberPrecision():kd.bos.entity.datamodel.NumberPrecision;
/**
* 获取汇总类型: 0:无,1:合计 2:平均值 3:最大值,4:最小值,5:计数
*
* @return 汇总类型: 0:无,1:合计 2:平均值 3:最大值,4:最小值,5:计数
*/
getSummary():number;
/**
* 设置合计字段名
*
* @param fieldName 字段名
*/
setFieldName(fieldName:string):void;
/**
* 设置精度类型
*
* @param numberPrecision 精度类型
*/
setNumberPrecision(numberPrecision:kd.bos.entity.datamodel.NumberPrecision):void;
/**
* 设置合计类型
*
* @param summary 合计类型
*/
setSummary(summary:number):void;
/**
* 获取格式化字符串
*
* @return 格式化字符串
*/
toFmtString():string;
}
type SummaryResult_T = $.java.io.Serializable & SummaryResult_S & SummaryResult$;
interface SummaryResult extends SummaryResult_T {
}
interface QueryBuilder_S {
}
type QueryBuilder_ST = AbstractQueryBuilder_S & QueryBuilder_S;
interface QueryBuilder_C extends QueryBuilder_ST {
/**
* 构造函数
*/
new():QueryBuilder;
/**
* 构造函数,对象克隆
*
* @param queryBuilder 对象
*/
new(queryBuilder:QueryBuilder):QueryBuilder;
/**
* 构造函数
*
* @param sumFields
* 合计字段
* @param selectFields
* 查询字段列表
* @param filters
* 过滤条件
* @param orderBys
* 排序字段
* @param start
* 起始行
* @param limit
* 查询条数
* @param entityType
* 实体类型
* @param visibleSelectFieldList
* 可见字段列表
*/
new(sumFields:$.java.util.List,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,start:number,limit:number,entityType:$.kd.bos.dataentity.metadata.IDataEntityType,visibleSelectFieldList:$.java.util.List):QueryBuilder;
}
interface QueryBuilder$ {
/**
* 获取归档信息
*
* @return 归档信息
*/
getAchiveKey():string;
/**
* 获取数字类型字段列表
*
* @return 数字类型字段列表
*/
getDecimalFields():$.java.util.List;
/**
* 获取实体标识名称
*
* @return 实体标识名称
*/
getEntityName():string;
getGroupBy():string;
/**
* 获取分组汇总字段属性
*
* @return
*/
getGroupBySumFields():$.java.util.List;
/**
* 获取最大返回条数
*
* @return 最大返回条数
*/
getMaxReturnData():number;
/**
* 获取PK字段列表
*
* @return PK字段列表
*/
getPkFields():$.java.util.List;
getQuerySumFields():$.java.util.List;
/**
* 获取返回的实体类型
*
* @return 返回的实体类型
*/
getReturnEntityType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
/**
* 获取路由信息
*
* @return 路由信息
*/
getRouteKey():string;
/**
* 获取排序字段
*
* @return 排序字段
*/
getSeqField():string;
/**
* 获取可见字段集合
*
* @return 可见字段集合
*/
getVisibleSelectFieldList():$.java.util.List;
/**
* 获取是否超过最大条数
*
* @return 是否超过最大条数
*/
isExceedMaxCount():boolean;
/**
* 是否是融合列
*
* @return 是否是融合列
*/
isMergeRow():boolean;
/**
* 获取是否需要重新合计,不要缓存,已选合计使用
*
* @return 是否需要重新合计
*/
isNeedResum():boolean;
/**
* 获取选择全部
*
* @return 是否选择全部
*/
isSelectedAllRows():boolean;
/**
* 设置归档信息
*
* @param achiveKey 归档信息
*/
setAchiveKey(achiveKey:string):void;
/**
* 设置实体标识名称
*
* @param entityName 实体标识名称
*/
setEntityName(entityName:string):void;
/**
* 设置取条数是否是取超过最大条数场景
*
* @param isExceedMaxCount 取条数是否是取超过最大条数场景
*/
setExceedMaxCount(isExceedMaxCount:boolean):void;
setGroupBy(groupBy:string):void;
/**
* 设置分组汇总字段属性
*
* @param groupBySumFields
*/
setGroupBySumFields(groupBySumFields:$.java.util.List):void;
/**
* 设置最大返回条数
*
* @param maxReturnData 最大返回条数
*/
setMaxReturnData(maxReturnData:number):void;
/**
* 设置路由信息
*
* @param routeKey 路由信息
*/
setRouteKey(routeKey:string):void;
}
type QueryBuilder_T = AbstractQueryBuilder & QueryBuilder_S & QueryBuilder$;
interface QueryBuilder extends QueryBuilder_T {
}
interface AmountGroupInfo_S {
}
type AmountGroupInfo_ST = $.java.io.Serializable & AmountGroupInfo_S;
interface AmountGroupInfo_C extends AmountGroupInfo_ST {
new():AmountGroupInfo;
new(currencyId:any):AmountGroupInfo;
}
interface AmountGroupInfo$ {
createClientMap():$.java.util.Map;
getAbbreviation():string;
getCurrencyId():any;
getValue():string;
setAbbreviation(abbreviation:string):void;
setValue(value:string):void;
}
type AmountGroupInfo_T = $.java.io.Serializable & AmountGroupInfo_S & AmountGroupInfo$;
interface AmountGroupInfo extends AmountGroupInfo_T {
}
interface TimeoutSummaryResult_S {
}
type TimeoutSummaryResult_ST = SummaryResult_S & TimeoutSummaryResult_S;
interface TimeoutSummaryResult_C extends TimeoutSummaryResult_ST {
new():TimeoutSummaryResult;
new(fieldName:string,result:$.java.math.BigDecimal,summary:number):TimeoutSummaryResult;
new(fieldName:string,result:$.java.math.BigDecimal,summary:number,asyncSummaryEnum:AsyncSummaryEnum):TimeoutSummaryResult;
}
interface TimeoutSummaryResult$ {
getAsyncSummaryEnum():AsyncSummaryEnum;
}
type TimeoutSummaryResult_T = SummaryResult & TimeoutSummaryResult_S & TimeoutSummaryResult$;
interface TimeoutSummaryResult extends TimeoutSummaryResult_T {
}
interface JoinProperty_S {
}
type JoinProperty_ST = $.kd.bos.dataentity.metadata.IJoinProperty & kd.bos.entity.property.BasedataProp_S & JoinProperty_S;
interface JoinProperty_C extends JoinProperty_ST {
new():JoinProperty;
new(fkProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,joinProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):JoinProperty;
}
interface JoinProperty$ {
}
type JoinProperty_T = kd.bos.entity.property.BasedataProp & $.kd.bos.dataentity.metadata.IJoinProperty & JoinProperty_S & JoinProperty$;
interface JoinProperty extends JoinProperty_T {
}
interface FormatRowData_S {
}
type FormatRowData_ST = $.java.util.ArrayList & FormatRowData_S;
interface FormatRowData_C extends FormatRowData_ST {
new():FormatRowData;
}
interface FormatRowData$ {
add(formatFieldData:FormatFieldData):boolean;
get(fieldKey:string):FormatFieldData;
}
type FormatRowData_T = $.java.util.ArrayList & FormatRowData_S & FormatRowData$;
interface FormatRowData extends FormatRowData_T {
}
interface QueryResult_S {
}
interface QueryResult_C extends QueryResult_S {
/**
* 构造函数
*/
new():QueryResult;
/**
* 构造函数
*
* @param summaryResults
* 汇总结果列表
* @param dataCount
* 条数
*/
new(summaryResults:$.java.util.List,dataCount:number):QueryResult;
}
interface QueryResult$ {
/**
* 获取单据数量
*
* @return 单据数量
*/
getBillDataCount():number;
/**
* 获取结果集合
*
* @return 结果集合
*/
getCollection():$.kd.bos.dataentity.entity.DynamicObjectCollection;
/**
* 获取查询记录数量
*
* @return 查询记录数量
*/
getDataCount():number;
/**
* 获取引出和套打需要的格式数据
*
* @return 引出和套打需要的格式数据
*/
getFormatRowDatas():$.java.util.List;
/**
* 获取汇总结果列表
*
* @return 汇总结果列表
*/
getSummaryResults():$.java.util.List;
/**
* 设置单据数量,IdQuery使用
*
* @param billDataCount 单据数量
*/
setBillDataCount(billDataCount:number):void;
/**
* 设置结果集合
*
* @param collection 结果集合
*/
setCollection(collection:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
/**
* 设置条数,IdQuery使用
*
* @param dataCount 条数
*/
setDataCount(dataCount:number):void;
/**
* 设置引出和套打需要的格式数据
*
* @param formatRowDatas 引出和套打需要的格式数据
*/
setFormatRowDatas(formatRowDatas:$.java.util.List):void;
/**
* 设置汇总结果列表
*
* @param summaryResults 汇总结果列表
*/
setSummaryResults(summaryResults:$.java.util.List):void;
}
type QueryResult_T = QueryResult_S & QueryResult$;
interface QueryResult extends QueryResult_T {
}
enum AsyncSummaryEnum {
LOADING,
TIMEOUT
}
interface IListDataProviderContext_S {
}
interface IListDataProviderContext$ {
/**
* 添加过滤条件
*
* @param qFilter
* 过滤条件
*/
addQFilters(qFilter:$.kd.bos.orm.query.QFilter):void;
/**
* 返回实体类型,ORM解析需要的动态实体
*
* @return
*/
getDataEntityTypes?():$.java.util.List;
/**
* @return 实体类型
*/
getEntityType():EntityType;
/**
* @return 关键字段集合
*/
getKeyFields?():$.java.util.List;
/**
* @return 列表字段集合
*/
getListFields():$.java.util.List;
/**
* 获取列表用户选项参数
*
* @return
*/
getListUserOption?():kd.bos.entity.list.option.ListUserOption;
/**
* 返回的最大条数,默认10W
*
* @return
*/
getMaxReturnData?():number;
/**
* @return 排序表达式
*/
getOrderByExpr():string;
/**
* @return 主键字段集合
*/
getPKFields?():$.java.util.List;
/**
* @return 过滤条件
*/
getQFilters():$.java.util.List;
/**
* 获取列表查询实体对象
*
* @return
*/
getQueryBuilder?():QueryBuilder;
/**
* 列表可见字段列表
*
* @return
*/
getVisibleSelectFieldList?():$.java.util.List;
/**
* 是否自定义取数
*
* @return
*/
isCustomListDataProvider?():boolean;
/**
* 是否强制使用Sql查询
*
* @return
*/
isForceSqlQuery?():boolean;
/**
* 是否需要重新计算合计
*
* @return
*/
isNeedResum?():boolean;
/**
* 设置ORM解析需要的动态实体类型
*
* @param dataEntityTypes
*/
setDataEntityTypes?(dataEntityTypes:$.java.util.List):void;
/**
* 设置是否需要默认排序
*
* @param defaultOrder
*/
setDefaultOrder?(defaultOrder:boolean):void;
/**
* @param entityType
* 实体类型
*/
setEntityType(entityType:EntityType):void;
/**
* 设置是否强制使用Sql查询
*
* @param forceSqlQuery
*/
setForceSqlQuery?(forceSqlQuery:boolean):void;
/**
* @param listFields
* 关键字段集合
*/
setKeyFields?(keyFields:$.java.util.List):void;
/**
* @param listFields
* 列表字段集合
*/
setListFields(listFields:$.java.util.List):void;
/**
* 设置需要返回的最大条数
*
* @param maxReturnData
*/
setMaxReturnData(maxReturnData:number):void;
/**
* @param orderByExpr
* 排序表达式
*/
setOrderByExpr(orderByExpr:string):void;
/**
* @param listFields
* 主键字段集合
*/
setPKFields?(pkFields:$.java.util.List):void;
/**
* @param param
* 设置列表取数参数化数据
*/
setParam(param:$.java.util.List):void;
/**
* 添加过滤条件集合
*
* @param qFilters
* 过滤条件集
*/
setQFilters(qFilters:$.java.util.List):void;
/**
* 设置列表查询实体对象
*
* @param queryBuilder
*/
setQueryBuilder?(queryBuilder:QueryBuilder):void;
}
type IListDataProviderContext_T = IListDataProviderContext_S & IListDataProviderContext$;
interface IListDataProviderContext extends IListDataProviderContext_T {
}
interface JoinEntity_S {
}
type JoinEntity_ST = $.java.io.Serializable & JoinEntity_S;
interface JoinEntity_C extends JoinEntity_ST {
new():JoinEntity;
}
interface JoinEntity$ {
getAlias():string;
/**
* @Deprecated Use {@link #getLocaleDisplayName} instead.
*/
getDisplayName():string;
getEntityName():string;
getFKProperty():string;
getIncludeFieldNames():string;
getLocaleDisplayName():$.kd.bos.dataentity.entity.LocaleString;
getProperty():string;
isIncludeEntry():boolean;
isMultiRow():boolean;
setAlias(alias:string):void;
/**
* @Deprecated Use {@link #setLocaleDisplayName} instead.
*/
setDisplayName(displayName:string):void;
setEntityName(entityName:string):void;
setFKProperty(fkProperty:string):void;
setIncludeEntry(includeEntry:boolean):void;
setIncludeFieldNames(includeFieldNames:string):void;
setLocaleDisplayName(displayName:$.kd.bos.dataentity.entity.LocaleString):void;
setMultiRow(multiRow:boolean):void;
setProperty(property:string):void;
}
type JoinEntity_T = $.java.io.Serializable & JoinEntity_S & JoinEntity$;
interface JoinEntity extends JoinEntity_T {
}
}
namespace kd.bos.entity.list.column{
interface FlexColumnDesc_S {
}
type FlexColumnDesc_ST = ColumnDesc_S & FlexColumnDesc_S;
interface FlexColumnDesc_C extends FlexColumnDesc_ST {
new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,basePropKey:string):FlexColumnDesc;
}
interface FlexColumnDesc$ {
getBasePropKey():string;
}
type FlexColumnDesc_T = ColumnDesc & FlexColumnDesc_S & FlexColumnDesc$;
interface FlexColumnDesc extends FlexColumnDesc_T {
}
interface ComboColumnDesc_S {
}
type ComboColumnDesc_ST = ColumnDesc_S & ComboColumnDesc_S;
interface ComboColumnDesc_C extends ComboColumnDesc_ST {
new(key:string,comboProp:kd.bos.entity.property.ComboProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ComboColumnDesc;
}
interface ComboColumnDesc$ {
getComboProp():kd.bos.entity.property.ComboProp;
}
type ComboColumnDesc_T = ColumnDesc & ComboColumnDesc_S & ComboColumnDesc$;
interface ComboColumnDesc extends ComboColumnDesc_T {
}
interface ControlColumnDesc_S {
}
type ControlColumnDesc_ST = ColumnDesc_S & ControlColumnDesc_S;
interface ControlColumnDesc_C extends ControlColumnDesc_ST {
new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ControlColumnDesc;
}
interface ControlColumnDesc$ {
}
type ControlColumnDesc_T = ColumnDesc & ControlColumnDesc_S & ControlColumnDesc$;
interface ControlColumnDesc extends ControlColumnDesc_T {
}
interface DecimalColumnDesc_S {
}
type DecimalColumnDesc_ST = NumberColumnDesc_S & DecimalColumnDesc_S;
interface DecimalColumnDesc_C extends DecimalColumnDesc_ST {
/**
* 构造函数
* @param key 字段标识
* @param decProp 直接来源字段
* @param fieldProp 上级基础资料字段
*/
new(key:string,decProp:kd.bos.entity.property.DecimalProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):DecimalColumnDesc;
}
interface DecimalColumnDesc$ {
/**
* 通过设计器的格式化字符串来格式化列表内容
* @param dr 行数据
* @param value 字段值
* @return 格式化后的结果
*/
formatCell(dr:$.kd.bos.dataentity.entity.DynamicObject,value:$.java.math.BigDecimal):any;
}
type DecimalColumnDesc_T = NumberColumnDesc & DecimalColumnDesc_S & DecimalColumnDesc$;
interface DecimalColumnDesc extends DecimalColumnDesc_T {
}
interface RefBillColumnDesc_S {
}
type RefBillColumnDesc_ST = ColumnDesc_S & RefBillColumnDesc_S;
interface RefBillColumnDesc_C extends RefBillColumnDesc_ST {
new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):RefBillColumnDesc;
}
interface RefBillColumnDesc$ {
getColumnDesc():AbstractColumnDesc;
}
type RefBillColumnDesc_T = ColumnDesc & RefBillColumnDesc_S & RefBillColumnDesc$;
interface RefBillColumnDesc extends RefBillColumnDesc_T {
}
interface AdminDivisionColumnDesc_S {
}
type AdminDivisionColumnDesc_ST = ColumnDesc_S & AdminDivisionColumnDesc_S;
interface AdminDivisionColumnDesc_C extends AdminDivisionColumnDesc_ST {
new(key:string,adminDivisionProp:kd.bos.entity.property.AdminDivisionProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):AdminDivisionColumnDesc;
}
interface AdminDivisionColumnDesc$ {
getAdminDivisionProp():kd.bos.entity.property.AdminDivisionProp;
setShowStyle(showStyle:number):void;
}
type AdminDivisionColumnDesc_T = ColumnDesc & AdminDivisionColumnDesc_S & AdminDivisionColumnDesc$;
interface AdminDivisionColumnDesc extends AdminDivisionColumnDesc_T {
}
interface VoucherNoColumnDesc_S {
}
type VoucherNoColumnDesc_ST = AbstractColumnDesc_S & VoucherNoColumnDesc_S;
interface VoucherNoColumnDesc_C extends VoucherNoColumnDesc_ST {
new(key:string):VoucherNoColumnDesc;
new(key:string,operationKey:string,listFieldId:string):VoucherNoColumnDesc;
}
interface VoucherNoColumnDesc$ {
getListFieldId():string;
getOperationKey():string;
getVchNums():$.java.util.Map;
setVchNums(vchNums:$.java.util.Map):void;
}
type VoucherNoColumnDesc_T = AbstractColumnDesc & VoucherNoColumnDesc_S & VoucherNoColumnDesc$;
interface VoucherNoColumnDesc extends VoucherNoColumnDesc_T {
}
interface DateTimeColumnDesc_S {
}
type DateTimeColumnDesc_ST = ColumnDesc_S & DateTimeColumnDesc_S;
interface DateTimeColumnDesc_C extends DateTimeColumnDesc_ST {
new(key:string,dateProp:kd.bos.entity.property.DateTimeProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):DateTimeColumnDesc;
}
interface DateTimeColumnDesc$ {
}
type DateTimeColumnDesc_T = ColumnDesc & DateTimeColumnDesc_S & DateTimeColumnDesc$;
interface DateTimeColumnDesc extends DateTimeColumnDesc_T {
}
interface BaseDataRefColumnDesc_S {
}
type BaseDataRefColumnDesc_ST = BaseDataColumnDesc_S & BaseDataRefColumnDesc_S;
interface BaseDataRefColumnDesc_C extends BaseDataRefColumnDesc_ST {
/**
* 构造函数
*
* @param key
* 字段映射
* @param srcFieldProperty
* 根字段
* @param fieldProp
* 末级字段
* @param baseProp
* 绑定的基础资料属性
* @param columnDesc
* 实际的格式化类
*/
new(key:string,srcFieldProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,baseProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):BaseDataRefColumnDesc;
}
interface BaseDataRefColumnDesc$ {
}
type BaseDataRefColumnDesc_T = BaseDataColumnDesc & BaseDataRefColumnDesc_S & BaseDataRefColumnDesc$;
interface BaseDataRefColumnDesc extends BaseDataRefColumnDesc_T {
}
interface MuliLangTextColumnDesc_S {
}
type MuliLangTextColumnDesc_ST = ColumnDesc_S & MuliLangTextColumnDesc_S;
interface MuliLangTextColumnDesc_C extends MuliLangTextColumnDesc_ST {
new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):MuliLangTextColumnDesc;
}
interface MuliLangTextColumnDesc$ {
}
type MuliLangTextColumnDesc_T = ColumnDesc & MuliLangTextColumnDesc_S & MuliLangTextColumnDesc$;
interface MuliLangTextColumnDesc extends MuliLangTextColumnDesc_T {
}
interface DynamicTextColumnDesc_S {
}
type DynamicTextColumnDesc_ST = AbstractColumnDesc_S & DynamicTextColumnDesc_S;
interface DynamicTextColumnDesc_C extends DynamicTextColumnDesc_ST {
new(key:string,columnDescs:$.java.util.List,formatExpression:string):DynamicTextColumnDesc;
}
interface DynamicTextColumnDesc$ {
/**
* @return 字段格式化表达式
*/
getFormatExpression():string;
/**
* @param formatExpression
* 字段格式化表达式
*/
setFormatExpression(formatExpression:string):void;
}
type DynamicTextColumnDesc_T = AbstractColumnDesc & DynamicTextColumnDesc_S & DynamicTextColumnDesc$;
interface DynamicTextColumnDesc extends DynamicTextColumnDesc_T {
}
interface NumberColumnDesc_S {
}
type NumberColumnDesc_ST = ColumnDesc_S & NumberColumnDesc_S;
interface NumberColumnDesc_C extends NumberColumnDesc_ST {
new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):NumberColumnDesc;
}
interface NumberColumnDesc$ {
formatCell(dr:$.kd.bos.dataentity.entity.DynamicObject,value:any,forExport:boolean):any;
getListShowZeroConfig():kd.bos.entity.list.option.ListShowZeroConfig;
isMobNoDisplayScaleZero():boolean;
isZeroShow():boolean;
setListShowZeroConfig(listShowZeroConfig:kd.bos.entity.list.option.ListShowZeroConfig):void;
setMobNoDisplayScaleZero(mobNoDisplayScaleZero:boolean):void;
setZeroShow(zeroShow:boolean):void;
}
type NumberColumnDesc_T = ColumnDesc & NumberColumnDesc_S & NumberColumnDesc$;
interface NumberColumnDesc extends NumberColumnDesc_T {
}
interface AmountColumnDesc_S {
}
type AmountColumnDesc_ST = NumberColumnDesc_S & AmountColumnDesc_S;
interface AmountColumnDesc_C extends AmountColumnDesc_ST {
new(key:string,amountProp:kd.bos.entity.property.AmountProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):AmountColumnDesc;
}
interface AmountColumnDesc$ {
/**
* 获取格式化字段值(获取币别,计量单位符号存在性能问题,需要调整
*
* @param dr
* @param value
* @return
*/
formatCell(dr:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
}
type AmountColumnDesc_T = NumberColumnDesc & AmountColumnDesc_S & AmountColumnDesc$;
interface AmountColumnDesc extends AmountColumnDesc_T {
}
interface TextColumnDesc_S {
}
type TextColumnDesc_ST = ColumnDesc_S & TextColumnDesc_S;
interface TextColumnDesc_C extends TextColumnDesc_ST {
new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):TextColumnDesc;
}
interface TextColumnDesc$ {
}
type TextColumnDesc_T = ColumnDesc & TextColumnDesc_S & TextColumnDesc$;
interface TextColumnDesc extends TextColumnDesc_T {
}
interface DateColumnDesc_S {
}
type DateColumnDesc_ST = DateTimeColumnDesc_S & DateColumnDesc_S;
interface DateColumnDesc_C extends DateColumnDesc_ST {
new(key:string,dateProp:kd.bos.entity.property.DateProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):DateColumnDesc;
}
interface DateColumnDesc$ {
}
type DateColumnDesc_T = DateTimeColumnDesc & DateColumnDesc_S & DateColumnDesc$;
interface DateColumnDesc extends DateColumnDesc_T {
}
interface BigIntColumnDesc_S {
}
type BigIntColumnDesc_ST = IntegerColumnDesc_S & BigIntColumnDesc_S;
interface BigIntColumnDesc_C extends BigIntColumnDesc_ST {
/**
* 构造函数
*
* @param key
* 映射的字段类型
* @param bigIntProp
* 单据上的长整数字段
* @param fieldProp
* 实际取数的字段类型
*/
new(key:string,bigIntProp:kd.bos.entity.property.BigIntProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):BigIntColumnDesc;
}
interface BigIntColumnDesc$ {
}
type BigIntColumnDesc_T = IntegerColumnDesc & BigIntColumnDesc_S & BigIntColumnDesc$;
interface BigIntColumnDesc extends BigIntColumnDesc_T {
}
interface ItemClassColumnDesc_S {
}
type ItemClassColumnDesc_ST = ColumnDesc_S & ItemClassColumnDesc_S;
interface ItemClassColumnDesc_C extends ItemClassColumnDesc_ST {
new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ItemClassColumnDesc;
}
interface ItemClassColumnDesc$ {
}
type ItemClassColumnDesc_T = ColumnDesc & ItemClassColumnDesc_S & ItemClassColumnDesc$;
interface ItemClassColumnDesc extends ItemClassColumnDesc_T {
}
interface AbstractColumnDesc_S {
}
type AbstractColumnDesc_ST = $.java.io.Serializable & AbstractColumnDesc_S;
interface AbstractColumnDesc_C extends AbstractColumnDesc_ST {
new(key:string):AbstractColumnDesc;
}
interface AbstractColumnDesc$ {
getColumnServiceName():string;
/**
* 根据明文取脱敏取值
*
* @param localeid 多语言标识
* @param value 明文值
* @return 脱敏值
*/
getDesensitizeValue(localeid:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
getFieldKey():string;
/**
* 获取格式化类型,0:列表 1:轻分析 2:引出
*
* @return
*/
getFormaType():number;
/**
* 获取格式化参数配置
*
* @return
*/
getFormatParams():$.java.util.Map;
/**
* @return
*/
getKey():string;
/**
* 获取主业务组织字段key
*
* @return
*/
getMainOrgKey():string;
/**
* 获取用户格式化对象
*
* @return
*/
getUserFormatObject():kd.bos.entity.format.FormatObject;
/**
* 根据字段取值
*
* @param dr 数据来源
* @return 字段值
*/
getValue(dr:$.kd.bos.dataentity.entity.DynamicObject):any;
/**
* 设置格式化类型
*
* @param formaType
*/
setFormaType(formaType:number):void;
setFormatParams(formatParams:$.java.util.Map):void;
setKey(key:string):void;
/**
* 设置列表用户选项
*
* @param listUserOption
*/
setListUserOption(listUserOption:kd.bos.entity.list.option.ListUserOption):void;
/**
* 设置主业务组织字段key
*
* @param mainOrgKey
*/
setMainOrgKey(mainOrgKey:string):void;
setPackageServiceResultMap(packageServiceResultMap:$.java.util.Map):void;
/**
* 设置用户格式化对象
*
* @param userFormatObject
*/
setUserFormat(userFormatObject:kd.bos.entity.format.FormatObject):void;
}
type AbstractColumnDesc_T = $.java.io.Serializable & AbstractColumnDesc_S & AbstractColumnDesc$;
interface AbstractColumnDesc extends AbstractColumnDesc_T {
}
interface QtyColumnDesc_S {
}
type QtyColumnDesc_ST = DecimalColumnDesc_S & QtyColumnDesc_S;
interface QtyColumnDesc_C extends QtyColumnDesc_ST {
new(key:string,srcFieldProp:kd.bos.entity.property.DecimalProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):QtyColumnDesc;
}
interface QtyColumnDesc$ {
}
type QtyColumnDesc_T = DecimalColumnDesc & QtyColumnDesc_S & QtyColumnDesc$;
interface QtyColumnDesc extends QtyColumnDesc_T {
}
interface ApproverColumnDesc_S {
}
type ApproverColumnDesc_ST = AbstractColumnDesc_S & ApproverColumnDesc_S;
interface ApproverColumnDesc_C extends ApproverColumnDesc_ST {
/**
* 构造函数
* @param key
*/
new(key:string):ApproverColumnDesc;
}
interface ApproverColumnDesc$ {
/**
* 获取审批人Map,key:单据主键key,value:显示信息
* @return
*/
getApproverNums():$.java.util.Map;
/**
* 设置审批人Map,key:单据主键key,value:显示信息
* @param approverNums
*/
setApproverNums(approverNums:$.java.util.Map):void;
}
type ApproverColumnDesc_T = AbstractColumnDesc & ApproverColumnDesc_S & ApproverColumnDesc$;
interface ApproverColumnDesc extends ApproverColumnDesc_T {
}
interface MulBaseDataColumnDesc_S {
}
type MulBaseDataColumnDesc_ST = BaseDataColumnDesc_S & MulBaseDataColumnDesc_S;
interface MulBaseDataColumnDesc_C extends MulBaseDataColumnDesc_ST {
new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):MulBaseDataColumnDesc;
}
interface MulBaseDataColumnDesc$ {
}
type MulBaseDataColumnDesc_T = BaseDataColumnDesc & MulBaseDataColumnDesc_S & MulBaseDataColumnDesc$;
interface MulBaseDataColumnDesc extends MulBaseDataColumnDesc_T {
}
interface ColumnDesc_S {
}
type ColumnDesc_ST = AbstractColumnDesc_S & ColumnDesc_S;
interface ColumnDesc_C extends ColumnDesc_ST {
/**
* 构造函数
*
* @param key
* 字段标识
* @param srcFieldProp
* 来源字段
* @param fieldProp
* 上级来源字段(基础资料)
*/
new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ColumnDesc;
}
interface ColumnDesc$ {
/**
* 获取格式化字符串
*
* @return
*/
getDisplayFormatString():string;
/**
* 获取末级字段
*
* @return
*/
getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取掩码
*
* @return
*/
getMask():string;
/**
* 获取根字段
*
* @return
*/
getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* @param displayFormatString
* 设置格式化字符串
*/
setDisplayFormatString(displayFormatString:string):void;
/**
* @param mask
* 设置掩码
*/
setMask(mask:string):void;
}
type ColumnDesc_T = AbstractColumnDesc & ColumnDesc_S & ColumnDesc$;
interface ColumnDesc extends ColumnDesc_T {
}
interface ExchangeRateColumnDesc_S {
}
type ExchangeRateColumnDesc_ST = DecimalColumnDesc_S & ExchangeRateColumnDesc_S;
interface ExchangeRateColumnDesc_C extends ExchangeRateColumnDesc_ST {
/**
* 构造函数
*
* @param key 字段标识
* @param decProp 直接来源字段
* @param fieldProp 上级基础资料字段
*/
new(key:string,decProp:kd.bos.entity.property.DecimalProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ExchangeRateColumnDesc;
}
interface ExchangeRateColumnDesc$ {
}
type ExchangeRateColumnDesc_T = DecimalColumnDesc & ExchangeRateColumnDesc_S & ExchangeRateColumnDesc$;
interface ExchangeRateColumnDesc extends ExchangeRateColumnDesc_T {
}
interface PKColumnDesc_S {
}
type PKColumnDesc_ST = ColumnDesc_S & PKColumnDesc_S;
interface PKColumnDesc_C extends PKColumnDesc_ST {
new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):PKColumnDesc;
}
interface PKColumnDesc$ {
}
type PKColumnDesc_T = ColumnDesc & PKColumnDesc_S & PKColumnDesc$;
interface PKColumnDesc extends PKColumnDesc_T {
}
interface BaseDataColumnDesc_S {
}
type BaseDataColumnDesc_ST = ColumnDesc_S & BaseDataColumnDesc_S;
interface BaseDataColumnDesc_C extends BaseDataColumnDesc_ST {
/**
* 构造函数
*
* @param key
* 绑定字段标识
* @param srcfieldProp
* 根字段
* @param fieldProp
* 末级字段
* @param columnDesc
* 实际的格式化类
*/
new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):BaseDataColumnDesc;
}
interface BaseDataColumnDesc$ {
getColumnDesc():AbstractColumnDesc;
getIds(dr:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
setFullSrcPropName(fullSrcPropName:string):void;
}
type BaseDataColumnDesc_T = ColumnDesc & BaseDataColumnDesc_S & BaseDataColumnDesc$;
interface BaseDataColumnDesc extends BaseDataColumnDesc_T {
}
interface TimeColumnDesc_S {
}
type TimeColumnDesc_ST = ColumnDesc_S & TimeColumnDesc_S;
interface TimeColumnDesc_C extends TimeColumnDesc_ST {
new(key:string,timeProp:kd.bos.entity.property.TimeProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):TimeColumnDesc;
}
interface TimeColumnDesc$ {
}
type TimeColumnDesc_T = ColumnDesc & TimeColumnDesc_S & TimeColumnDesc$;
interface TimeColumnDesc extends TimeColumnDesc_T {
}
interface IntegerColumnDesc_S {
}
type IntegerColumnDesc_ST = NumberColumnDesc_S & IntegerColumnDesc_S;
interface IntegerColumnDesc_C extends IntegerColumnDesc_ST {
new(key:string,intProp:kd.bos.entity.property.IntegerProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):IntegerColumnDesc;
}
interface IntegerColumnDesc$ {
formatCell(dr:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
}
type IntegerColumnDesc_T = NumberColumnDesc & IntegerColumnDesc_S & IntegerColumnDesc$;
interface IntegerColumnDesc extends IntegerColumnDesc_T {
}
interface BooleanColumnDesc_S {
}
type BooleanColumnDesc_ST = ColumnDesc_S & BooleanColumnDesc_S;
interface BooleanColumnDesc_C extends BooleanColumnDesc_ST {
new(key:string,srcFieldProp:kd.bos.entity.property.BooleanProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):BooleanColumnDesc;
}
interface BooleanColumnDesc$ {
getCheckBoxItemShowStyle():number;
/**
* @return 值为真时显示内容
*/
getOTitle():$.kd.bos.dataentity.entity.LocaleString;
/**
* @return 值为假时显示内容
*/
getXTitle():$.kd.bos.dataentity.entity.LocaleString;
setCheckBoxItemShowStyle(checkBoxItemShowStyle:number):void;
/**
* @param oTitle 值为真时显示内容
*/
setOTitle(oTitle:$.kd.bos.dataentity.entity.LocaleString):void;
/**
* @param xTitle 值为假时显示内容
*/
setXTitle(xTitle:$.kd.bos.dataentity.entity.LocaleString):void;
}
type BooleanColumnDesc_T = ColumnDesc & BooleanColumnDesc_S & BooleanColumnDesc$;
interface BooleanColumnDesc extends BooleanColumnDesc_T {
}
}
namespace kd.bos.entity.list.events{
interface CreateListOperationColumnEvent_S {
}
type CreateListOperationColumnEvent_ST = $.java.util.EventObject & CreateListOperationColumnEvent_S;
interface CreateListOperationColumnEvent_C extends CreateListOperationColumnEvent_ST {
/**
* 构造函数
*
* @param source
* 事件源
*/
new(source:any):CreateListOperationColumnEvent;
}
interface CreateListOperationColumnEvent$ {
/**
* 获取操作列格式化工具类
*
* @return 操作列格式化工具类
*/
getColumnDesc():kd.bos.entity.list.column.AbstractColumnDesc;
/**
* 获取字段格式化列表
*
* @return 字段格式化列表
*/
getColumns():$.java.util.List;
/**
* 设置操作列格式化工具类
*
* @param columnDesc 操作列格式化工具类
*/
setColumnDesc(columnDesc:kd.bos.entity.list.column.AbstractColumnDesc):void;
}
type CreateListOperationColumnEvent_T = $.java.util.EventObject & CreateListOperationColumnEvent_S & CreateListOperationColumnEvent$;
interface CreateListOperationColumnEvent extends CreateListOperationColumnEvent_T {
}
interface CreateListTemplateTextColumnEvent_S {
}
type CreateListTemplateTextColumnEvent_ST = $.java.util.EventObject & CreateListTemplateTextColumnEvent_S;
interface CreateListTemplateTextColumnEvent_C extends CreateListTemplateTextColumnEvent_ST {
/**
* 构造函数
*
* @param source
* 数据源
*/
new(source:any):CreateListTemplateTextColumnEvent;
}
interface CreateListTemplateTextColumnEvent$ {
/**
* 获取操作列格式化工具类
*
* @return 操作列格式化工具类
*/
getColumnDesc():kd.bos.entity.list.column.AbstractColumnDesc;
/**
* 获取字段格式化列表
*
* @return 字段格式化列表
*/
getColumns():$.java.util.List;
/**
* 设置操作列格式化工具类
*
* @param columnDesc 操作列格式化工具类
*/
setColumnDesc(columnDesc:kd.bos.entity.list.column.AbstractColumnDesc):void;
}
type CreateListTemplateTextColumnEvent_T = $.java.util.EventObject & CreateListTemplateTextColumnEvent_S & CreateListTemplateTextColumnEvent$;
interface CreateListTemplateTextColumnEvent extends CreateListTemplateTextColumnEvent_T {
}
interface BeforePackageDataListener_S {
}
interface BeforePackageDataListener$ {
/**
* 列表数据格式化前事件
*
* 插件可以在此事件,修改列表数据中的字段值,从而影响列表显示
*
* @param evt 事件参数,含列表数据
*/
beforePackageData(evt:kd.bos.entity.datamodel.events.BeforePackageDataEvent):void;
}
type BeforePackageDataListener_T = BeforePackageDataListener_S & BeforePackageDataListener$;
interface BeforePackageDataListener extends BeforePackageDataListener_T {
}
}
namespace kd.bos.entity.list.option{
interface ListShowZeroConfig_S {
}
interface ListShowZeroConfig_C extends ListShowZeroConfig_S {
new():ListShowZeroConfig;
new(decimalFieldIsShowZero:boolean,priceFieldIsShowZero:boolean,qtyFieldIsShowZero:boolean,amountFieldIsShowZero:boolean,baseUnitQtyFieldIsShowZero:boolean):ListShowZeroConfig;
}
interface ListShowZeroConfig$ {
isAmountFieldIsShowZero():boolean;
isBaseUnitQtyFieldIsShowZero():boolean;
isDecimalFieldIsShowZero():boolean;
isPriceFieldIsShowZero():boolean;
isQtyFieldIsShowZero():boolean;
isShowZeroSystem():boolean;
setAmountFieldIsShowZero(amountFieldIsShowZero:boolean):void;
setBaseUnitQtyFieldIsShowZero(baseUnitQtyFieldIsShowZero:boolean):void;
setDecimalFieldIsShowZero(decimalFieldIsShowZero:boolean):void;
setPriceFieldIsShowZero(priceFieldIsShowZero:boolean):void;
setQtyFieldIsShowZero(qtyFieldIsShowZero:boolean):void;
setShowZeroSystem(showZeroSystem:boolean):void;
}
type ListShowZeroConfig_T = ListShowZeroConfig_S & ListShowZeroConfig$;
interface ListShowZeroConfig extends ListShowZeroConfig_T {
}
enum ListShowZeroType {
DECIMALFIELD,
PRICEFIELD,
QTYFIELD,
AMOUNTFIELD,
BASEUNITQTYFIELD
}
interface ListUserOption_S {
}
type ListUserOption_ST = $.java.io.Serializable & ListUserOption_S;
interface ListUserOption_C extends ListUserOption_ST {
/**
* 构造函数
*/
new():ListUserOption;
/**
* 构造函数
*
* @param listUserOptions 参数元数据
*/
new(listUserOptions:$.java.util.Map):ListUserOption;
}
interface ListUserOption$ {
/**
* 获取列表选项元数据
*
* @return 列表选项元数据
*/
getListUserOptions():$.java.util.Map;
/**
* 获取列表返回的最大条数
*
* @return 列表返回的最大条数
*/
getMaxReturnData():number;
/**
* 是否框选合计
*
* @return
*/
isCellSum():boolean;
/**
* 获取是否引出所有数据
*
* @return 是否引出所有数据
*/
isDefaultExportListAll():boolean;
/**
* 获取是否开启斑马线
*
* @return 是否开启斑马线
*/
isGridStriped():boolean;
/**
* 获取用户选项,是否隐藏序号
*
* @return 用户选项,是否隐藏序号
*/
isHideSeq():boolean;
/**
* 获取用户选项:同一张单据拆分显示
*
* @return 用户选项:同一张单据拆分显示
*/
isMergeRow():boolean;
/**
* 用户选项:同一张单据拆分显示,优先取view里面附带过来的 param view 表单视图
*
* @return
*/
isMergeRow(params:$.java.util.Map):boolean;
/**
* 获取是否开启斑马线
*
* @return 是否开启斑马线
*/
isNoHeaderSpan():boolean;
/**
* 获取用户选项:是否显示分录序号
*
* @return 用户选项:是否显示分录序号
*/
isShowEntrySeq():boolean;
/**
* 获取用户选项:是否显示尾零
*
* @return 是否显示尾零
*/
isShowZero():boolean;
setCellSum(cellSum:boolean):void;
/**
* 设置是否引出所有数据
*
* @param defaultExportListAll 是否引出所有数据
*/
setDefaultExportListAll(defaultExportListAll:boolean):void;
/**
* 设置是否开启斑马线
*
* @param gridStriped 是否开启斑马线
*/
setGridStriped(gridStriped:boolean):void;
/**
* 设置是否隐藏序号
*
* @param hideSeq 是否隐藏序号
*/
setHideSeq(hideSeq:boolean):void;
/**
* 设置列表参数元数据
*
* @param listUserOptions 列表参数元数据
*/
setListUserOptions(listUserOptions:$.java.util.Map):void;
/**
* 设置列表返回的最大条数
*
* @param maxReturnData 列表返回的最大条数
*/
setMaxReturnData(maxReturnData:number):void;
/**
* 设置分录行是否被拆分
*
* @param mergeRow 分录行是否被拆分
*/
setMergeRow(mergeRow:boolean):void;
setNoHeaderSpan(noHeaderSpan:boolean):void;
/**
* 设置是否显示分录序号
*
* @param showEntrySeq 是否显示分录序号
*/
setShowEntrySeq(showEntrySeq:boolean):void;
/**
* 设置是否为零显示
*
* @param showZero 是否为零显示
*/
setShowZero(showZero:boolean):void;
}
type ListUserOption_T = $.java.io.Serializable & ListUserOption_S & ListUserOption$;
interface ListUserOption extends ListUserOption_T {
}
}
namespace kd.bos.entity.mulentities{
interface QSConditionRow_S {
}
type QSConditionRow_ST = $.java.io.Serializable & QSConditionRow_S;
interface QSConditionRow_C extends QSConditionRow_ST {
new():QSConditionRow;
}
interface QSConditionRow$ {
getCompareOp():string;
getId():string;
getLeftItem():kd.bos.entity.mulentities.expr.QSExpr;
getLeftParenthesis():string;
getLogicOp():string;
getRightItem():kd.bos.entity.mulentities.expr.QSExpr;
getRightParenthesis():string;
setCompareOp(compareOp:string):void;
setId(id:string):void;
setLeftItem(leftItem:kd.bos.entity.mulentities.expr.QSExpr):void;
setLeftParenthesis(leftParenthesis:string):void;
setLogicOp(logicOp:string):void;
setRightItem(rightItem:kd.bos.entity.mulentities.expr.QSExpr):void;
setRightParenthesis(rightParenthesis:string):void;
}
type QSConditionRow_T = $.java.io.Serializable & QSConditionRow_S & QSConditionRow$;
interface QSConditionRow extends QSConditionRow_T {
}
interface QueryPlugInField_S {
}
type QueryPlugInField_ST = $.java.io.Serializable & QueryPlugInField_S;
interface QueryPlugInField_C extends QueryPlugInField_ST {
new():QueryPlugInField;
}
interface QueryPlugInField$ {
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
getPluginName():string;
getPluginStatus():string;
setId(id:string):void;
setPluginName(pluginName:string):void;
setPluginStatus(pluginStatus:string):void;
}
type QueryPlugInField_T = $.java.io.Serializable & QueryPlugInField_S & QueryPlugInField$;
interface QueryPlugInField extends QueryPlugInField_T {
}
interface QuerySelectField_S {
}
type QuerySelectField_ST = $.java.io.Serializable & QuerySelectField_S;
interface QuerySelectField_C extends QuerySelectField_ST {
new():QuerySelectField;
}
interface QuerySelectField$ {
getAlias():string;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
getLocaleDisplayName():$.kd.bos.dataentity.entity.LocaleString;
setAlias(alias:string):void;
setId(id:string):void;
setLocaleDisplayName(displayName:$.kd.bos.dataentity.entity.LocaleString):void;
}
type QuerySelectField_T = $.java.io.Serializable & QuerySelectField_S & QuerySelectField$;
interface QuerySelectField extends QuerySelectField_T {
}
interface QuerySortField_S {
readonly SORT_TYPE_ASC:string;
readonly SORT_TYPE_DESC:string;
}
type QuerySortField_ST = $.java.io.Serializable & QuerySortField_S;
interface QuerySortField_C extends QuerySortField_ST {
new():QuerySortField;
}
interface QuerySortField$ {
getAlias():string;
getDisplayName():string;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
getSortType():string;
setAlias(alias:string):void;
setDisplayName(displayName:string):void;
setId(id:string):void;
setSortType(sortType:string):void;
}
type QuerySortField_T = $.java.io.Serializable & QuerySortField_S & QuerySortField$;
interface QuerySortField extends QuerySortField_T {
}
interface QuerySourceJoinRelation_S {
}
type QuerySourceJoinRelation_ST = $.java.io.Serializable & QuerySourceJoinRelation_S;
interface QuerySourceJoinRelation_C extends QuerySourceJoinRelation_ST {
new():QuerySourceJoinRelation;
}
interface QuerySourceJoinRelation$ {
addCondition(row:QSConditionRow):void;
getCondition():$.java.util.List;
getEntityNumber():string;
/**
* 自动产生的唯一标识,据此与扩展对象,进行差量化对比定位
* @return
*/
getId():string;
getJoinType():string;
getRelEntityNumber():string;
setEntityNumber(entityNumber:string):void;
setId(id:string):void;
setJoinType(joinType:string):void;
setRelEntityNumber(relEntityNumber:string):void;
}
type QuerySourceJoinRelation_T = $.java.io.Serializable & QuerySourceJoinRelation_S & QuerySourceJoinRelation$;
interface QuerySourceJoinRelation extends QuerySourceJoinRelation_T {
}
}
namespace kd.bos.entity.mulentities.expr{
interface QSIdentifierExpr_S {
}
type QSIdentifierExpr_ST = QSExpr_S & QSIdentifierExpr_S;
interface QSIdentifierExpr_C extends QSIdentifierExpr_ST {
new():QSIdentifierExpr;
new(expr:string):QSIdentifierExpr;
}
interface QSIdentifierExpr$ {
getExpr():string;
setExpr(expr:string):void;
}
type QSIdentifierExpr_T = QSExpr & QSIdentifierExpr_S & QSIdentifierExpr$;
interface QSIdentifierExpr extends QSIdentifierExpr_T {
}
interface QSExpr_S {
}
type QSExpr_ST = $.java.io.Serializable & QSExpr_S;
interface QSExpr_C extends QSExpr_ST {
new():QSExpr;
}
interface QSExpr$ {
getEntityName():string;
getId():string;
getPropName():string;
setEntityName(entityName:string):void;
setId(id:string):void;
setPropName(propName:string):void;
}
type QSExpr_T = $.java.io.Serializable & QSExpr_S & QSExpr$;
interface QSExpr extends QSExpr_T {
}
interface QSPropExpr_S {
}
type QSPropExpr_ST = QSExpr_S & QSPropExpr_S;
interface QSPropExpr_C extends QSPropExpr_ST {
new():QSPropExpr;
new(entityName:string,propName:string):QSPropExpr;
}
interface QSPropExpr$ {
}
type QSPropExpr_T = QSExpr & QSPropExpr_S & QSPropExpr$;
interface QSPropExpr extends QSPropExpr_T {
}
}
namespace kd.bos.entity.operate{
interface Delete_S {
}
type Delete_ST = DefaultEntityOperate_S & Delete_S;
interface Delete_C extends Delete_ST {
new():Delete;
}
interface Delete$ {
}
type Delete_T = DefaultEntityOperate & Delete_S & Delete$;
interface Delete extends Delete_T {
}
interface DefaultEntityOperate_S {
}
type DefaultEntityOperate_ST = $.kd.bos.form.operate.EntityOperate & DefaultEntityOperate_S;
interface DefaultEntityOperate_C extends DefaultEntityOperate_ST {
new():DefaultEntityOperate;
}
interface DefaultEntityOperate$ {
/**
* 操作成功后需要刷新的字段
*
* @return 操作后需要刷新的字段
*/
getRefreshFields():$.java.util.List;
/**
* 用户配置的操作成功提示
*
* @return 成功提示信息
*/
getSuccessMsg():$.kd.bos.dataentity.entity.LocaleString;
}
type DefaultEntityOperate_T = $.kd.bos.form.operate.EntityOperate & DefaultEntityOperate_S & DefaultEntityOperate$;
interface DefaultEntityOperate extends DefaultEntityOperate_T {
}
interface SaveAndNew_S {
}
type SaveAndNew_ST = Save_S & kd.bos.form.operate.ICombinOperate_S & SaveAndNew_S;
interface SaveAndNew_C extends SaveAndNew_ST {
new():SaveAndNew;
}
interface SaveAndNew$ {
}
type SaveAndNew_T = Save & kd.bos.form.operate.ICombinOperate & SaveAndNew_S & SaveAndNew$;
interface SaveAndNew extends SaveAndNew_T {
}
interface SubmitAndNew_S {
}
type SubmitAndNew_ST = Submit_S & kd.bos.form.operate.ICombinOperate_S & SubmitAndNew_S;
interface SubmitAndNew_C extends SubmitAndNew_ST {
new():SubmitAndNew;
}
interface SubmitAndNew$ {
}
type SubmitAndNew_T = Submit & kd.bos.form.operate.ICombinOperate & SubmitAndNew_S & SubmitAndNew$;
interface SubmitAndNew extends SubmitAndNew_T {
}
interface StatusConvert_S {
}
type StatusConvert_ST = DefaultEntityOperate_S & StatusConvert_S;
interface StatusConvert_C extends StatusConvert_ST {
new():StatusConvert;
}
interface StatusConvert$ {
}
type StatusConvert_T = DefaultEntityOperate & StatusConvert_S & StatusConvert$;
interface StatusConvert extends StatusConvert_T {
}
interface AttachmentView_S {
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
*/
sendGet(url:string,param:string):string;
}
type AttachmentView_ST = $.kd.bos.form.operate.FormOperate & AttachmentView_S;
interface AttachmentView_C extends AttachmentView_ST {
new():AttachmentView;
}
interface AttachmentView$ {
invokeOperation():$.kd.bos.entity.operate.result.OperationResult;
}
type AttachmentView_T = $.kd.bos.form.operate.FormOperate & AttachmentView_S & AttachmentView$;
interface AttachmentView extends AttachmentView_T {
}
interface Donothing_S {
}
type Donothing_ST = DefaultEntityOperate_S & Donothing_S;
interface Donothing_C extends Donothing_ST {
new():Donothing;
}
interface Donothing$ {
}
type Donothing_T = DefaultEntityOperate & Donothing_S & Donothing$;
interface Donothing extends Donothing_T {
}
interface Submit_S {
}
type Submit_ST = DefaultEntityOperate_S & $.kd.bos.form.IConfirmCallBack & Submit_S;
interface Submit_C extends Submit_ST {
new():Submit;
}
interface Submit$ {
/**
* 读取单据参数:提交成功后是否自动执行审核
*
* @return 提交后是否自动审核
*/
isSubmitAndAudit():boolean;
/**
* 设置参数:提交后是否自动审核(供插件等设置此选项值)
*
* @param submitAndAudit
*/
setSubmitAndAudit(submitAndAudit:boolean):void;
}
type Submit_T = DefaultEntityOperate & $.kd.bos.form.IConfirmCallBack & Submit_S & Submit$;
interface Submit extends Submit_T {
}
interface Save_S {
}
type Save_ST = DefaultEntityOperate_S & $.kd.bos.form.IConfirmCallBack & Save_S;
interface Save_C extends Save_ST {
new():Save;
}
interface Save$ {
}
type Save_T = DefaultEntityOperate & $.kd.bos.form.IConfirmCallBack & Save_S & Save$;
interface Save extends Save_T {
}
enum EnumBillStatus {
A,
B,
C,
D,
Z
}
interface IOperationTask_S {
}
interface IOperationTask$ {
execute(context:$.kd.bos.entity.operate.OperationContext,dataEntites:$.kd.bos.dataentity.entity.DynamicObject[],result:$.kd.bos.entity.operate.result.OperationResult):void;
}
type IOperationTask_T = IOperationTask_S & IOperationTask$;
interface IOperationTask extends IOperationTask_T {
}
interface KDOpAsynExecutorException_S {
}
type KDOpAsynExecutorException_ST = $.kd.bos.entity.operate.interaction.KDInteractionException & KDOpAsynExecutorException_S;
interface KDOpAsynExecutorException_C extends KDOpAsynExecutorException_ST {
/**
* 构造方法
* @param sponsor 本次交互的标识,由插件指定的固定值,不能与其他交互重复
* @param interactionContext 交互请求上下文对象,包含交互提示内容、交互界面及显示参数等
*/
new(sponsor:string,interactionContext:$.kd.bos.entity.operate.interaction.InteractionContext):KDOpAsynExecutorException;
}
interface KDOpAsynExecutorException$ {
}
type KDOpAsynExecutorException_T = $.kd.bos.entity.operate.interaction.KDInteractionException & KDOpAsynExecutorException_S & KDOpAsynExecutorException$;
interface KDOpAsynExecutorException extends KDOpAsynExecutorException_T {
}
interface IEntityOperate_S {
}
interface IEntityOperate$ {
/**
* 操作执行完毕后,是否需要刷新列表(不适用于单据界面)
* @return
*/
isCancelRefresh():boolean;
/**
* @return 是否是微服务调用
*/
isRemoteInvoke():boolean;
setCancelRefresh(isCancelRefresh:boolean):void;
setRemoteInvoke(isRemoteInvoke:boolean):void;
}
type IEntityOperate_T = IEntityOperate_S & IEntityOperate$;
interface IEntityOperate extends IEntityOperate_T {
}
interface OperationException_S {
}
type OperationException_ST = $.java.io.Serializable & $.java.lang.RuntimeException & OperationException_S;
interface OperationException_C extends OperationException_ST {
/**
* 构造函数
* @param pkValue 单据内码
* @param entryId 分录内码
* @param detailId 子分录内码
*/
new(pkValue:string,entryId:string,detailId:string):OperationException;
}
interface OperationException$ {
/**
* 获取单据内码
* @return
*/
getPkValue():any;
/**
* 获取操作信息标题(返回信息关键字列内容)
* @return
*/
getTitle():string;
/**
* 设置操作信息内容
* @param message
*/
setMessage(message:string):void;
/**
* 设置操作信息标题(返回信息关键字列内容)
* @param title
*/
setTitle(title:string):void;
}
type OperationException_T = $.java.lang.RuntimeException & $.java.io.Serializable & OperationException_S & OperationException$;
interface OperationException extends OperationException_T {
}
interface OperationContext_S {
}
interface OperationContext_C extends OperationContext_S {
new():OperationContext;
}
interface OperationContext$ {
/**
* 获取数据包
* @return 数据包集合
*/
getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 获取实体编码
* @return
*/
getEntityTypeId():string;
/**
* 获取打平的数据包
* @return 打平的数据包集合
*/
getExtendedDataEntities():$.java.util.List;
/**
* 获取数据锁记录
* [对象id]
*
* @return the mutexLocks
*/
getMutexLocks():$.java.util.List;
/**
* 获取操作日志输出对象
*
* @return
*/
getOperateLog():OperateLog;
/**
* 获取操作编码
* @return
*/
getOperationKey():string;
/**
* 获取操作上下文参数
* @return
*/
getParameter():$.java.util.Map;
/**
* 设置操作上下文的数据包集合
* @param dataEntities
*/
setDataEntities(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
/**
* 设置实体编码
* @param entityTypeId
*/
setEntityTypeId(entityTypeId:string):void;
/**
* 设置操作日志输出对象
* @param operateLog
*/
setOperateLog(operateLog:OperateLog):void;
/**
* 设置操作编码
* @param operationKey 操作Key,save,modify,delete等
*/
setOperationKey(operationKey:string):void;
/**
* 设置操作上下文参数
* @param parameter
*/
setParameter(parameter:$.java.util.Map):void;
}
type OperationContext_T = OperationContext_S & OperationContext$;
interface OperationContext extends OperationContext_T {
}
interface GridConfigurationRow_S {
}
type GridConfigurationRow_ST = $.java.io.Serializable & GridConfigurationRow_S;
interface GridConfigurationRow_C extends GridConfigurationRow_ST {
new():GridConfigurationRow;
new(fieldName:$.kd.bos.dataentity.entity.LocaleString,colWidth:number,textAlign:string,fieldKey:string):GridConfigurationRow;
new(fieldName:$.kd.bos.dataentity.entity.LocaleString,colWidth:number,textAlign:string,fieldKey:string,hide:boolean,freeze:boolean):GridConfigurationRow;
new(fieldName:$.kd.bos.dataentity.entity.LocaleString,colWidth:number,textAlign:string,fieldKey:string,hide:boolean,freeze:boolean,freezer:boolean):GridConfigurationRow;
}
interface GridConfigurationRow$ {
copy(bean:GridConfigurationRow):void;
/**
* 获取分组字段
* @return
*/
getChildren():$.java.util.List;
/**
* 获取字段colWidth的值
*
* @return colWidth的值
*/
getColWidth():number;
/**
* 获取字段fieldKey的值
*
* @return fieldKey的值
*/
getFieldKey():string;
/**
* 获取字段fieldName的值
*
* @return fieldName的值
*/
getFieldName():$.kd.bos.dataentity.entity.LocaleString;
getFlexMaxSize():number;
/**
* 拆分状态
*/
getFlexSplit():number;
getLastFlexMaxSize():number;
/**
* 获取字段textAlign的值
*
* @return textAlign的值
*/
getTextAlign():string;
/**
* 获取字段freeze的值
*
* @return freeze的值
*/
isFreeze():boolean;
isFreezer():boolean;
/**
* 获取字段hide的值
*
* @return hide的值
*/
isHide():boolean;
/**
* 设置分组字段
* @param children
*/
setChildren(children:$.java.util.List):void;
/**
* 将参数colWidth的值赋给字段colWidth
*
* @param 参数colWidth
*/
setColWidth(colWidth:number):void;
/**
* 将参数fieldKey的值赋给字段fieldKey
*
* @param 参数fieldKey
*/
setFieldKey(fieldKey:string):void;
/**
* 将参数fieldName的值赋给字段fieldName
*
* @param 参数fieldName
*/
setFieldName(fieldName:$.kd.bos.dataentity.entity.LocaleString):void;
setFlexMaxSize(flexMaxSize:number):void;
setFlexSplit(flexSplit:number):void;
/**
* 将参数freeze的值赋给字段freeze
*
* @param 参数freeze
*/
setFreeze(freeze:boolean):void;
setFreezer(freezer:boolean):void;
/**
* 将参数hide的值赋给字段hide
*
* @param 参数hide
*/
setHide(hide:boolean):void;
setLastFlexMaxSize(lastFlexMaxSize:number):void;
/**
* 将参数textAlign的值赋给字段textAlign
*
* @param 参数textAlign
*/
setTextAlign(textAlign:string):void;
}
type GridConfigurationRow_T = $.java.io.Serializable & GridConfigurationRow_S & GridConfigurationRow$;
interface GridConfigurationRow extends GridConfigurationRow_T {
}
interface OperationTypeCache_S {
/**
* 读取指定的操作定义
*
* @param opTypeId
* @return
*/
LoadSingle(opTypeId:string):OperationType;
/**
* 判断指定的操作,是不是实体操作
*
* @param opTypeId
* @return
*/
isEntityOperation(opTypeId:string):boolean;
/**
* 读取资源文件中定义的全部操作(包括xml,数据库,模型扩展)
*/
loadAll():OperationTypes;
/**
* 输出全部系统预置公共实体操作(对全部应用都生效且OpServiceClass不为空)
*
* @return
*/
loadPublicEntityOpTypes():$.java.util.Set;
/**
* 重置缓存内容,以便后续重新读取资源文件,获取操作定义
*/
resetCache():void;
}
interface OperationTypeCache_C extends OperationTypeCache_S {
new():OperationTypeCache;
}
interface OperationTypeCache$ {
}
type OperationTypeCache_T = OperationTypeCache_S & OperationTypeCache$;
interface OperationTypeCache extends OperationTypeCache_T {
}
enum OpDefinitionSource {
XML,
DB,
DM_EXT
}
interface OperateLog_S {
/**
* 获取操作日志接口实现类
*
* @param writeLog 是否需要写日志:默认情况下,为优化性能,不对外输出日志;需要分析问题时,可以开启选项,输出操作详细执行日志
* @return OperateLog
*/
get(writeLog:boolean):OperateLog;
}
interface OperateLog$ {
/**
* 输出数据包中关键信息:状态,字段改变清单,内码、单据编号、数据状态
*
* @param billObj 单据数据包
*/
Info?(billObj:$.kd.bos.dataentity.entity.DynamicObject):void;
/**
* 进入方法:记录方法开始时间,按顺序记录方法调用记录
*
* @param mothedName
* @param msg 同步输出的日志内容
*/
beginMothed?(mothedName:string,msg:string):void;
debug?(msg:string):void;
/**
* 方法完成:按顺序记录方法执行时间
*
* @param mothedName 方法名
* @param msg 需同步输出的日志内容
*/
endMothed?(mothedName:string,msg:string):void;
error(exp:$.java.lang.Throwable):void;
error(msg:string):void;
/**
* 功能执行结束,输出总结日志
*
* @param title
*/
finish(title:string):void;
/**
* 完成操作:按顺序输出方法执行次序、花费时间
*/
finish(entityNumber:string,opKey:string,opClassName:string,opResult:kd.bos.entity.operate.result.OperationResult):void;
/**
* 输出重要的文本日志,不管有没有开启写日志参数,都会输出
*
* @param msg 打印日志内容
*/
important?(msg:string):void;
/**
* 输出普通文本日志
*
* @param msg 打印日志内容
*/
info?(msg:string):void;
/**
* 当前是否写日志:操作会根据此选项返回值,决定是否解析操作执行结果,生成详细的日志内容
*
* @return boolean
*/
isWriteLog?():boolean;
/**
* 方法完成:时间太短,把方法移除出方法清单,不再总结报告中显示
*
* @param mothedName 方法名
*/
removeMothed?(mothedName:string):void;
}
type OperateLog_T = OperateLog_S & OperateLog$;
interface OperateLog extends OperateLog_T {
}
interface AbstractOperationResult_S {
}
type AbstractOperationResult_ST = IOperationResult_S & $.java.io.Serializable & AbstractOperationResult_S;
interface AbstractOperationResult_C extends AbstractOperationResult_ST {
new():AbstractOperationResult;
}
interface AbstractOperationResult$ {
addPromptField(fieldPos:$.java.util.List):void;
addPromptField(fieldPos:kd.bos.entity.validate.FieldPos):void;
/**
* 添加操作成功的单据主键
*
* @param pkId 单据内码
*/
addSuccessPkId(pkId:any):void;
/**
* 获取操作的单据总数,包括全部成功、失败单据
*
* @return 操作的单据总数
*/
getBillCount():number;
/**
* 本次操作的所有单据编号:可用于生成提示信息
*
* @return 本次操作的所有单据编号
*/
getBillNos():$.java.util.Map;
/**
* 获取签名明文
*
* @return 签名明文
*/
getClearText():string;
/**
* 获取消息类型
* @return 消息类型
*/
getMessageType():number;
getPromptField():$.java.util.List;
/**
* 是否取消写日志
*
* @return true:取消 false:不取消
*/
isCancelWriteLog():boolean;
/**
* 是否需要签名
*
* @return true:需要 false:不需要
*/
isNeedSign():boolean;
/**
* 是否需要指定下一步参与人
*
* @return true:需要 false:不需要
*/
isNeedWfAssignPersons():boolean;
/**
* 移除 成功处理的数据对象pk
* @param pkIds
*/
removeSuccessPkIds(pkIds:$.java.util.List):void;
/**
* 设置操作错误信息
*
* @param errorInfoes 错误信息集合
*/
setAllErrorInfo(errorInfoes:$.java.util.List):void;
/**
* 设置单据总数,包括全部成功、失败单据
*
* @param billCount 单据总数
*/
setBillCount(billCount:number):void;
/**
* 设置本次操作的所有单据编号
*
* @param billNos 本次操作的所有单据编号
*/
setBillNos(billNos:$.java.util.Map):void;
/**
* 设置是否取消写日志
*
* @param cancelWriteLog 取消写日志
*/
setCancelWriteLog(cancelWriteLog:boolean):void;
/**
* 设置签名明文
*
* @param clearText 签名明文
*/
setClearText(clearText:string):void;
/**
* 设置消息类型
* @param messageType 消息类型
*/
setMessageType(messageType:number):void;
/**
* 设置是否需要签名
*
* @param needSign 是否需要签名
*/
setNeedSign(needSign:boolean):void;
/**
* 设置工作流是否需要指定下一步参与人
*
* @param needWfAssignPersons 工作流指定下一步参与人
*/
setNeedWfAssignPersons(needWfAssignPersons:boolean):void;
setPromptField(promptField:$.java.util.List):void;
/**
* 设置操作结果
*
* @param success 操作结果
*/
setSuccess(success:boolean):void;
}
type AbstractOperationResult_T = IOperationResult & $.java.io.Serializable & AbstractOperationResult_S & AbstractOperationResult$;
interface AbstractOperationResult extends AbstractOperationResult_T {
}
interface OperationParameterNames_S {
readonly AFTEROPERATION:string;
readonly AFTER_DEL_ROW_FOCUS:string;
readonly BOS_BATCH_PUSH_SIZE:string;
readonly CANNODATA:string;
readonly CHECKDATAVERSION:string;
readonly COMMENTPROP:string;
readonly CONFIRMMSG:string;
readonly COPY_ENTRY_POS:string;
readonly CTCONTROLFIELD:string;
readonly CTHIDEPUSHFORM:string;
readonly CTRULEID:string;
readonly CTSYNCTYPE:string;
readonly CTTACCOUNTID:string;
readonly CTTARGETBILL:string;
readonly CTTTENANTCODE:string;
readonly DRAW_CLEAR_ENTRYS:string;
readonly DRAW_HIDE_FORM:string;
readonly DRAW_RULE_ID:string;
readonly DRAW_SOURCE_BILL:string;
readonly DUPLICATEENTRYREMOVE:string;
readonly DUPLICATEREMOVE:string;
readonly ENTRYID:string;
readonly GROUPID:string;
readonly HIDEPUSHFORM:string;
readonly ISCOPYEMPTYROW:string;
readonly ISCOPYRELATEENTITY:string;
readonly ISDRAFTVALIDREFERENCE:string;
readonly ISFULLBILLOPERATE:string;
readonly ISSEARCHENTRY:string;
readonly ISTRACKALL:string;
readonly JSCODE:string;
readonly KEY:string;
readonly LISTDELSCOPE:string;
readonly LOGENABLE:string;
readonly NAME:string;
readonly OPBIZ:string;
readonly OPERATIONKEY:string;
readonly OPMESSAGEENABLE:string;
readonly PARAMETER:string;
readonly PLUGINS:string;
readonly PREINSFILES:string;
readonly PUSH_MUST_SELECT_RULE:string;
readonly REFRESHFIELDS:string;
readonly REMOVEMARGIN:string;
readonly RULEID:string;
readonly SAVEANDSUBMIT:string;
readonly SHOWSELECTPRINTFORM:string;
readonly STATUSPROP:string;
readonly SUCCESSMSG:string;
readonly TARGETBILL:string;
readonly TARGETOPERATION:string;
readonly TRACK_CHECK_RIGHT_BILLS:string;
readonly TRACK_UP_CHECK_SOURCE_RIGHT:string;
readonly TURNOFFPAGEING:string;
readonly TYPE:string;
readonly VALIDATIONS:string;
readonly VALUE:string;
}
interface OperationParameterNames_C extends OperationParameterNames_S {
new():OperationParameterNames;
}
interface OperationParameterNames$ {
}
type OperationParameterNames_T = OperationParameterNames_S & OperationParameterNames$;
interface OperationParameterNames extends OperationParameterNames_T {
}
interface OperationTypes_S {
}
interface OperationTypes_C extends OperationTypes_S {
new():OperationTypes;
}
interface OperationTypes$ {
/**
* 创建时间:据此判断缓存有没有过期
*/
getCreateTime():Date;
/**
* 操作定义集合
* @return
*/
getOpTypes():$.java.util.List;
/**
* 缓存是否已经超时失效?过了有效期之后,需要重新加载
* @return
*/
isCacheOverTime():boolean;
/**
* 当前语言资源是否加载完成
* @param lang
* @return
*/
isLoaded(lang:$.kd.bos.lang.Lang):boolean;
/**
* 标记指定语言资源加载完成
* @param lang
*/
setLoaded(lang:$.kd.bos.lang.Lang):void;
setOpTypes(opTypes:$.java.util.List):void;
}
type OperationTypes_T = OperationTypes_S & OperationTypes$;
interface OperationTypes extends OperationTypes_T {
}
interface OperateProgress_S {
}
interface OperateProgress$ {
/**
* 反馈最新进度
*
* @param desc 进度描述,说明将要进行的动作
*/
feedbackProgress(desc:string):void;
/**
* 把操作处理,转成异步线程执行,以支持大量数据处理,避免超时
*
* @remark
* 如果当前场景,不支持把操作切换为异步线程执行,本方法会被操作引擎自动忽略:
* 1. 后台代码调用操作,需要实时返回操作结果,不允许切换为异步执行
* 2. 操作已经是异步线程执行了,不需要再次切换
*/
swithToAsyn():void;
}
type OperateProgress_T = OperateProgress_S & OperateProgress$;
interface OperateProgress extends OperateProgress_T {
}
interface OperationType_S {
}
interface OperationType_C extends OperationType_S {
new():OperationType;
}
interface OperationType$ {
/**
* 适用的业务应用
*/
getAppNumbers():$.java.util.Set;
/**
* 适用的业务应用,字符串格式,支持序列化;应用范围为"指定应用"、"仅本应用"时,使用此属性,指定应用范围,多个应用使用逗号隔开
*/
getAppliedAppNumbers():string;
/**
* 适用的单据,字符串格式,支持序列化; 应用范围为"仅指定单据"时, 使用此属性,指定单据
*/
getAppliedEntityNumber():string;
/**
* 服务应用范围:0 = 全部应用,1 = 指定应用,2 = 仅本应用(指资源文件代表的应用,逻辑暂未实现)、3 = 仅指定单据;默认为0;
*/
getAppliedRange():number;
/**
* 操作功能描述,支持多语言
*/
getDesc():$.kd.bos.dataentity.entity.LocaleString;
/**
* 适用的单据
*/
getEntityNumbers():$.java.util.Set;
/**
* MService Form 层执行类名,不能为空,必须派生自FormOperate
*/
getFormServiceClass():string;
/**
* 操作类型标识,不允许重复
*/
getId():string;
/**
* 操作适用的领域模型类型,字符串,用于序列化
*/
getModelType():string;
/**
* 操作适用的领域模型类型,把序列化字符串,拆分为具体的领域模型集合
*/
getModelTypes():$.java.util.Set;
/**
* 名称,多语言
*/
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* MService Operation 层执行类;非实体操作,可以留空;必须派生自 EntityOperateService
*/
getOpServiceClass():string;
/**
* 显示顺序
*/
getSeq():long;
/**
* 操作参数配置界面,可空。平台预置的操作,参数界面插件必须派生自 BaseOperationEditPlugin;业务领域扩展的操作,参数界面插件必须 派生自 CustOperationEditPlugin
*/
getSettingFormId():string;
getSrcApp():string;
/**
* 获取来源类型
* @return
*/
getSrcType():OpDefinitionSource;
/**
* Web API 层运行时类名,可以为空,必须派生自 OperationApi
*/
getWebApiClass():string;
/**
* 是否隐藏,操作列表上是否列出此操作;默认为false,不隐藏
*/
isDisable():boolean;
/**
* 該操作是否有合法性校驗
*/
isFormValidate():boolean;
setAppliedAppNumbers(appliedAppNumbers:string):void;
setAppliedEntityNumber(appliedEntityNumber:string):void;
setAppliedRange(appliedRange:number):void;
setDesc(desc:$.kd.bos.dataentity.entity.LocaleString):void;
setDisable(disable:boolean):void;
setFormServiceClass(formServiceClass:string):void;
setFormValidate(formValidate:boolean):void;
setId(id:string):void;
setModelType(modelType:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setOpServiceClass(opServiceClass:string):void;
setSeq(seq:long):void;
setSettingFormId(settingFormId:string):void;
setSrcApp(srcApp:string):void;
/**
* 获取来源应用
* @param srcType
*/
setSrcType(srcType:OpDefinitionSource):void;
setWebApiClass(webApiClass:string):void;
}
type OperationType_T = OperationType_S & OperationType$;
interface OperationType extends OperationType_T {
}
interface IOperationResult_S {
}
interface IOperationResult$ {
/**
* 添加操作错误信息
* @param operateInfo 操作错误信息
*/
addErrorInfo(operateInfo:kd.bos.entity.operate.result.OperateErrorInfo):void;
/**
* 获取操作错误信息集合
* @return 操作错误信息集合
*/
getAllErrorInfo():$.java.util.List;
/**
* 获取操作提示消息
* @return 操作提示消息
*/
getMessage():string;
/**
* 获取操作成功的记录标识集合
* @return 操作成功的记录标识集合
*/
getSuccessPkIds():$.java.util.List;
/**
* 操作完毕,是否显示提示信息
* @return 是否显示message
*/
isShowMessage():boolean;
/**
* 是否成功
* @return 是否成功
*/
isSuccess():boolean;
/**
* 设置操作提示消息
* @param message 操作提示消息
*/
setMessage(message:string):void;
/**
* 设置操作完毕,是否显示提示信息
* @param showMessage 操作完毕,是否显示提示信息
*/
setShowMessage(showMessage:boolean):void;
/**
* 设置操作成功的记录标识集合
* @param successPkValues 操作成功的记录标识集合
*/
setSuccessPkIds(successPkValues:$.java.util.List):void;
}
type IOperationResult_T = IOperationResult_S & IOperationResult$;
interface IOperationResult extends IOperationResult_T {
}
interface Operations_S {
}
interface Operations_C extends Operations_S {
new():Operations;
}
interface Operations$ {
/**
* 获取审核操作代码
* @return
*/
getAudit():string;
/**
* 获取删除操作代码
* @return
*/
getDelete():string;
/**
* 获取保存操作代码
* @return
*/
getSave():string;
/**
* 获取状态转换操作代码
* @return
*/
getStatusConvert():string;
/**
* 获取提交操作代码
* @return
*/
getSubmit():string;
/**
* 获取反审核操作代码
* @return
*/
getUnAudit():string;
/**
* 获取撤销操作代码
* @return
*/
getUnSubmit():string;
/**
* 设置审核操作代码
* @param audit
*/
setAudit(audit:string):void;
/**
* 设置删除操作代码
* @param delete
*/
setDelete(delete_arg:string):void;
/**
* 设置保存操作代码
* @param save
*/
setSave(save:string):void;
/**
* 设置状态转换操作代码
* @param statusConvert
*/
setStatusConvert(statusConvert:string):void;
/**
* 设置提交操作代码
* @param submmit
*/
setSubmit(submmit:string):void;
/**
* 设置反审核操作代码
* @param unaudit
*/
setUnAudit(unaudit:string):void;
/**
* 设置撤销操作代码
* @param unsubmit
*/
setUnSubmit(unsubmit:string):void;
}
type Operations_T = Operations_S & Operations$;
interface Operations extends Operations_T {
}
interface OperateOptionConst_S {
readonly ARCHIVEKEY:string;
readonly AUTOGENERATE_BILLNO:string;
readonly BATCHIMPORT:string;
readonly BATCHOPEXECUTE:string;
readonly BATCHOP_BATCHSIZE:string;
readonly BATCHOP_COMPLETED:string;
readonly BATCHOP_RESULT:string;
readonly BIGDATA_ASYN_SPONSOR:string;
readonly BIGDATA_NEWTHREAD:string;
readonly BOS_SKIP_OP_BATCH:string;
readonly CATCH_AFTER_EXCEPTION:string;
readonly CHECKREFENTITYIDS:string;
readonly CURRBIZAPPID:string;
readonly IGNORECONFIRM:string;
readonly IGNOREINTERACTION:string;
readonly IGNOREREFENTITYIDS:string;
readonly IGNOREWARN:string;
readonly IMPORTTYPE:string;
readonly INTERACTIONCONFIRMRESULT:string;
readonly INVOKEAFTERDELETE:string;
readonly ISFORMVIEWOPERATION:string;
readonly ISHASRIGHT:string;
readonly ISLSTVIEWOP4MUTEX:string;
readonly ISOPENINTENTLOCKS:string;
readonly ISSHOWMESSAGE:string;
readonly IS_AUTO_BATCH_EXE_OP:string;
readonly LISTSELECTEDROWCOLLECTION:string;
readonly MAX_SAME_MUTEX_ID_COUNT:string;
readonly MUTEX_IGNOREMODIFY:string;
readonly MUTEX_IGNORE_VALIDATION:string;
readonly MUTEX_ISSTRICT:string;
readonly MUTEX_TRY_AGAIN_COUNT:string;
readonly MUTEX_WRITEBACK:string;
readonly ONLY_VALIDATE:string;
readonly OPENFORMDATAVERSIONCHECKER:string;
readonly OP_TASKID:string;
readonly ORIOPERATIONKEY:string;
readonly ORM_SAVEOP_COMMITPKSNAPSHOT:string;
readonly ORM_SAVEOP_REMOVECACHE:string;
readonly PERMISSIONENTITYID:string;
readonly ROUTEKEY:string;
readonly SAVE_APPENDENTRYROWS:string;
readonly SKIPCHECKPERMISSION:string;
readonly SKIPCHECKSPECIALPERMISSION:string;
readonly SKIP_BILLNO_VALIDATOR:string;
readonly STRICTVALIDATION:string;
readonly SUPPORT_BIGDATA_ASYN:string;
readonly UPDATEMODIFYDATE:string;
readonly UPDATE_ENTRYSUMMARY_ENABLE:string;
}
interface OperateOptionConst_C extends OperateOptionConst_S {
new():OperateOptionConst;
}
interface OperateOptionConst$ {
}
type OperateOptionConst_T = OperateOptionConst_S & OperateOptionConst$;
interface OperateOptionConst extends OperateOptionConst_T {
}
interface IOperate_S {
}
interface IOperate$ {
execute():$.kd.bos.entity.operate.result.OperationResult;
getPermissionEntityId?():string;
setPermissionEntityId?(arg0:string):void;
}
type IOperate_T = IOperate_S & IOperate$;
interface IOperate extends IOperate_T {
}
interface IEntityOperateService_S {
}
interface IEntityOperateService$ {
}
type IEntityOperateService_T = IEntityOperateService_S & IEntityOperateService$;
interface IEntityOperateService extends IEntityOperateService_T {
}
}
namespace kd.bos.entity.operate.bizrule{
interface OpBizRule_S {
}
interface OpBizRule_C extends OpBizRule_S {
new():OpBizRule;
}
interface OpBizRule$ {
getKey():string;
getName():$.kd.bos.dataentity.entity.LocaleString;
getParameter():string;
getPreConditionDesc():$.kd.bos.dataentity.entity.LocaleString;
getPrecondition():string;
getRuleType():string;
setKey(key:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setParameter(parameter:string):void;
setPreConditionDesc(preConditionDesc:$.kd.bos.dataentity.entity.LocaleString):void;
setPrecondition(precondition:string):void;
setRuleType(ruleType:string):void;
}
type OpBizRule_T = OpBizRule_S & OpBizRule$;
interface OpBizRule extends OpBizRule_T {
}
interface AbstractOpBizRuleAction_S {
}
type AbstractOpBizRuleAction_ST = kd.bos.entity.plugin.AbstractOperationServicePlugIn_S & AbstractOpBizRuleAction_S;
interface AbstractOpBizRuleAction_C extends AbstractOpBizRuleAction_ST {
new():AbstractOpBizRuleAction;
}
interface AbstractOpBizRuleAction$ {
getBizRule():OpBizRule;
setBizRule(bizRule:OpBizRule):void;
}
type AbstractOpBizRuleAction_T = kd.bos.entity.plugin.AbstractOperationServicePlugIn & AbstractOpBizRuleAction_S & AbstractOpBizRuleAction$;
interface AbstractOpBizRuleAction extends AbstractOpBizRuleAction_T {
}
interface OpBizRuleType_S {
}
type OpBizRuleType_ST = $.java.io.Serializable & OpBizRuleType_S;
interface OpBizRuleType_C extends OpBizRuleType_ST {
new():OpBizRuleType;
}
interface OpBizRuleType$ {
/**
* 复制
* @return
*/
copy():this;
/**
* 适用的业务应用;应用范围为指定应用时,使用此属性,指定应用范围,多个应用使用逗号隔开
*/
getAppliedAppNumbers():string;
/**
* 适用的单据;
*/
getAppliedEntityNumber():string;
/**
* 服务应用范围:0 = 全部应用,1 = 指定应用,2 = 仅本应用、3 = 仅指定单据;默认为0;
*/
getAppliedRange():number;
/**
* 服务的用途及配置要点;
*/
getDesc():$.kd.bos.dataentity.entity.LocaleString;
getId():string;
getName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 操作类型黑名单;默认为空,适用全部实体操作;如果不为空,则排除这些操作,黑名单优先;
*/
getOpBlackList():string;
/**
* 操作类型白名单;默认为空,适用全部实体操作;如果不为空,则只支持这些操作;
*/
getOpWhiteList():string;
/**
* 服务运行时类名,必须派生自AbstractOpBizRuleAction
*/
getRunClass():string;
/**
* 显示顺序;
*/
getSeq():number;
/**
* 服务参数配置界面FormId,可空;
*/
getSettingFormId():string;
getSrcApp():string;
/**
* 获取来源类型
* @return
*/
getSrcType():OpDefinitionSource;
/**
* 是否允许在单据设计器中选择此服务
*
* @return 如果返回true,不参与单据设计,由后台调用OpBizRuleSetServiceHelper.saveOpBizRuleSet自行设定那些单据需要执行此服务
* @remark
* 操作服务要挂在单据操作上,有两种途径:
* 1. 打开一个个单据的设计器,为各操作配置操作服务:如自动生成下游单据服务,由单据操作入手,确定本操作需要执行哪些服务
* 2. 提供一个后台管理,统一把操作服务分配到各个单据和操作上:如设置库存更新服务、数据集成服务,由服务入手,由服务实施统一配置哪些单据需要启用服务
* 一个操作服务要么通过设计器挂在操作上,要么在后台通过代码挂在操作上(设计器看不到),此2种不能同时支持,避免重复配置,重复执行
*/
isDesignForbid():boolean;
/**
* 是否隐藏,新建服务,能不能在服务选择列表中看到此服务;默认为false
*/
isDisable():boolean;
setAppliedAppNumbers(appliedAppNumbers:string):void;
setAppliedEntityNumber(appliedEntityNumber:string):void;
setAppliedRange(appliedRange:number):void;
setDesc(desc:$.kd.bos.dataentity.entity.LocaleString):void;
setDesignForbid(designForbid:boolean):void;
setDisable(disable:boolean):void;
setId(id:string):void;
setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
setOpBlackList(opBlackList:string):void;
setOpWhiteList(opWhiteList:string):void;
setRunClass(runClass:string):void;
setSeq(seq:number):void;
setSettingFormId(settingFormId:string):void;
setSrcApp(srcApp:string):void;
/**
* 获取来源应用
* @param srcType
*/
setSrcType(srcType:OpDefinitionSource):void;
}
type OpBizRuleType_T = $.java.io.Serializable & OpBizRuleType_S & OpBizRuleType$;
interface OpBizRuleType extends OpBizRuleType_T {
}
interface OpBizRuleTypes_S {
}
interface OpBizRuleTypes_C extends OpBizRuleTypes_S {
new():OpBizRuleTypes;
new(ruleTypes:$.java.util.List,cacheTime:Date):OpBizRuleTypes;
}
interface OpBizRuleTypes$ {
/**
* 复制
* @return
*/
copy():this;
/**
* 筛选指定场景下可用的操作服务
*
* @param appNumber 指定应用
* @param entityNumber 指定单据
* @param opType 指定操作类型
* @return
*/
filterRuleTypes(appNumber:string,entityNumber:string,opType:string):$.java.util.List;
getCacheTime():Date;
getRuleTypes():$.java.util.List;
/**
* 缓存是否已经超时失效?过了有效期之后,需要重新加载
* @return
*/
isCacheOverTime():boolean;
/**
* 当前语言资源是否加载完成
* @param lang
* @return
*/
isLoaded(lang:$.kd.bos.lang.Lang):boolean;
setCacheTime(cacheTime:Date):void;
/**
* 标记指定语言资源加载完成
* @param lang
*/
setLoaded(lang:$.kd.bos.lang.Lang):void;
setRuleTypes(ruleTypes:$.java.util.List):void;
}
type OpBizRuleTypes_T = OpBizRuleTypes_S & OpBizRuleTypes$;
interface OpBizRuleTypes extends OpBizRuleTypes_T {
}
interface OpBizRuleTypeLoader_S {
load():OpBizRuleTypes;
load(appNumbers:string[]):OpBizRuleTypes;
loadFromXmlOri():OpBizRuleTypes;
/**
* 加载预置的操作任务;原始数据存储在数据库中,每个数据中心可能不同,暂用静态变量缓存,重启服务即会刷新缓存
*
* @return
* @remark 后续操作任务都要转为操作服务定义
*/
loadOperationTask():$.java.util.Map;
/**
* 重置缓存内容,以便后续重新加载,获取操作服务
*/
resetCache():void;
}
interface OpBizRuleTypeLoader_C extends OpBizRuleTypeLoader_S {
new():OpBizRuleTypeLoader;
}
interface OpBizRuleTypeLoader$ {
}
type OpBizRuleTypeLoader_T = OpBizRuleTypeLoader_S & OpBizRuleTypeLoader$;
interface OpBizRuleTypeLoader extends OpBizRuleTypeLoader_T {
}
}
namespace kd.bos.entity.operate.bizrule.asyncbizrule{
interface AbstractAsyncOpBizRuleAction_S {
}
type AbstractAsyncOpBizRuleAction_ST = AbstractOpBizRuleAction_S & AbstractAsyncOpBizRuleAction_S;
interface AbstractAsyncOpBizRuleAction_C extends AbstractAsyncOpBizRuleAction_ST {
new():AbstractAsyncOpBizRuleAction;
}
interface AbstractAsyncOpBizRuleAction$ {
/**
* @function 初始化微服务调用参数, 用于调用微服务(参数列表与微服务调用一致) - 子类需要重写
* @author RD_riyi_zhang
* @date 2020/3/23 11:42
* @param serviceMessageInfo 消息对象
* @param datas 单据信息
* @return void
*/
setMServiceParam(serviceMessageInfo:AsyncOpBizRuleServiceMsgInfo,datas:$.kd.bos.dataentity.entity.DynamicObject[]):void;
}
type AbstractAsyncOpBizRuleAction_T = AbstractOpBizRuleAction & AbstractAsyncOpBizRuleAction_S & AbstractAsyncOpBizRuleAction$;
interface AbstractAsyncOpBizRuleAction extends AbstractAsyncOpBizRuleAction_T {
}
interface AbstractAsyncMService_S {
}
type AbstractAsyncMService_ST = IAsyncMService_S & AbstractAsyncMService_S;
interface AbstractAsyncMService_C extends AbstractAsyncMService_ST {
new():AbstractAsyncMService;
}
interface AbstractAsyncMService$ {
getBillID():any;
getCustomParamMap():$.java.util.Map;
getOperateOption():$.kd.bos.dataentity.OperateOption;
setBillID(billID:any):void;
setCustomParamMap(customParamMap:$.java.util.Map):void;
setOperateOption(operateOption:$.kd.bos.dataentity.OperateOption):void;
}
type AbstractAsyncMService_T = IAsyncMService & AbstractAsyncMService_S & AbstractAsyncMService$;
interface AbstractAsyncMService extends AbstractAsyncMService_T {
}
interface IAsyncMService_S {
}
interface IAsyncMService$ {
/**
* @function 执行具体业务逻辑
* @author RD_riyi_zhang
* @date 2020/4/17 10:58
* @param
* @return void
*/
execute():void;
}
type IAsyncMService_T = IAsyncMService_S & IAsyncMService$;
interface IAsyncMService extends IAsyncMService_T {
}
interface AsyncOpBizRuleServiceMsgInfo_S {
}
type AsyncOpBizRuleServiceMsgInfo_ST = $.java.io.Serializable & AsyncOpBizRuleServiceMsgInfo_S;
interface AsyncOpBizRuleServiceMsgInfo_C extends AsyncOpBizRuleServiceMsgInfo_ST {
/**
* @function 构造消息实体
* @author RD_riyi_zhang
* @date 2020/3/16 15:01
* @param operator 操作编码
* @param operator 操作服务标识
* @param opRuleName 操作服务名称
* @param entity 单据标识
* @return
*/
new(operator:string,operatorName:string,opRuleKey:string,opRuleName:string,entity:string):AsyncOpBizRuleServiceMsgInfo;
}
interface AsyncOpBizRuleServiceMsgInfo$ {
getAppId():string;
getAsycParams():$.java.util.List;
getEntity():string;
getOpRuleKey():string;
getOpRuleName():string;
getOperateOption():$.kd.bos.dataentity.OperateOption;
getOperator():string;
getOperatorName():string;
getReExecByLog():boolean;
getServiceClassName():string;
setAppId(appId:string):void;
setAsycParams(asycParams:$.java.util.List):void;
setEntity(entity:string):void;
setMServiceParam(asycParams:$.java.util.List):void;
setOpRuleKey(opRuleKey:string):void;
setOpRuleName(opRuleName:string):void;
setOperateOption(operateOption:$.kd.bos.dataentity.OperateOption):void;
setOperator(operator:string):void;
setOperatorName(operatorName:string):void;
setReExecByLog(reExecByLog:boolean):void;
setServiceClassName(serviceClassName:string):void;
}
type AsyncOpBizRuleServiceMsgInfo_T = $.java.io.Serializable & AsyncOpBizRuleServiceMsgInfo_S & AsyncOpBizRuleServiceMsgInfo$;
interface AsyncOpBizRuleServiceMsgInfo extends AsyncOpBizRuleServiceMsgInfo_T {
}
interface AsyncServiceParam_S {
}
type AsyncServiceParam_ST = $.java.io.Serializable & AsyncServiceParam_S;
interface AsyncServiceParam_C extends AsyncServiceParam_ST {
new():AsyncServiceParam;
}
interface AsyncServiceParam$ {
getBillID():any;
getBillNo():string;
getLogID():long;
getOrgID():long;
getServiceParam():$.java.util.Map;
setBillID(billID:any):void;
setBillNo(billNo:string):void;
setLogID(logID:long):void;
setOrgID(orgID:long):void;
setServiceParam(serviceParam:$.java.util.Map):void;
}
type AsyncServiceParam_T = $.java.io.Serializable & AsyncServiceParam_S & AsyncServiceParam$;
interface AsyncServiceParam extends AsyncServiceParam_T {
}
}
namespace kd.bos.entity.operate.bizrule.asyncbizrule.enums{
enum AsyncStatusEnum {
UNFINISHED,
FINISHED
}
}
namespace kd.bos.entity.operate.interaction{
interface IInteractionRequest_S {
}
interface IInteractionRequest$ {
/**
* 添加一条普通的错误提示:同一个操作,出现了太多次交互后,为了避免死循环,会强制中止交互处理,给操作结果添加一条普通的错误提示
*/
addErrorInfo(operateInfo:kd.bos.entity.operate.result.OperateErrorInfo):void;
/**
* 操作校验提示集合
*/
getAllErrorOrValidateInfo():$.java.util.List;
/**
* 本次交互上下文,包含交互提示内容及交互界面参数
*/
getInteractionContext():InteractionContext;
/**
* 本次交互请求标识,区分发起请求的来源,各交互请求不重复
*/
getSponsor():string;
/**
* 是否显示非交互消息:处理了交互之后,通常需要跳过非交互消息的显示
*/
setShowMessage(showMessage:boolean):void;
}
type IInteractionRequest_T = IInteractionRequest_S & IInteractionRequest$;
interface IInteractionRequest extends IInteractionRequest_T {
}
interface InteractionContext_S {
}
type InteractionContext_ST = $.java.io.Serializable & InteractionContext_S;
interface InteractionContext_C extends InteractionContext_ST {
new():InteractionContext;
}
interface InteractionContext$ {
/**
* 添加一条交互提示
*
* @param operateInfo 操作信息
*/
addOperateInfo(operateInfo:kd.bos.entity.operate.result.OperateErrorInfo):void;
/**
* 获取如果不需要指定定制界面,可以直接通过此属性,指定需要显示的消息
*
* @return 操作错误信息
*/
getCustOperateInfos():$.java.util.List;
/**
* 获取指定显示的定制界面标识
*
* @return String
*/
getCustShowFormId():string;
/**
* 获取指定显示定制界面时,需要传入的界面参数
*
* @return 定制界面参数
*/
getCustShowParameter():$.java.util.Map;
/**
* 获取简单交互信息(批量自定义消息时,此属性建议赋值,以便平台在批量操作时作简单提示)
*
* @return String
*/
getSimpleMessage():string;
/**
* 是否指定了定制界面
*
* @return 是否制定了定制界面
*/
isShowCustForm():boolean;
/**
* 设置如果不需要指定定制界面,可以直接通过此属性,设置指定需要显示的消息
*
* @param custOperateInfos 操作错误信息
*/
setCustOperateInfos(custOperateInfos:$.java.util.List):void;
/**
* 设置指定显示的定制界面标识
*
* @param custShowFormId 自定义表单标识
*/
setCustShowFormId(custShowFormId:string):void;
/**
* 设置指定显示定制界面时,需要传入的界面参数
*
* @param custShowParameter 界面参数
*/
setCustShowParameter(custShowParameter:$.java.util.Map):void;
/**
* 设置简单交互信息(批量自定义消息时,此属性建议赋值,以便平台在批量操作时作简单提示)
*
* @param simpleMessage 简单信息
*/
setSimpleMessage(simpleMessage:string):void;
}
type InteractionContext_T = $.java.io.Serializable & InteractionContext_S & InteractionContext$;
interface InteractionContext extends InteractionContext_T {
}
interface KDInteractionException_S {
}
type KDInteractionException_ST = kd.bos.exception.KDBizException_S & KDInteractionException_S;
interface KDInteractionException_C extends KDInteractionException_ST {
/**
* 交互错误:插件通过抛出交互错误,要求操作显示交互界面
*
* @param sponsor 本次交互的标识,由插件指定的固定值,不能与其他交互重复
* @param interactionContext 交互上下文,包含了交互提示内容等
*/
new(sponsor:string,interactionContext:InteractionContext):KDInteractionException;
}
interface KDInteractionException$ {
/**
* 交互上下文,包含了交互提示内容等
* @return InteractionContext
*/
getInteractionContext():InteractionContext;
/**
* 本次交互的唯一标识
* @return String
*/
getSponsor():string;
}
type KDInteractionException_T = kd.bos.exception.KDBizException & KDInteractionException_S & KDInteractionException$;
interface KDInteractionException extends KDInteractionException_T {
}
interface InteractionConfirmResult_S {
/**
* 把字符串反序列化为本对象
*
* @param json json字符串
* @return 交互结果
*/
fromJsonString(json:string):InteractionConfirmResult;
}
interface InteractionConfirmResult_C extends InteractionConfirmResult_S {
new():InteractionConfirmResult;
}
interface InteractionConfirmResult$ {
/**
* 交互结果。操作支持多次交互,每次交互结果使用sponsor为key,存储在字典中
* @return 集合
*/
getResults():$.java.util.Map;
/**
* 添加本次交互结果
*
* @param sponsor 本次交互标识sponsor,由插件自行指定与识别
* @param resultString 交互结果,如果是复杂对象,需要先自行序列化为字符串
*/
put(sponsor:string,resultString:string):void;
/**
* 把本对象序列化为字符串
* @return String
*/
toJsonString():string;
}
type InteractionConfirmResult_T = InteractionConfirmResult_S & InteractionConfirmResult$;
interface InteractionConfirmResult extends InteractionConfirmResult_T {
}
}
namespace kd.bos.entity.operate.result{
interface OperateErrorInfo_S {
}
type OperateErrorInfo_ST = OperateInfo_S & $.java.io.Serializable & OperateErrorInfo_S;
interface OperateErrorInfo_C extends OperateErrorInfo_ST {
/**
* 构造函数
*/
new():OperateErrorInfo;
/**
* 构造函数
* @param errorCode 错误码
* @param level 错误级别
* @param pkValue 单据内码
*/
new(errorCode:string,level:kd.bos.entity.validate.ErrorLevel,pkValue:any):OperateErrorInfo;
/**
* 构造函数
* @param errorCode 错误码
* @param level 错误级别
* @param pkValue 单据内码
* @param entryId 分录内码
*/
new(errorCode:string,level:kd.bos.entity.validate.ErrorLevel,pkValue:any,entryId:any):OperateErrorInfo;
/**
* 构造函数
* @param errorCode 错误码
* @param level 错误级别
* @param pkValue 单据内码
* @param entryId 分录内码
* @param detailId 子分录内码
*/
new(errorCode:string,level:kd.bos.entity.validate.ErrorLevel,pkValue:any,entryId:any,detailId:any):OperateErrorInfo;
}
interface OperateErrorInfo$ {
/**
* 获取错误码
*/
getErrorCode():string;
/**
* 获取错误定制信息,例如错误来源等;默认返回null,由错误源头灌入需向外传递的信息
* @return
*/
getErrorCustInfos():$.java.util.Map;
/**
* 获取此条目的错误级别 toString(),用于序列化
*/
getErrorLevel():string;
getLevel():kd.bos.entity.validate.ErrorLevel;
/**
* 设置错误码
*/
setErrorCode(errorCode:string):void;
/**
* 设置错误定制信息,由错误源头调用,灌入需向外传递的信息
* @param errorCustInfos
*/
setErrorCustInfos(errorCustInfos:$.java.util.Map):void;
/**
* 设置此条目的错误级别 toString(),用于序列化
*/
setErrorLevel(errorLevel:string):void;
/**
* 设置此条目的错误级别,不序列化
*/
setLevel(level:kd.bos.entity.validate.ErrorLevel):void;
}
type OperateErrorInfo_T = OperateInfo & $.java.io.Serializable & OperateErrorInfo_S & OperateErrorInfo$;
interface OperateErrorInfo extends OperateErrorInfo_T {
}
interface OperateResultInfo_S {
}
type OperateResultInfo_ST = OperateInfo_S & $.java.io.Serializable & OperateResultInfo_S;
interface OperateResultInfo_C extends OperateResultInfo_ST {
/**
* 空构造函数,用于反序列化调用
*/
new():OperateResultInfo;
new(pkValue:any):OperateResultInfo;
new(pkValue:any,entryId:any):OperateResultInfo;
new(pkValue:any,entryId:any,detailId:any):OperateResultInfo;
}
interface OperateResultInfo$ {
getName():string;
getNumber():string;
isPkValueIsNullOrEmpty():boolean;
setName(name:string):void;
setNumber(number_arg:string):void;
}
type OperateResultInfo_T = OperateInfo & $.java.io.Serializable & OperateResultInfo_S & OperateResultInfo$;
interface OperateResultInfo extends OperateResultInfo_T {
}
interface OperateInfo_S {
}
type OperateInfo_ST = IOperateInfo_S & $.java.io.Serializable & OperateInfo_S;
interface OperateInfo_C extends OperateInfo_ST {
/**
* 构造函数
*/
new():OperateInfo;
/**
* 构造函数
* @param pkValue
* @param entryId
* @param detailId
*/
new(pkValue:any,entryId:any,detailId:any):OperateInfo;
}
interface OperateInfo$ {
/**
* 获取单据顺序号:批量处理多张单据时,提示单据的位置
* @return
*/
getDataEntityIndex():number;
/**
* 获取提示信息所在的实体
* @return
*/
getEntityKey():string;
/**
* 获取提示信息所在的字段
* @return
*/
getFieldKey():string;
/**
* 获取提示信息格式
*/
getPattern():string;
/**
* 获取单据体行号,用于给客户提示 (返回错误信息对应到哪个行上。如果是分录,对应到所在行号,如果是主表,总是0)
*/
getRowIndex():number;
/**
* 获取子单据体行号
*/
getSubRowIndex():number;
/**
* 设置单据顺序号:批量处理多张单据时,提示单据的位置
* @param
*/
setDataEntityIndex(dataEntityIndex:number):void;
/**
* 设置提示信息所在的实体
* @param
*/
setEntityKey(entityKey:string):void;
/**
* 设置提示信息所在的字段
* @param
*/
setFieldKey(fieldKey:string):void;
/**
* 设置提示信息
*/
setMessage(message:string):void;
/**
* 设置提示信息格式
*/
setPattern(pattern:string):void;
/**
* 设置数据的对象的主键值(单据/基础资料主键值)
*/
setPkValue(pkValue:any):void;
/**
* 设置单据体行号,用于给客户提示 (返回错误信息对应到哪个行上。如果是分录,对应到所在行号,如果是主表,总是0)
*/
setRowIndex(rowIndex:number):void;
/**
* 设置子单据体行号
*/
setSubRowIndex(subRowIndex:number):void;
/**
* 设置操作信息标题(返回信息关键字列内容)
*/
setTitle(title:string):void;
}
type OperateInfo_T = IOperateInfo & $.java.io.Serializable & OperateInfo_S & OperateInfo$;
interface OperateInfo extends OperateInfo_T {
}
interface IOperateInfo_S {
}
interface IOperateInfo$ {
/**
* 获取提示信息
* @return
*/
getMessage():string;
/**
* 获取数据的对象的主键值
* @return
*/
getPkValue():any;
/**
* 获取操作信息标题
* @return
*/
getTitle():string;
}
type IOperateInfo_T = IOperateInfo_S & IOperateInfo$;
interface IOperateInfo extends IOperateInfo_T {
}
interface OperationResult_S {
}
type OperationResult_ST = AbstractOperationResult_S & kd.bos.entity.operate.interaction.IInteractionRequest_S & $.java.io.Serializable & OperationResult_S;
interface OperationResult_C extends OperationResult_ST {
new():OperationResult;
}
interface OperationResult$ {
/**
* 自定义信息
* @return
*/
getCustomData():$.java.util.Map;
/**
* 获取下推引擎,完成执行时间
*
* @return 完成时间
*/
getFinishedTime():Date;
/**
* 获取操作运行时间(单位秒)
*
* @return 操作耗时
*/
getRunSecond():long;
/**
* 获取操作开始执行时间
*
* @return 日期
*/
getStartTime():Date;
/**
* 获取校验结果
*
* @return 校验结果集
*/
getValidateResult():kd.bos.entity.validate.ValidateResultCollection;
/**
* 合并操作结果,把其他操作结果,合并到当前对象中
* customParam以覆盖的方式加入,需注意不要重复
* @param opResult 操作结果
*/
mergeOperateResult(opResult:OperationResult):void;
/**
* 合并子操作结果至当前操作
*
* @param subOpResult 子操作结果
*/
mergeSubOpResult(subOpResult:OperationResult):void;
setCustomData(customData:$.java.util.Map):void;
/**
* 设置下推引擎,完成执行时间
* @param finishedTime 完成时间
*/
setFinishedTime(finishedTime:Date):void;
/**
* 设置本次交互上下文,包含交互提示内容及交互界面参数
* @param interactionContext 交互上下文
*/
setInteractionContext(interactionContext:kd.bos.entity.operate.interaction.InteractionContext):void;
/**
* 设置交互请求标识,区分发起请求的来源,各交互请求不重复
*/
setSponsor(sponsor:string):void;
/**
* 设置操作开始执行时间
* @param startTime 开始时间
*/
setStartTime(startTime:Date):void;
/**
* 设置校验结果
*
* @param validateResultCollection 校验结果集
*/
setValidateResult(validateResultCollection:kd.bos.entity.validate.ValidateResultCollection):void;
}
type OperationResult_T = AbstractOperationResult & kd.bos.entity.operate.interaction.IInteractionRequest & $.java.io.Serializable & OperationResult_S & OperationResult$;
interface OperationResult extends OperationResult_T {
}
}
namespace kd.bos.entity.param{
interface ParamRow_S {
}
interface ParamRow_C extends ParamRow_S {
new():ParamRow;
new(key:ParamKey,value:any,isLock:boolean):ParamRow;
new(key:ParamKey,value:any,isLock:boolean,sync:boolean):ParamRow;
}
interface ParamRow$ {
getKey():ParamKey;
getValue():any;
isLock():boolean;
isSync():boolean;
setKey(key:ParamKey):void;
setLock(lock:boolean):void;
setSync(sync:boolean):void;
setValue(value:any):void;
}
type ParamRow_T = ParamRow_S & ParamRow$;
interface ParamRow extends ParamRow_T {
}
interface OverallParam_S {
}
interface OverallParam_C extends OverallParam_S {
new():OverallParam;
}
interface OverallParam$ {
getMaxReturnData():number;
isEnableSignOrg():boolean;
isViewBill():boolean;
setEnableSignOrg(isEnableSignOrg:boolean):void;
setMaxReturnData(maxReturnData:number):void;
setViewBill(viewBill:boolean):void;
}
type OverallParam_T = OverallParam_S & OverallParam$;
interface OverallParam extends OverallParam_T {
}
interface FuzzySearch_S {
readonly NO:string;
}
interface FuzzySearch_C extends FuzzySearch_S {
new():FuzzySearch;
new(comboListFields:$.java.util.List,searchFields:$.java.util.List):FuzzySearch;
new(pageSize:number,comboListFields:$.java.util.List,searchFields:$.java.util.List):FuzzySearch;
}
interface FuzzySearch$ {
getComboListFields():$.java.util.List;
getPageSize():number;
getSearchFields():$.java.util.List;
/**
* 获取模糊查询排序方式
* @return
*/
getSortOrder():string;
isDefaultSort():boolean;
isF7FullName():boolean;
setComboListFields(comboListFields:$.java.util.List):void;
setDefaultSort(defaultSort:boolean):void;
setF7FullName(f7FullName:boolean):void;
setPageSize(pageSize:number):void;
setSearchFields(searchFields:$.java.util.List):void;
/**
* 设置模糊查询排序方式
* @param sortOrder
*/
setSortOrder(sortOrder:string):void;
}
type FuzzySearch_T = FuzzySearch_S & FuzzySearch$;
interface FuzzySearch extends FuzzySearch_T {
}
interface AppParam_S {
}
interface AppParam_C extends AppParam_S {
new():AppParam;
new(appId:string,orgId:long):AppParam;
new(appId:string,orgId:long,actBookId:long):AppParam;
new(appId:string,viewType:string,orgId:long,actBookId:long):AppParam;
new(cloudId:string,appId:string,viewType:string,orgIds:$.java.util.List,actBookId:long,acctingBookId:long):AppParam;
new(cloudId:string,appId:string,viewType:string,orgId:long,actBookId:long,acctingBookId:long):AppParam;
}
interface AppParam$ {
getAcctingBookId():long;
getActBookId():long;
getAppId():string;
getCloudId():string;
getFormId():string;
getGcFields():$.java.util.List;
getOrgId():long;
getOrgIds():$.java.util.List;
getParamId():string;
getSubSystem():string;
getViewType():string;
setAcctingBookId(acctingBookId:long):void;
setActBookId(actBookId:long):void;
setAppId(appId:string):void;
setCloudId(cloudId:string):void;
setFormId(formId:string):void;
setGcFields(gcFields:$.java.util.List):void;
setOrgId(orgId:long):void;
setOrgIds(orgIds:$.java.util.List):void;
setParamId(paramId:string):void;
setSubSystem(subSystem:string):void;
setViewType(viewType:string):void;
}
type AppParam_T = AppParam_S & AppParam$;
interface AppParam extends AppParam_T {
}
interface CustomParam_S {
}
type CustomParam_ST = $.java.io.Serializable & CustomParam_S;
interface CustomParam_C extends CustomParam_ST {
new():CustomParam;
new(searchKeySet:$.java.util.Set):CustomParam;
}
interface CustomParam$ {
getGroupNumber():string;
getSearchKeySet():$.java.util.Set;
setGroupNumber(groupNumber:string):void;
setSearchKeySet(searchKeySet:$.java.util.Set):void;
}
type CustomParam_T = $.java.io.Serializable & CustomParam_S & CustomParam$;
interface CustomParam extends CustomParam_T {
}
interface BillParam_S {
}
type BillParam_ST = $.java.io.Serializable & BillParam_S;
interface BillParam_C extends BillParam_ST {
new():BillParam;
}
interface BillParam$ {
getFuzzySearch():FuzzySearch;
getMobileListF7Config():MobileListF7Config;
getOverallParam():OverallParam;
setFuzzySearch(fuzzySearch:FuzzySearch):void;
setMobileListF7Config(mobileListF7Config:MobileListF7Config):void;
setOverallParam(overallParam:OverallParam):void;
}
type BillParam_T = $.java.io.Serializable & BillParam_S & BillParam$;
interface BillParam extends BillParam_T {
}
interface ParamOperationResult_S {
}
interface ParamOperationResult_C extends ParamOperationResult_S {
new():ParamOperationResult;
new(success:boolean):ParamOperationResult;
new(messeage:string,success:boolean):ParamOperationResult;
}
interface ParamOperationResult$ {
getMesseage():string;
isSuccess():boolean;
setMesseage(messeage:string):void;
setSuccess(success:boolean):void;
}
type ParamOperationResult_T = ParamOperationResult_S & ParamOperationResult$;
interface ParamOperationResult extends ParamOperationResult_T {
}
interface ParamPublishObject_S {
}
interface ParamPublishObject_C extends ParamPublishObject_S {
new():ParamPublishObject;
new(selectedFields:string):ParamPublishObject;
new(cloudId:string,formId:string,appId:string,actBookEnable:boolean):ParamPublishObject;
new(id:string,formId:string,cloudId:string,appId:string):ParamPublishObject;
}
interface ParamPublishObject$ {
getAppId():string;
getCloudId():string;
getFormId():string;
getId():string;
getSelectedFields():string;
isActBookEnable():boolean;
setActBookEnable(actBookEnable:boolean):void;
setAppId(appId:string):void;
setCloudId(cloudId:string):void;
setFormId(formId:string):void;
setId(id:string):void;
setSelectedFields(selectedFields:string):void;
}
type ParamPublishObject_T = ParamPublishObject_S & ParamPublishObject$;
interface ParamPublishObject extends ParamPublishObject_T {
}
interface MobileListF7Config_S {
}
interface MobileListF7Config_C extends MobileListF7Config_S {
new():MobileListF7Config;
new(isEnabled:boolean):MobileListF7Config;
}
interface MobileListF7Config$ {
/**
* 图标
*
* @return
*/
getIconField():string;
getPageRow():number;
/**
* 主标题
*
* @return
*/
getPrimaryField():string;
/**
* 副标题
*
* @return
*/
getSecondField():string;
isEnabled():boolean;
isEnabledTree():boolean;
isShowModal():boolean;
isShowSearch():boolean;
setEnabled(isEnabled:boolean):void;
setEnabledTree(isEnabledTree:boolean):void;
setIconField(iconField:string):void;
setPageRow(pageRow:number):void;
setPrimaryField(primaryField:string):void;
setSecondField(secondField:string):void;
setShowModal(showModal:boolean):void;
setShowSearch(showSearch:boolean):void;
}
type MobileListF7Config_T = MobileListF7Config_S & MobileListF7Config$;
interface MobileListF7Config extends MobileListF7Config_T {
}
interface ShowColumn_S {
}
type ShowColumn_ST = $.java.io.Serializable & ShowColumn_S;
interface ShowColumn_C extends ShowColumn_ST {
new():ShowColumn;
new(id:string,caption:string):ShowColumn;
new(id:string,caption:string,width:number):ShowColumn;
new(id:string,caption:string,visible:boolean):ShowColumn;
new(id:string,caption:string,width:number,visible:boolean):ShowColumn;
}
interface ShowColumn$ {
getCaption():string;
getId():string;
getWidth():number;
isVisible():boolean;
setCaption(caption:string):void;
setId(id:string):void;
setVisible(visible:boolean):void;
setWidth(width:number):void;
}
type ShowColumn_T = $.java.io.Serializable & ShowColumn_S & ShowColumn$;
interface ShowColumn extends ShowColumn_T {
}
interface AppCustomParam_S {
}
type AppCustomParam_ST = $.java.io.Serializable & AppCustomParam_S;
interface AppCustomParam_C extends AppCustomParam_ST {
new():AppCustomParam;
new(appId:string):AppCustomParam;
new(appId:string,keySet:$.java.util.Set):AppCustomParam;
}
interface AppCustomParam$ {
getAppId():string;
getSearchKeySet():$.java.util.Set;
setAppId(appId:string):void;
setSearchKeySet(searchKeySet:$.java.util.Set):void;
}
type AppCustomParam_T = $.java.io.Serializable & AppCustomParam_S & AppCustomParam$;
interface AppCustomParam extends AppCustomParam_T {
}
interface ParamKey_S {
}
interface ParamKey_C extends ParamKey_S {
new():ParamKey;
new(param:string,orgId:long):ParamKey;
}
interface ParamKey$ {
getOrgId():long;
getParam():string;
setOrgId(orgId:long):void;
setParam(param:string):void;
}
type ParamKey_T = ParamKey_S & ParamKey$;
interface ParamKey extends ParamKey_T {
}
interface ShowContentParam_S {
}
type ShowContentParam_ST = $.java.io.Serializable & ShowContentParam_S;
interface ShowContentParam_C extends ShowContentParam_ST {
new():ShowContentParam;
new(arg0:boolean,arg1:boolean,arg2:boolean):ShowContentParam;
}
interface ShowContentParam$ {
isBillOfLadingFeedback():boolean;
isCallK():boolean;
isComment():boolean;
isOpenYzj():boolean;
isPreSaleHotline():boolean;
isPreSaleOnlineConsultation():boolean;
isRobertNumber():boolean;
setBillOfLadingFeedback(arg0:boolean):void;
setCallK(arg0:boolean):void;
setComment(arg0:boolean):void;
setOpenYzj(arg0:boolean):void;
setPreSaleHotline(arg0:boolean):void;
setPreSaleOnlineConsultation(arg0:boolean):void;
setRobertNumber(arg0:boolean):void;
}
type ShowContentParam_T = $.java.io.Serializable & ShowContentParam_S & ShowContentParam$;
interface ShowContentParam extends ShowContentParam_T {
}
}
namespace kd.bos.entity.plugin{
interface IOperationServicePlugIn_S {
}
interface IOperationServicePlugIn$ {
/**
* 操作事务提交后触发此事件
* 执行操作事务后的逻辑处理,后续事情不影响当前操作事务的可以放在此处理
*
* 示例
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void afterExecuteOperationTransaction(AfterOperationArgs e)
* // 处理业务逻辑
* }
* }}
*
* @param e 事件参数
*/
afterExecuteOperationTransaction(e:kd.bos.entity.plugin.args.AfterOperationArgs):void;
/**
* 操作校验通过,开启事务前触发此事件
* 通知插件在事务开启前,对要处理的数据进行预处理
* 数据处理的逻辑推荐放在事务外进行,在事务中,则只需要把已处理好的数据,更新到数据库。从而避免拉长事务占用时间,造成性能瓶颈
* 本事件参数只含已通过校验的单据,未通过校验的单据已被剔除;如果没有任何单据通过校验,则直接结束操作,不会进入此事件
*
* 示例
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
* // 处理业务逻辑
* }
* }
* }
*
* @param e 事件参数,内含已通过校验的单据数据包
*/
beforeExecuteOperationTransaction(e:kd.bos.entity.plugin.args.BeforeOperationArgs):void;
/**
* 操作完成,保存审计日志前触发此事件
* 单据设置了监控字段变动清单后,会在操作完成时,记录这些字段的值变化,以供后续审计
* 本事件在保存审计日志之前触发,供插件修改审计日志内容
*
* @param e 事件参数,含审计日志内容
*/
beforeSaveAuditLog(e:kd.bos.entity.plugin.args.BeforeSaveAuditLogArg):void;
/**
* 调用操作事务开始(事务内)
* 触发此事件时,操作引擎还未把单据数据更新到数据库
*
* 示例
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void beginOperationTransaction(BeginOperationTransactionArgs e) {
* // 处理业务逻辑
* }
* }
* }
*
* @param e 事件参数,内含待更新到数据库的单据
*/
beginOperationTransaction(e:kd.bos.entity.plugin.args.BeginOperationTransactionArgs):void;
/**
* 调用操作事务结束(事务内)
* 触发此事件时,操作引擎已把单据数据更新到了数据库,但事务还未提交
*
* 示例
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void endOperationTransaction(EndOperationTransactionArgs e) {
* // 处理业务逻辑
* }
* }}
*
* @param e 事件参数
*/
endOperationTransaction(e:kd.bos.entity.plugin.args.EndOperationTransactionArgs):void;
/**
* 获取进度控制接口实例
* 插件基类{@link AbstractOperationServicePlugIn}已实现此方法,返回本地的进度控制接口实例
*
* 使用示例
* {@code this.getOperateProgress().feedbackProgress("当前正在进行...."); }
*
* @return 操作进度控制接口
*/
getOperateProgress():kd.bos.entity.operate.OperateProgress;
/**
* 获取操作可选参数包
* 插件基类{@link AbstractOperationServicePlugIn}已实现了此方法,返回本地的参数包变量
*
* 使用示例:
* {@code String opVal = this.getOption().getVariableValue(name, defVal); }
*
* @return 操作可选参数包
*/
getOption():$.kd.bos.dataentity.OperateOption;
/**
* 获取插件名
*
* @return
*/
getPluginName():string;
/**
* 初始化事件
* 在操作正式执行前触发
*
* @param e 初始化操作事件
*/
initialize(e:kd.bos.entity.plugin.args.InitOperationArgs):void;
/**
* 设置操作结果对象
* 本方法由操作引擎调用,传入已初始化的操作结果对象
* 插件基类{@link AbstractOperationServicePlugIn}已实现此方法,把收到的变量放在本地
*/
initializeOperationResult(result:kd.bos.entity.operate.result.OperationResult):void;
/**
* 本插件是否已支持单据体分页加载模式?
*
* 超级大单执行操作时,单据体行数非常庞大,最优方案是分页加载:只加载少量单据体行
* 分批后,当前内存中只有一页分录行数据,插件如果要对全部行进行处理,必须考虑到有些行还没有加载,需要调整实现逻辑,自行访问数据库读取其余的行
* 如果本插件已对单据体分页加载模式进行了针对性的处理,或不涉及单据体行运算,可重写此方法,返回true;
* 默认返回false,操作引擎在遇到大单分页时,自动略过本插件,不执行本插件的逻辑
*
* @return 默认返回false,插件可重写此方法,返回true;
*/
isSupportSplitPageMode():boolean;
/**
* 注册操作校验器事件
* 通过此事件,通知插件进行添加自定义数据校验器:{@link kd.bos.entity.validate.AbstractValidator}的子类
*
* 示例:
*
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void onAddValidators(AddValidatorsEventArgs e) {
* e.addValidator(new DemoValidator());
* }
* }
* }
*
* @param e 事件参数,含已注册的操作校验器集合
*/
onAddValidators(e:AddValidatorsEventArgs):void;
/**
* 预指定加载字段事件
* 在操作正式执行时,准备加载待处理的单据数据包前触发
* 在单据上执行保存、提交、审核操作时,直接把界面上的数据包传入操作服务,操作引擎不需要再加载数据包,不会触发此事件
* 在单据上执行其他操作,或在列表上执行操作时会触发此事件:调用操作只传入了单据内码,需由操作引擎自行加载数据包
* 默认是按需加载,只加载了最少量的字段。插件要用到的字段,必须通过本事件指定,否则后续插件到数据包取字段值时,会报找不到字段的异常
*
* 示例:
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void onPreparePropertys(PreparePropertysEventArgs e) {
* e.getFieldKeys().add("billno");
* }
* }
* }
*
* @param e 事件参数,含需加载的字段集合
*/
onPreparePropertys(e:PreparePropertysEventArgs):void;
/**
* 操作结束时触发此事件
* 操作服务执行完毕,准备返回操作结果之前触发此事件
* 无论操作是否成功,都会触发此事件
* 允许插件基于操作结果进行后续处理,或者修改操作结果提示,释放资源
*
* 示例
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void rollbackOperation(RollbackOperationArgs e) {
* // 处理业务逻辑
* }
* }}
*
* @param e 参数
*/
onReturnOperation(e:kd.bos.entity.plugin.args.ReturnOperationArgs):void;
/**
* 操作处理失败,回滚事务时触发此事件
* 该方法在事务异常后执行,供业务在此对没有事务保护的数据更新进行补偿。
*
* 示例
{@code
* public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
* @Override
* public void rollbackOperation(RollbackOperationArgs e) {
* // 处理业务逻辑
* }
* }}
*
* @param e 事件参数
*/
rollbackOperation(e:kd.bos.entity.plugin.args.RollbackOperationArgs):void;
/**
* 设置上下文
* 本方法由操作引擎调用,传入操作执行上下文信息
* 插件基类{@link AbstractOperationServicePlugIn}已实现此方法,把收到的方法放在本地
*
* @param billEntityType 单据主实体
* @param operateMeta 操作元数据
* @param option 自定义参数
*/
setContext(billEntityType:MainEntityType,operateMeta:$.java.util.Map,option:$.kd.bos.dataentity.OperateOption):void;
/**
* 设置进度控制接口实例
* 本方法由操作引擎调用,传入操作进度控制接口实例变量
* 插件基类{@link AbstractOperationServicePlugIn}已实现此方法,把收到的变量放在本地
*
* @param progress 进度
*/
setOperateProgress(progress:kd.bos.entity.operate.OperateProgress):void;
/**
* 设置插件的名称
*
* @param name 插件名称
*/
setPluginName(name:string):void;
/**
* 执行操作校验前触发此事件
* 插件可在此事件,设置校验提示的前缀,默认是以单据编号为提示前缀,插件可以设置按其他字段值做提示前缀
*
* @param validatePrefixArgs 事件参数,插件通过此参数设置作为提示前缀的字段名
*/
validatePrefix(validatePrefixArgs:kd.bos.entity.plugin.args.ValidatePrefixArgs):void;
}
type IOperationServicePlugIn_T = IOperationServicePlugIn_S & IOperationServicePlugIn$;
interface IOperationServicePlugIn extends IOperationServicePlugIn_T {
}
interface IOperationService_S {
}
interface IOperationService$ {
/**
* 获取操作的单据数据包。
* 此方法当前实际返回null,需要通过具体的事件参数中获取操作的单据数据包
*/
getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 获取操作上下文对象,其中包含了操作元数据等信息
*/
getOperationContext():kd.bos.entity.operate.OperationContext;
/**
* 获取操作执行结果对象,其中包含了操作异常提示信息
*/
getOperationResult():kd.bos.entity.operate.result.OperationResult;
/**
* 设置操作的单据数据包。
* 此方法当前未被调用,未传入单据数据包给插件
*
* @param dataEntities 单据数据包
*/
setDataEntities(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
/**
* 设置操作上下文对象。
* 此方法当前未被调用,未传入操作上下文对象给插件
*/
setOperationContext(operationContext:kd.bos.entity.operate.OperationContext):void;
/**
* 设置单据操作执行结果对象。
* 此方法当前未被调用,未传入操作结果对象给插件
*
* @param operationResult 操作执行结果
*/
setOperationResult(operationResult:kd.bos.entity.operate.result.OperationResult):void;
}
type IOperationService_T = IOperationService_S & IOperationService$;
interface IOperationService extends IOperationService_T {
}
interface AbstractDataModelPlugin_S {
}
type AbstractDataModelPlugin_ST = kd.bos.entity.datamodel.events.IDataModelChangeListener_S & kd.bos.entity.datamodel.events.IDataModelListener_S & AbstractDataModelPlugin_S;
interface AbstractDataModelPlugin_C extends AbstractDataModelPlugin_ST {
new():AbstractDataModelPlugin;
}
interface AbstractDataModelPlugin$ {
}
type AbstractDataModelPlugin_T = kd.bos.entity.datamodel.events.IDataModelListener & kd.bos.entity.datamodel.events.IDataModelChangeListener & AbstractDataModelPlugin_S & AbstractDataModelPlugin$;
interface AbstractDataModelPlugin extends AbstractDataModelPlugin_T {
}
interface AddValidatorsEventArgs_S {
}
interface AddValidatorsEventArgs_C extends AddValidatorsEventArgs_S {
/**
* 构造函数
*
* @param dataEntities 单据数据包
* @param validators 已注册的校验器
*/
new(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],validators:$.java.util.List):AddValidatorsEventArgs;
}
interface AddValidatorsEventArgs$ {
/**
* 注册自定义操作校验器
*
* @param validator 自定义的操作校验器实例
*/
addValidator(validator:kd.bos.entity.validate.AbstractValidator):void;
/**
* 获取单据数据包
*
* @return 单据数据包
*/
getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 获取已注册的操作校验器集合
*
* @return 已注册的操作校验器集合
*/
getValidators():$.java.util.List;
}
type AddValidatorsEventArgs_T = AddValidatorsEventArgs_S & AddValidatorsEventArgs$;
interface AddValidatorsEventArgs extends AddValidatorsEventArgs_T {
}
interface ParamCondition_S {
}
type ParamCondition_ST = $.java.io.Serializable & ParamCondition_S;
interface ParamCondition_C extends ParamCondition_ST {
new():ParamCondition;
}
interface ParamCondition$ {
getExpression():string;
getSimpleExpr():string;
setExpression(expression:string):void;
setSimpleExpr(simpleExpr:string):void;
}
type ParamCondition_T = $.java.io.Serializable & ParamCondition_S & ParamCondition$;
interface ParamCondition extends ParamCondition_T {
}
interface PreparePropertysEventArgs_S {
}
interface PreparePropertysEventArgs_C extends PreparePropertysEventArgs_S {
new():PreparePropertysEventArgs;
}
interface PreparePropertysEventArgs$ {
/**
* 获取待加载的字段集合
* 插件把需加载的字段,添加到此集合中
*
* 示例代码:{@code
* public void onPreparePropertys(PreparePropertysEventArgs e) {
* e.getFieldKeys().add("billno");
* }
* }
*/
getFieldKeys():$.java.util.List;
getIds():any[];
setIds(ids:any[]):void;
}
type PreparePropertysEventArgs_T = PreparePropertysEventArgs_S & PreparePropertysEventArgs$;
interface PreparePropertysEventArgs extends PreparePropertysEventArgs_T {
}
interface AbstractOperationServicePlugIn_S {
}
type AbstractOperationServicePlugIn_ST = IOperationService_S & IOperationServicePlugIn_S & AbstractOperationServicePlugIn_S;
interface AbstractOperationServicePlugIn_C extends AbstractOperationServicePlugIn_ST {
new():AbstractOperationServicePlugIn;
}
interface AbstractOperationServicePlugIn$ {
}
type AbstractOperationServicePlugIn_T = IOperationServicePlugIn & IOperationService & AbstractOperationServicePlugIn_S & AbstractOperationServicePlugIn$;
interface AbstractOperationServicePlugIn extends AbstractOperationServicePlugIn_T {
}
interface Plugin_S {
readonly PluginType_JavaClass:number;
readonly PluginType_JavaKingScript:number;
readonly PluginType_JavaScript:number;
readonly PluginType_TestJavaClass:number;
readonly PluginType_TestJavaScript:number;
/**
* KingScript 脚本是否支持注册
* @return
*/
enableRegisterKingScript():boolean;
/**
* KingScript 脚本是否支持注册 (不确定调用场景, 需通过模型类型判定是否支持 KingScript 脚本)
* @param modelType 模型类型
* @return
*/
enableRegisterKingScript(modelType:string):boolean;
/**
* KingScript 脚本是否支持运行
* @return
*/
enableRunKingScript():boolean;
}
type Plugin_ST = $.java.io.Serializable & Plugin_S;
interface Plugin_C extends Plugin_ST {
new():Plugin;
}
interface Plugin$ {
/**
* @return the className 插件对应的实例类
*/
getClassName():string;
/**
* 插件描述说明
*/
getDescription():string;
/**
* 插件事件列表
* @return 返回插件事件列表
*/
getEvents():$.java.util.List;
getFpk():string;
getRowKey():number;
getScriptNumber():string;
/**
* 记录插件的表单编码:涉及到记录扩展单,源单的编码
*
* @return
*/
getSourceNumber():string;
/**
* @return 插件类型
*/
getType():number;
isDynamicPlugin():boolean;
isEnabled():boolean;
isInherit():boolean;
/**
* @param className
* 插件对应的实例类
*/
setClassName(className:string):void;
setDescription(description:string):void;
setDynamicPlugin(dynamicPlugin:boolean):void;
setEnabled(enabled:boolean):void;
setEvents(events:$.java.util.List):void;
setFpk(fpk:string):void;
setInherit(inherit:boolean):void;
setRowKey(rowKey:number):void;
setScriptNumber(scriptNumber:string):void;
setSourceNumber(sourceNumber:string):void;
/**
* @param type 插件类型
*/
setType(type_arg:number):void;
}
type Plugin_T = $.java.io.Serializable & Plugin_S & Plugin$;
interface Plugin extends Plugin_T {
}
interface IImportDataPlugin_S {
}
interface IImportDataPlugin$ {
getExportMainEntityType(arg0:string,arg1:$.kd.bos.dataentity.entity.DynamicObject):MainEntityType;
}
type IImportDataPlugin_T = IImportDataPlugin_S & IImportDataPlugin$;
interface IImportDataPlugin extends IImportDataPlugin_T {
}
interface ImportLogger$ImportLog_S {
}
type ImportLogger$ImportLog_ST = $.java.io.Serializable & ImportLogger$ImportLog_S;
interface ImportLogger$ImportLog_C extends ImportLogger$ImportLog_ST {
new():ImportLogger$ImportLog;
new(arg0:string):ImportLogger$ImportLog;
new(arg0:$.java.lang.Throwable):ImportLogger$ImportLog;
new(arg0:string,arg1:string):ImportLogger$ImportLog;
}
interface ImportLogger$ImportLog$ {
msg:string;
src:string;
}
type ImportLogger$ImportLog_T = $.java.io.Serializable & ImportLogger$ImportLog_S & ImportLogger$ImportLog$;
interface ImportLogger$ImportLog extends ImportLogger$ImportLog_T {
}
interface ImportLogger_S {
formatException(arg0:$.java.lang.Throwable):string;
}
type ImportLogger_ST = $.java.io.Serializable & ImportLogger_S;
interface ImportLogger_C extends ImportLogger_ST {
new():ImportLogger;
new(arg0:string):ImportLogger;
}
interface ImportLogger$ {
fail():this;
fail(arg0:number):this;
getDelRows():$.java.util.List;
getErrFile():string;
getFailed():number;
getLastRowIndex():number;
getLogCache():$.java.util.Map;
getRowIndex():number;
getSrcFile():string;
getTotal():number;
getTotalRow():number;
log(arg0:number,arg1:$.java.lang.Throwable):this;
log(arg0:number,arg1:string):this;
log(arg0:number,arg1:string,arg2:string):this;
logAll(arg0:number,...arg1:ImportLogger$ImportLog[]):this;
logAll(arg0:number,...arg1:string[]):this;
logAll(arg0:number,arg1:$.java.util.List):this;
setDelRows(arg0:$.java.util.List):void;
setErrFile(arg0:string):void;
setFailed(arg0:number):void;
setLastRowIndex(arg0:number):void;
setLimitForErrorMessage(arg0:number):void;
setLogCache(arg0:$.java.util.Map):void;
setRowIndex(arg0:number):void;
setSrcFile(arg0:string):void;
setTotal(arg0:number):void;
setTotalRow(arg0:number):void;
signTotalRow(arg0:number):void;
tick():this;
}
type ImportLogger_T = $.java.io.Serializable & ImportLogger_S & ImportLogger$;
interface ImportLogger extends ImportLogger_T {
}
interface OperationServicePlugInProxy_S {
}
interface OperationServicePlugInProxy_C extends OperationServicePlugInProxy_S {
new(arg0:$.java.util.List):OperationServicePlugInProxy;
}
interface OperationServicePlugInProxy$ {
createScriptPlugin(arg0:string):IOperationServicePlugIn;
destory():void;
fireAfterExecuteOperationTransaction(arg0:$.kd.bos.entity.plugin.args.AfterOperationArgs):void;
fireBeforeExecuteOperationTransaction(arg0:$.kd.bos.entity.plugin.args.BeforeOperationArgs):void;
fireBeforeSaveAuditLog(arg0:$.kd.bos.entity.plugin.args.BeforeSaveAuditLogArg):void;
fireBeginOperationTransaction(arg0:$.kd.bos.entity.plugin.args.BeginOperationTransactionArgs):void;
fireEndOperationTransaction(arg0:$.kd.bos.entity.plugin.args.EndOperationTransactionArgs):void;
fireInitialize(arg0:$.kd.bos.entity.plugin.args.InitOperationArgs):void;
fireInitializeOperationResult(arg0:$.kd.bos.entity.operate.result.OperationResult):void;
fireOnAddValidators(arg0:AddValidatorsEventArgs):void;
firePreparePropertys(arg0:PreparePropertysEventArgs):void;
fireReturnOperation(arg0:$.kd.bos.entity.plugin.args.ReturnOperationArgs):void;
fireRollbackOperation(arg0:$.kd.bos.entity.plugin.args.RollbackOperationArgs):void;
fireValidatePrefix(arg0:$.kd.bos.entity.plugin.args.ValidatePrefixArgs):void;
getOperateLog():$.kd.bos.entity.operate.OperateLog;
isSplitPage():boolean;
printPluginList():void;
registerPlugIn(arg0:IOperationServicePlugIn):void;
setContext(arg0:MainEntityType,arg1:$.java.util.Map,arg2:$.kd.bos.dataentity.OperateOption):void;
setOperateLog(arg0:$.kd.bos.entity.operate.OperateLog):void;
setProgress(arg0:$.kd.bos.entity.operate.OperateProgress):void;
setSplitPage(arg0:boolean):void;
setSubEntityType(arg0:EntityType):void;
}
type OperationServicePlugInProxy_T = OperationServicePlugInProxy_S & OperationServicePlugInProxy$;
interface OperationServicePlugInProxy extends OperationServicePlugInProxy_T {
}
interface AbstractKsPrintServicePlugin_S {
}
type AbstractKsPrintServicePlugin_ST = AbstractPrintServicePlugin_S & AbstractKsPrintServicePlugin_S;
interface AbstractKsPrintServicePlugin_C extends AbstractKsPrintServicePlugin_ST {
/**
* ks脚本插件构造方法
* @param plugin 插件
*/
new(plugin:IPrintServicePlugin):AbstractKsPrintServicePlugin;
}
interface AbstractKsPrintServicePlugin$ {
}
type AbstractKsPrintServicePlugin_T = AbstractPrintServicePlugin & AbstractKsPrintServicePlugin_S & AbstractKsPrintServicePlugin$;
interface AbstractKsPrintServicePlugin extends AbstractKsPrintServicePlugin_T {
}
interface IPrintScriptable_S {
}
interface IPrintScriptable$ {
/**
* 取得当前对象所绑定数据源的某一字段的值
* @param field
* @return
*/
getFieldValue(field:string):any;
/**
* 取得当前对象所在页的页码,如果在数据表中,它是分组页码
* @return
*/
getPageNumber():number;
/**
* 取得当前对象所在页的总页数,如果在数据表中,它是分组总页数
* @return
*/
getPageTotal():any;
/**
* 与setProperty对应
* @param key
* @return
*/
getProperty(key:string):any;
/**
* 取得对象的输出值
* @return
*/
getValue():any;
/**
* 取得“不打印”属性
* @return
*/
isHide():boolean;
/**
* 绑定一个用于取动态小数位数的字段,该字段与当前对象的数据源相同
* @param field
*/
setDynamicDecimal?(field:string):void;
/**
* 设置“不打印”属性
* @param isHide
*/
setHide?(isHide:boolean):void;
/**
* 设置对象属性,用于前处理脚本,可改变状态
* @param key
* @param value
*/
setProperty?(key:string,value:any):void;
/**
* 设置对象的输出值
* @param value
*/
setValue?(value:any):void;
}
type IPrintScriptable_T = IPrintScriptable_S & IPrintScriptable$;
interface IPrintScriptable extends IPrintScriptable_T {
}
interface IPrintServicePlugin_S {
}
interface IPrintServicePlugin$ {
/**
* 向表格内添加列
* @param e
*/
addDynamicColumns?(e:kd.bos.entity.plugin.args.DynamicColumnArgs):void;
/**
* 控件输出后事件
* @param e
*/
afterOutputElement?(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
/**
* 加载敏感字段事件,业务插件可在该事件中添加当前单中敏感字段信息
* @param e
*/
beforeDesensitive?(e:$.kd.bos.entity.plugin.args.SensitiveArgs):void;
/**
* 系统读取数据前执行的事件
* @param e
*/
beforeLoadData?(e:kd.bos.entity.plugin.args.BeforeLoadDataArgs):void;
/**
* 控件输出前事件
* @param e
*/
beforeOuputElement?(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
/**
* 对系统读取的数据集进行加工或构造自定义数据包
* @param e
*/
customPrintDataEntities?(e:kd.bos.entity.plugin.args.CustomPrintDataEntitiesArgs):void;
/**
* 插件设置主实体类型
* @param billEntityType
*/
setContext?(billEntityType:$.kd.bos.entity.MainEntityType):void;
}
type IPrintServicePlugin_T = IPrintServicePlugin_S & IPrintServicePlugin$;
interface IPrintServicePlugin extends IPrintServicePlugin_T {
}
interface AbstractPrintServicePlugin_S {
}
type AbstractPrintServicePlugin_ST = IPrintServicePlugin_S & AbstractPrintServicePlugin_S;
interface AbstractPrintServicePlugin_C extends AbstractPrintServicePlugin_ST {
new():AbstractPrintServicePlugin;
}
interface AbstractPrintServicePlugin$ {
/**
* 获取主实体类型
*/
getBillEntityType():$.kd.bos.entity.MainEntityType;
}
type AbstractPrintServicePlugin_T = IPrintServicePlugin & AbstractPrintServicePlugin_S & AbstractPrintServicePlugin$;
interface AbstractPrintServicePlugin extends AbstractPrintServicePlugin_T {
}
interface IPrintDataHelper_S {
}
interface IPrintDataHelper$ {
/**
* 取得指定数据源当前行的字段值
* @param ds 数据源
* @param field 字段
* @return
*/
getValue(ds:string,field:string):any;
}
type IPrintDataHelper_T = IPrintDataHelper_S & IPrintDataHelper$;
interface IPrintDataHelper extends IPrintDataHelper_T {
}
interface PrintServicePluginProxy_S {
}
type PrintServicePluginProxy_ST = $.java.io.Serializable & PrintServicePluginProxy_S;
interface PrintServicePluginProxy_C extends PrintServicePluginProxy_ST {
new(plugins:$.java.util.List):PrintServicePluginProxy;
}
interface PrintServicePluginProxy$ {
createScriptPlugin(scriptName:string):IPrintServicePlugin;
destory():void;
fireAddDynamicColumns(e:kd.bos.entity.plugin.args.DynamicColumnArgs):void;
fireAfterOuputElement(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
fireBeforeDesensitive(e:$.kd.bos.entity.plugin.args.SensitiveArgs):void;
fireBeforeLoadData(e:kd.bos.entity.plugin.args.BeforeLoadDataArgs):void;
fireBeforeOuputElement(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
fireCustomPrintDataEntities(e:kd.bos.entity.plugin.args.CustomPrintDataEntitiesArgs):void;
registerPlugIn(plugIn:IPrintServicePlugin):void;
setContext(billEntityType:$.kd.bos.entity.MainEntityType):void;
}
type PrintServicePluginProxy_T = $.java.io.Serializable & PrintServicePluginProxy_S & PrintServicePluginProxy$;
interface PrintServicePluginProxy extends PrintServicePluginProxy_T {
}
}
namespace kd.bos.entity.plugin.args{
interface RollbackOperationArgs_S {
}
interface RollbackOperationArgs_C extends RollbackOperationArgs_S {
/**
* 构造函数
*
* @param dataEntitys 单据数据包
*/
new(dataEntitys:$.kd.bos.dataentity.entity.DynamicObject[]):RollbackOperationArgs;
}
interface RollbackOperationArgs$ {
/**
* 返回单据数据包
*
* @return 单据数据包
*/
getDataEntitys():$.kd.bos.dataentity.entity.DynamicObject[];
}
type RollbackOperationArgs_T = RollbackOperationArgs_S & RollbackOperationArgs$;
interface RollbackOperationArgs extends RollbackOperationArgs_T {
}
interface EndOperationTransactionArgs_S {
}
type EndOperationTransactionArgs_ST = OperationArgs_S & EndOperationTransactionArgs_S;
interface EndOperationTransactionArgs_C extends EndOperationTransactionArgs_ST {
/**
* 构造函数
*
* @param operationKey 操作标识
* @param dataEntities 单据数据包
*/
new(operationKey:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):EndOperationTransactionArgs;
}
interface EndOperationTransactionArgs$ {
/**
* 返回单据数据包
*
* @return 单据数据包
*/
getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
}
type EndOperationTransactionArgs_T = OperationArgs & EndOperationTransactionArgs_S & EndOperationTransactionArgs$;
interface EndOperationTransactionArgs extends EndOperationTransactionArgs_T {
}
interface SensitiveArgs$SensitiveRule_S {
}
interface SensitiveArgs$SensitiveRule_C extends SensitiveArgs$SensitiveRule_S {
new(arg0:string,arg1:string):SensitiveArgs$SensitiveRule;
}
interface SensitiveArgs$SensitiveRule$ {
regex:string;
replacement:string;
}
type SensitiveArgs$SensitiveRule_T = SensitiveArgs$SensitiveRule_S & SensitiveArgs$SensitiveRule$;
interface SensitiveArgs$SensitiveRule extends SensitiveArgs$SensitiveRule_T {
}
interface SensitiveArgs$DesensitiveFun_S {
}
interface SensitiveArgs$DesensitiveFun$ {
handle(arg0:string,arg1:string):string;
}
type SensitiveArgs$DesensitiveFun_T = SensitiveArgs$DesensitiveFun_S & SensitiveArgs$DesensitiveFun$;
interface SensitiveArgs$DesensitiveFun extends SensitiveArgs$DesensitiveFun_T {
}
interface ValidatePrefixArgs_S {
}
interface ValidatePrefixArgs_C extends ValidatePrefixArgs_S {
new():ValidatePrefixArgs;
}
interface ValidatePrefixArgs$ {
/**
* 返回校验提示内容前缀使用的字段标识
*
* @return 字段标识
*/
getPropName():string;
/**
* 设置校验提示前缀使用的字段标识:生成提示,使用此字段值作为提示前缀,默认用单据编号字段值做为提示前缀
*
* @param propName 字段标识
*/
setPropName(propName:string):void;
}
type ValidatePrefixArgs_T = ValidatePrefixArgs_S & ValidatePrefixArgs$;
interface ValidatePrefixArgs extends ValidatePrefixArgs_T {
}
interface ReturnOperationArgs_S {
}
interface ReturnOperationArgs_C extends ReturnOperationArgs_S {
/**
* 构造函数
*
* @param operationResult 操作执行结果
*/
new(operationResult:kd.bos.entity.operate.IOperationResult):ReturnOperationArgs;
}
interface ReturnOperationArgs$ {
/**
* 返回操作执行结果
*
* @return 操作执行结果
*/
getOperationResult():kd.bos.entity.operate.IOperationResult;
}
type ReturnOperationArgs_T = ReturnOperationArgs_S & ReturnOperationArgs$;
interface ReturnOperationArgs extends ReturnOperationArgs_T {
}
interface AfterOperationArgs_S {
}
type AfterOperationArgs_ST = OperationArgs_S & AfterOperationArgs_S;
interface AfterOperationArgs_C extends AfterOperationArgs_ST {
/**
* 构造函数
*
* @param operationKey 操作标识
* @param rows 单据数据包
*/
new(operationKey:string,rows:$.java.util.List):AfterOperationArgs;
}
interface AfterOperationArgs$ {
/**
* 返回单据数据包,仅含已成功完成了操作的单据
*
* @return 单据数据包
*/
getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 返回单据数据包,仅含已成功完成了操作的单据:{@link ExtendedDataEntity} 对数据包进行了再包装,增加数据索引等信息
*/
getSelectedRows():$.java.util.List;
}
type AfterOperationArgs_T = OperationArgs & AfterOperationArgs_S & AfterOperationArgs$;
interface AfterOperationArgs extends AfterOperationArgs_T {
}
interface BeforeOperationArgs_S {
}
type BeforeOperationArgs_ST = OperationArgs_S & BeforeOperationArgs_S;
interface BeforeOperationArgs_C extends BeforeOperationArgs_ST {
/**
* 构造函数
*
* @param operationKey 操作标识
* @param rows 已通过校验的单据数据包
*/
new(operationKey:string,rows:$.java.util.List):BeforeOperationArgs;
}
interface BeforeOperationArgs$ {
/**
* 返回已通过校验的单据数据包
* 本方法和 getValidExtDataEntities()效果相同,只是本方法返回原始数据包,而getValidExtDataEntities()返回再包装后的数据包
* 推荐使用 getValidExtDataEntities()方法
*/
getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 返回已通过校验的单据数据包:对数据包进行了再包装,包含了数据索引
* 插件可以进一步校验,调整此集合中的单据,从而排除不符合要求的单据
* getSelectedRows()有歧义,用此方法替代
*
* 示例代码:{@code
* public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
* List dataEntities = new ArrayList<>(e.getValidExtDataEntities());
*
* // 此处略去数据检查逻辑...
*
* e.getValidExtDataEntities().clear();
* e.getValidExtDataEntities().addAll(dataEntities);
* }}
*/
getValidExtDataEntities():$.java.util.List;
/**
* 设置标志,取消操作
*
* 示例代码:{@code
* public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
* e.setCancel(true);
* e.setCancelMessage("因为...,所以取消操作,请...");
* }}
* @param cancel 设为true,则取消操作执行
*/
setCancel(cancel:boolean):void;
/**
* 设置取消操作的原因,以提示用户
* 需和 {@code e.setCancel(true)} 配合使用
*
* @param cancelMessage 取消操作的原因
*/
setCancelMessage(cancelMessage:string):void;
}
type BeforeOperationArgs_T = OperationArgs & BeforeOperationArgs_S & BeforeOperationArgs$;
interface BeforeOperationArgs extends BeforeOperationArgs_T {
}
interface SensitiveArgs_S {
}
type SensitiveArgs_ST = $.java.util.EventObject & SensitiveArgs_S;
interface SensitiveArgs_C extends SensitiveArgs_ST {
/**
* Constructs a prototypical Event.
*
* @param source The object on which the Event initially occurred.
* @throws IllegalArgumentException if source is null.
*/
new(source:any):SensitiveArgs;
}
interface SensitiveArgs$ {
/**
* 添加需要处理的敏感字段
* @param field
*/
addField(field:string):void;
addField(fieldMap:$.java.util.Map):void;
addField(fields:$.java.util.List):void;
addField(field:string,rule:SensitiveArgs$SensitiveRule):void;
addField(field:string,regex:string,replacement:string):void;
clearField():void;
contain(field:string):boolean;
getDesensitiveFun():SensitiveArgs$DesensitiveFun;
getRule(field:string):SensitiveArgs$SensitiveRule;
setDesensitiveFun(desensitiveFun:SensitiveArgs$DesensitiveFun):void;
}
type SensitiveArgs_T = $.java.util.EventObject & SensitiveArgs_S & SensitiveArgs$;
interface SensitiveArgs extends SensitiveArgs_T {
}
interface OperationArgs_S {
}
interface OperationArgs_C extends OperationArgs_S {
/**
* 构造函数
*
* @param operationKey 操作标识
*/
new(operationKey:string):OperationArgs;
}
interface OperationArgs$ {
/**
* 返回当前操作的标识
*
* @return 操作标识
*/
getOperationKey():string;
}
type OperationArgs_T = OperationArgs_S & OperationArgs$;
interface OperationArgs extends OperationArgs_T {
}
interface InitOperationArgs_S {
}
interface InitOperationArgs_C extends InitOperationArgs_S {
new():InitOperationArgs;
}
interface InitOperationArgs$ {
}
type InitOperationArgs_T = InitOperationArgs_S & InitOperationArgs$;
interface InitOperationArgs extends InitOperationArgs_T {
}
interface BeginOperationTransactionArgs_S {
}
type BeginOperationTransactionArgs_ST = OperationArgs_S & BeginOperationTransactionArgs_S;
interface BeginOperationTransactionArgs_C extends BeginOperationTransactionArgs_ST {
/**
* 构造函数
*
* @param operationKey 操作标识
* @param dataEntities 单据数据包
*/
new(operationKey:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):BeginOperationTransactionArgs;
}
interface BeginOperationTransactionArgs$ {
/**
* 返回校验通过的单据
*
* @return 单据数据包
*/
getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
/**
* 返回插件是否要求略过更新数据库逻辑
*/
isCancelOperation():boolean;
/**
* 设置参数,略过更新数据库逻辑
*
* 设置为true会跳过标准操作内含的更新数据库逻辑,但操作还是会继续,返回结果也为操作成功(已经更改为操作失败2023/5/23):
*
* 特别说明:这个参数非常容易引起误解,而且因为跳过了数据库更新逻辑,但操作结果成功,出现问题非常难以排查。
* 如果需要操作结果返回失败,则需抛出异常强制中断操作,如{@code throw new KDBizException("异常提示")}
*
* @param cancelOperation 传入true,将跳过更新数据库的逻辑,单据不会保存入库,事务会回滚
*/
setCancelOperation(cancelOperation:boolean):void;
/**
* 设置通过校验的单据
*
* @param dataEntities 单据数据包
*/
setDataEntities(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
}
type BeginOperationTransactionArgs_T = OperationArgs & BeginOperationTransactionArgs_S & BeginOperationTransactionArgs$;
interface BeginOperationTransactionArgs extends BeginOperationTransactionArgs_T {
}
interface BeforeSaveAuditLogArg_S {
}
interface BeforeSaveAuditLogArg_C extends BeforeSaveAuditLogArg_S {
/**
* 构造函数
*
* @param entityModifyInfo 单据审计日志内容
*/
new(entityModifyInfo:kd.bos.log.api.EntityModifyInfo):BeforeSaveAuditLogArg;
}
interface BeforeSaveAuditLogArg$ {
/**
* 返回单据审计日志内容
* @return
*/
getModifyInfo():kd.bos.log.api.EntityModifyInfo;
}
type BeforeSaveAuditLogArg_T = BeforeSaveAuditLogArg_S & BeforeSaveAuditLogArg$;
interface BeforeSaveAuditLogArg extends BeforeSaveAuditLogArg_T {
}
interface CustomPrintDataEntitiesArgs_S {
}
type CustomPrintDataEntitiesArgs_ST = $.java.util.EventObject & CustomPrintDataEntitiesArgs_S;
interface CustomPrintDataEntitiesArgs_C extends CustomPrintDataEntitiesArgs_ST {
/**
* 构造函数
* @param source 事件源
* @param pageId 页面ID
* @param pkId 主键
* @param dataSourceName 数据源名称
* @param customFields 自定义字段
*/
new(source:any,pageId:string,pkId:any,dataSourceName:string,customFields:$.java.util.Set):CustomPrintDataEntitiesArgs;
/**
* 构造函数
* @param source 事件源
* @param pageId 页面ID
* @param pkId 主键
* @param dataSourceName 数据源名称
* @param customFields 自定义字段
* @param filter 过滤条件
* @param mainDs 主数据源
* @param dynamicObjectType 实体类型
*/
new(source:any,pageId:string,pkId:any,dataSourceName:string,customFields:$.java.util.Set,filter:$.kd.bos.orm.query.QFilter,mainDs:boolean,dynamicObjectType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):CustomPrintDataEntitiesArgs;
}
interface CustomPrintDataEntitiesArgs$ {
/**
* 获取自定义字段
* @return 自定义字段
*/
getCustomFields():$.java.util.Set;
/**
* 获取数据包
* @return 数据包
*/
getDataEntities():$.java.util.List;
/**
* 获取数据源名称
* @return 数据源名称
*/
getDataSourceName():string;
/**
* 获取数据对象类型
* @return 数据对象类型
*/
getDynamicObjectType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
/**
* 获取过滤条件
* @return 过滤条件
*/
getFilter():$.kd.bos.orm.query.QFilter;
/**
* 获取当前页面id
* @return 当前页面id
*/
getPageId():string;
/**
* 获取目前所有要打印的单据id
* @return 所有要打印的单据id
*/
getPkIds():$.java.util.List;
/**
* 是否主数据源
* @return 是否主数据源
*/
isMainDs():boolean;
/**
* 设置数据包
* @param dataEntities 数据包
*/
setDataEntities(dataEntities:$.java.util.List):void;
/**
* 设置目前所有要打印的单据id
* @param pk 所有要打印的单据id
*/
setPkIds(pk:$.java.util.List):void;
}
type CustomPrintDataEntitiesArgs_T = $.java.util.EventObject & CustomPrintDataEntitiesArgs_S & CustomPrintDataEntitiesArgs$;
interface CustomPrintDataEntitiesArgs extends CustomPrintDataEntitiesArgs_T {
}
interface DynamicColumnArgs_S {
}
type DynamicColumnArgs_ST = $.java.util.EventObject & DynamicColumnArgs_S;
interface DynamicColumnArgs_C extends DynamicColumnArgs_ST {
/**
* 构造函数
* @param source 事件源
* @param columnKey 列标识
* @param pageId 页面ID
* @param pkId 主键
*/
new(source:any,columnKey:string,pageId:string,pkId:string):DynamicColumnArgs;
}
interface DynamicColumnArgs$ {
/**
* 获取动态列
* @return 动态列
*/
getDynamicColumns():$.java.util.List;
/**
* 获取设计时创建的动态列的ID
* @return
*/
getKey():string;
/**
* 获取合并块
* @return 合并块
*/
getMergeBlocks():$.java.util.List;
/**
* 获取页面id
* @return 页面id
*/
getPageId():string;
/**
* 获取单据id
* @return 单据id
*/
getPkId():string;
/**
* 设置动态列
* @param dynamicColumns 动态列
*/
setDynamicColumns(dynamicColumns:$.java.util.List):void;
/**
* 设置合并块
* @param value 合并块
*/
setMergeBlocks(value:$.java.util.List):void;
}
type DynamicColumnArgs_T = $.java.util.EventObject & DynamicColumnArgs_S & DynamicColumnArgs$;
interface DynamicColumnArgs extends DynamicColumnArgs_T {
}
interface BeforeLoadDataArgs_S {
}
type BeforeLoadDataArgs_ST = $.java.util.EventObject & BeforeLoadDataArgs_S;
interface BeforeLoadDataArgs_C extends BeforeLoadDataArgs_ST {
/**
* 构造函数
* @param source 事件源
*/
new(source:any):BeforeLoadDataArgs;
/**
* 构造函数
* @param source 事件源
* @param ds 数据源
*/
new(source:any,ds:string):BeforeLoadDataArgs;
}
interface BeforeLoadDataArgs$ {
/**
* 获取数据源名称
* @return 数据源名称
*/
getDataSourceName():string;
/**
* 获取取消系统读取数据
* @return 是否取消系统读取数据
*/
isCancel():boolean;
/**
* 取消系统读取数据
* @param cancel 是否取消系统读取数据
*/
setCancel(cancel:boolean):void;
}
type BeforeLoadDataArgs_T = $.java.util.EventObject & BeforeLoadDataArgs_S & BeforeLoadDataArgs$;
interface BeforeLoadDataArgs extends BeforeLoadDataArgs_T {
}
interface OutputElementArgs_S {
}
type OutputElementArgs_ST = $.java.util.EventObject & OutputElementArgs_S;
interface OutputElementArgs_C extends OutputElementArgs_ST {
/**
* 构造函数
* @param source 事件源
* @param key 控件标识
* @param currentDs 当前数据源标识
* @param headName 主数据源标识
* @param helper 取数器
* @param opw 脚本控制接口
*/
new(source:any,key:string,currentDs:string,headName:string,helper:IPrintDataHelper,opw:IPrintScriptable):OutputElementArgs;
}
interface OutputElementArgs$ {
/**
* 当前控件绑定的数据源是的标识
* @return 当前控件绑定的数据源是的标识
*/
getCurrentDataSource():string;
/**
* 获取取数器
* @return 取数器
*/
getDataHelper():IPrintDataHelper;
/**
* 获取控件标识
* @return 控件标识
*/
getKey():string;
/**
* 主数据源的标识
* @return 主数据源的标识
*/
getMainDataSourceName():string;
/**
* 获取脚本控制接口
* @return 脚本控制接口
*/
getOutput():IPrintScriptable;
/**
* 获取汇总的key
* @return 汇总的key
*/
getSumColKeys():$.java.util.List;
/**
* 是否合并列
* @return 是否合并列
*/
isMergeDetailCol():boolean;
/**
* 设置数据源
* @param currentDataSource 数据源
*/
setCurrentDataSource(currentDataSource:string):void;
/**
* 设置是否合并列
* @param mergeDetailCol
*/
setMergeDetailCol(mergeDetailCol:boolean):void;
/**
* 设置汇总key
* @param sumK 汇总key
*/
setSumColKeys(sumK:$.java.util.List):void;
}
type OutputElementArgs_T = $.java.util.EventObject & OutputElementArgs_S & OutputElementArgs$;
interface OutputElementArgs extends OutputElementArgs_T {
}
}
namespace kd.bos.entity.plugin.manager{
interface IConditionEvent_S {
}
interface IConditionEvent$ {
/**
* 检查表达式是否满足
* @return
*/
check?(paramCondition:ParamCondition):boolean;
getVarMap():$.java.util.Map;
}
type IConditionEvent_T = IConditionEvent_S & IConditionEvent$;
interface IConditionEvent extends IConditionEvent_T {
}
}
namespace kd.bos.entity.plugin.support.util{
interface Assert_S {
/**
* Assert that the given text does not contain the given substring.
* Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
* @param textToSearch the text to search
* @param substring the substring to find within the text
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the text contains the substring
*/
doesNotContain(textToSearch:string,substring:string,message:string):void;
/**
* Assert that the given text does not contain the given substring.
*
* Assert.doesNotContain(name, forbidden, () -> "Name must not contain '" + forbidden + "'");
*
* @param textToSearch the text to search
* @param substring the substring to find within the text
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the text contains the substring
* @since 5.0
*/
doesNotContain(textToSearch:string,substring:string,supplier2:()=>any):void;
/**
* Assert that the given String is not empty; that is,
* it must not be {@code null} and not the empty String.
* Assert.hasLength(name, "Name must not be empty");
* @param text the String to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the text is empty
* @see StringUtils#hasLength
*/
hasLength(text:string,message:string):void;
/**
* Assert that the given String is not empty; that is,
* it must not be {@code null} and not the empty String.
*
* Assert.hasLength(name, () -> "Name for account '" + account.getId() + "' must not be empty");
*
* @param text the String to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the text is empty
* @since 5.0
* @see StringUtils#hasLength
*/
hasLength(text:string,supplier1:()=>any):void;
/**
* Assert that the given String contains valid text content; that is, it must not
* be {@code null} and must contain at least one non-whitespace character.
* Assert.hasText(name, "'name' must not be empty");
* @param text the String to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the text does not contain valid text content
* @see StringUtils#hasText
*/
hasText(text:string,message:string):void;
/**
* Assert that the given String contains valid text content; that is, it must not
* be {@code null} and must contain at least one non-whitespace character.
*
* Assert.hasText(name, () -> "Name for account '" + account.getId() + "' must not be empty");
*
* @param text the String to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the text does not contain valid text content
* @since 5.0
* @see StringUtils#hasText
*/
hasText(text:string,supplier1:()=>any):void;
/**
* Assert that {@code superType.isAssignableFrom(subType)} is {@code true}.
* Assert.isAssignable(Number.class, myClass);
* @param superType the super type to check
* @param subType the sub type to check
* @throws IllegalArgumentException if the classes are not assignable
*/
isAssignable(superType:$.java.lang.Class,subType:$.java.lang.Class):void;
/**
* Assert that {@code superType.isAssignableFrom(subType)} is {@code true}.
*
* Assert.isAssignable(Number.class, myClass, () -> "Processing " + myAttributeName + ":");
*
* @param superType the super type to check against
* @param subType the sub type to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails. See {@link #isAssignable(Class, Class, String)} for details.
* @throws IllegalArgumentException if the classes are not assignable
* @since 5.0
*/
isAssignable(superType:$.java.lang.Class,subType:$.java.lang.Class,supplier2:()=>any):void;
/**
* Assert that {@code superType.isAssignableFrom(subType)} is {@code true}.
* Assert.isAssignable(Number.class, myClass, "Number expected");
* @param superType the super type to check against
* @param subType the sub type to check
* @param message a message which will be prepended to provide further context.
* If it is empty or ends in ":" or ";" or "," or ".", a full exception message
* will be appended. If it ends in a space, the name of the offending sub type
* will be appended. In any other case, a ":" with a space and the name of the
* offending sub type will be appended.
* @throws IllegalArgumentException if the classes are not assignable
*/
isAssignable(superType:$.java.lang.Class,subType:$.java.lang.Class,message:string):void;
/**
* Assert that the provided object is an instance of the provided class.
* Assert.instanceOf(Foo.class, foo);
* @param type the type to check against
* @param obj the object to check
* @throws IllegalArgumentException if the object is not an instance of type
*/
isInstanceOf(type_arg:$.java.lang.Class,obj:any):void;
/**
* Assert that the provided object is an instance of the provided class.
*
* Assert.instanceOf(Foo.class, foo, () -> "Processing " + Foo.class.getSimpleName() + ":");
*
* @param type the type to check against
* @param obj the object to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails. See {@link #isInstanceOf(Class, Object, String)} for details.
* @throws IllegalArgumentException if the object is not an instance of type
* @since 5.0
*/
isInstanceOf(type_arg:$.java.lang.Class,obj:any,supplier2:()=>any):void;
/**
* Assert that the provided object is an instance of the provided class.
* Assert.instanceOf(Foo.class, foo, "Foo expected");
* @param type the type to check against
* @param obj the object to check
* @param message a message which will be prepended to provide further context.
* If it is empty or ends in ":" or ";" or "," or ".", a full exception message
* will be appended. If it ends in a space, the name of the offending object's
* type will be appended. In any other case, a ":" with a space and the name
* of the offending object's type will be appended.
* @throws IllegalArgumentException if the object is not an instance of type
*/
isInstanceOf(type_arg:$.java.lang.Class,obj:any,message:string):void;
/**
* Assert that an object is {@code null}.
* Assert.isNull(value, "The value must be null");
* @param object the object to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the object is not {@code null}
*/
isNull(object_arg:any,message:string):void;
/**
* Assert that an object is {@code null}.
*
* Assert.isNull(value, () -> "The value '" + value + "' must be null");
*
* @param object the object to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the object is not {@code null}
* @since 5.0
*/
isNull(object_arg:any,supplier1:()=>any):void;
/**
* Assert a boolean expression, throwing an {@code IllegalArgumentException}
* if the expression evaluates to {@code false}.
* Assert.isTrue(i > 0, "The value must be greater than zero");
* @param expression a boolean expression
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if {@code expression} is {@code false}
*/
isTrue(expression:boolean,message:string):void;
/**
* Assert a boolean expression, throwing an {@code IllegalArgumentException}
* if the expression evaluates to {@code false}.
*
* Assert.isTrue(i > 0, () -> "The value '" + i + "' must be greater than zero");
*
* @param expression a boolean expression
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if {@code expression} is {@code false}
* @since 5.0
*/
isTrue(expression:boolean,supplier1:()=>any):void;
/**
* Assert that an array contains no {@code null} elements.
* Note: Does not complain if the array is empty!
*
Assert.noNullElements(array, "The array must contain non-null elements");
* @param array the array to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the object array contains a {@code null} element
*/
noNullElements(array:any[],message:string):void;
/**
* Assert that an array contains no {@code null} elements.
* Note: Does not complain if the array is empty!
*
* Assert.noNullElements(array, () -> "The " + arrayType + " array must contain non-null elements");
*
* @param array the array to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the object array contains a {@code null} element
* @since 5.0
*/
noNullElements(array:any[],supplier1:()=>any):void;
/**
* Assert that a collection contains no {@code null} elements.
* Note: Does not complain if the collection is empty!
*
* Assert.noNullElements(collection, () -> "Collection " + collectionName + " must contain non-null elements");
*
* @param collection the collection to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the collection contains a {@code null} element
* @since 5.2
*/
noNullElements(collection:$.java.util.Collection,supplier1:()=>any):void;
/**
* Assert that a collection contains no {@code null} elements.
* Note: Does not complain if the collection is empty!
*
Assert.noNullElements(collection, "Collection must contain non-null elements");
* @param collection the collection to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the collection contains a {@code null} element
* @since 5.2
*/
noNullElements(collection:$.java.util.Collection,message:string):void;
/**
* Assert that an array contains elements; that is, it must not be
* {@code null} and must contain at least one element.
* Assert.notEmpty(array, "The array must contain elements");
* @param array the array to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the object array is {@code null} or contains no elements
*/
notEmpty(array:any[],message:string):void;
/**
* Assert that an array contains elements; that is, it must not be
* {@code null} and must contain at least one element.
*
* Assert.notEmpty(array, () -> "The " + arrayType + " array must contain elements");
*
* @param array the array to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the object array is {@code null} or contains no elements
* @since 5.0
*/
notEmpty(array:any[],supplier1:()=>any):void;
/**
* Assert that a collection contains elements; that is, it must not be
* {@code null} and must contain at least one element.
* Assert.notEmpty(collection, "Collection must contain elements");
* @param collection the collection to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the collection is {@code null} or
* contains no elements
*/
notEmpty(collection:$.java.util.Collection,message:string):void;
/**
* Assert that a collection contains elements; that is, it must not be
* {@code null} and must contain at least one element.
*
* Assert.notEmpty(collection, () -> "The " + collectionType + " collection must contain elements");
*
* @param collection the collection to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the collection is {@code null} or
* contains no elements
* @since 5.0
*/
notEmpty(collection:$.java.util.Collection,supplier1:()=>any):void;
/**
* Assert that a Map contains entries; that is, it must not be {@code null}
* and must contain at least one entry.
* Assert.notEmpty(map, "Map must contain entries");
* @param map the map to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the map is {@code null} or contains no entries
*/
notEmpty(map:$.java.util.Map,message:string):void;
/**
* Assert that a Map contains entries; that is, it must not be {@code null}
* and must contain at least one entry.
*
* Assert.notEmpty(map, () -> "The " + mapType + " map must contain entries");
*
* @param map the map to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the map is {@code null} or contains no entries
* @since 5.0
*/
notEmpty(map:$.java.util.Map,supplier1:()=>any):void;
/**
* Assert that an object is not {@code null}.
* Assert.notNull(clazz, "The class must not be null");
* @param object the object to check
* @param message the exception message to use if the assertion fails
* @throws IllegalArgumentException if the object is {@code null}
*/
notNull(object_arg:any,message:string):void;
/**
* Assert that an object is not {@code null}.
*
* Assert.notNull(clazz, () -> "The class '" + clazz.getName() + "' must not be null");
*
* @param object the object to check
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalArgumentException if the object is {@code null}
* @since 5.0
*/
notNull(object_arg:any,supplier1:()=>any):void;
/**
* Assert a boolean expression, throwing an {@code IllegalStateException}
* if the expression evaluates to {@code false}.
* Call {@link #isTrue} if you wish to throw an {@code IllegalArgumentException}
* on an assertion failure.
*
Assert.state(id == null, "The id property must not already be initialized");
* @param expression a boolean expression
* @param message the exception message to use if the assertion fails
* @throws IllegalStateException if {@code expression} is {@code false}
*/
state(expression:boolean,message:string):void;
/**
* Assert a boolean expression, throwing an {@code IllegalStateException}
* if the expression evaluates to {@code false}.
* Call {@link #isTrue} if you wish to throw an {@code IllegalArgumentException}
* on an assertion failure.
*
* Assert.state(id == null,
* () -> "ID for " + entity.getName() + " must not already be initialized");
*
* @param expression a boolean expression
* @param messageSupplier a supplier for the exception message to use if the
* assertion fails
* @throws IllegalStateException if {@code expression} is {@code false}
* @since 5.0
*/
state(expression:boolean,supplier1:()=>any):void;
}
interface Assert_C extends Assert_S {
new():Assert;
}
interface Assert$ {
}
type Assert_T = Assert_S & Assert$;
interface Assert extends Assert_T {
}
interface ReflectionUtils$MethodCallback_S {
}
interface ReflectionUtils$MethodCallback$ {
doWith(arg0:$.java.lang.reflect.Method):void;
}
type ReflectionUtils$MethodCallback_T = ReflectionUtils$MethodCallback_S & ReflectionUtils$MethodCallback$;
interface ReflectionUtils$MethodCallback extends ReflectionUtils$MethodCallback_T {
}
interface ReflectionUtils$MethodFilter_S {
}
interface ReflectionUtils$MethodFilter$ {
matches(arg0:$.java.lang.reflect.Method):boolean;
}
type ReflectionUtils$MethodFilter_T = ReflectionUtils$MethodFilter_S & ReflectionUtils$MethodFilter$;
interface ReflectionUtils$MethodFilter extends ReflectionUtils$MethodFilter_T {
}
interface StringUtils_S {
/**
* Append the given {@code String} to the given {@code String} array,
* returning a new array consisting of the input array contents plus
* the given {@code String}.
* @param array the array to append to (can be {@code null})
* @param str the {@code String} to append
* @return the new array (never {@code null})
*/
addStringToArray(array:string[],str:string):string[];
/**
* Apply the given relative path to the given Java resource path,
* assuming standard Java folder separation (i.e. "/" separators).
* @param path the path to start from (usually a full file path)
* @param relativePath the relative path to apply
* (relative to the full file path above)
* @return the full file path that results from applying the relative path
*/
applyRelativePath(path:string,relativePath:string):string;
/**
* Convert a {@code String} array into a comma delimited {@code String}
* (i.e., CSV).
* Useful for {@code toString()} implementations.
* @param arr the array to display (potentially {@code null} or empty)
* @return the delimited {@code String}
*/
arrayToCommaDelimitedString(arr:any[]):string;
/**
* Convert a {@code String} array into a delimited {@code String} (e.g. CSV).
*
Useful for {@code toString()} implementations.
* @param arr the array to display (potentially {@code null} or empty)
* @param delim the delimiter to use (typically a ",")
* @return the delimited {@code String}
*/
arrayToDelimitedString(arr:any[],delim:string):string;
/**
* Capitalize a {@code String}, changing the first letter to
* upper case as per {@link Character#toUpperCase(char)}.
* No other letters are changed.
* @param str the {@code String} to capitalize
* @return the capitalized {@code String}
*/
capitalize(str:string):string;
/**
* Normalize the path by suppressing sequences like "path/.." and
* inner simple dots.
*
The result is convenient for path comparison. For other uses,
* notice that Windows separators ("\") are replaced by simple slashes.
* @param path the original path
* @return the normalized path
*/
cleanPath(path:string):string;
/**
* Convert a {@code Collection} into a delimited {@code String} (e.g., CSV).
*
Useful for {@code toString()} implementations.
* @param coll the {@code Collection} to convert (potentially {@code null} or empty)
* @return the delimited {@code String}
*/
collectionToCommaDelimitedString(coll:$.java.util.Collection):string;
/**
* Convert a {@code Collection} into a delimited {@code String} (e.g. CSV).
*
Useful for {@code toString()} implementations.
* @param coll the {@code Collection} to convert (potentially {@code null} or empty)
* @param delim the delimiter to use (typically a ",")
* @return the delimited {@code String}
*/
collectionToDelimitedString(coll:$.java.util.Collection,delim:string):string;
/**
* Convert a {@link Collection} to a delimited {@code String} (e.g. CSV).
*
Useful for {@code toString()} implementations.
* @param coll the {@code Collection} to convert (potentially {@code null} or empty)
* @param delim the delimiter to use (typically a ",")
* @param prefix the {@code String} to start each element with
* @param suffix the {@code String} to end each element with
* @return the delimited {@code String}
*/
collectionToDelimitedString(coll:$.java.util.Collection,delim:string,prefix:string,suffix:string):string;
/**
* Convert a comma delimited list (e.g., a row from a CSV file) into a set.
*
Note that this will suppress duplicates, and as of 4.2, the elements in
* the returned set will preserve the original order in a {@link LinkedHashSet}.
* @param str the input {@code String} (potentially {@code null} or empty)
* @return a set of {@code String} entries in the list
* @see #removeDuplicateStrings(String[])
*/
commaDelimitedListToSet(str:string):$.java.util.Set;
/**
* Convert a comma delimited list (e.g., a row from a CSV file) into an
* array of strings.
* @param str the input {@code String} (potentially {@code null} or empty)
* @return an array of strings, or the empty array in case of empty input
*/
commaDelimitedListToStringArray(str:string):string[];
/**
* Concatenate the given {@code String} arrays into one,
* with overlapping array elements included twice.
*
The order of elements in the original arrays is preserved.
* @param array1 the first array (can be {@code null})
* @param array2 the second array (can be {@code null})
* @return the new array ({@code null} if both given arrays were {@code null})
*/
concatenateStringArrays(array1:string[],array2:string[]):string[];
/**
* Check whether the given {@code CharSequence} contains any whitespace characters.
* @param str the {@code CharSequence} to check (may be {@code null})
* @return {@code true} if the {@code CharSequence} is not empty and
* contains at least 1 whitespace character
* @see Character#isWhitespace
*/
containsWhitespace(str:$.java.lang.CharSequence):boolean;
/**
* Check whether the given {@code String} contains any whitespace characters.
* @param str the {@code String} to check (may be {@code null})
* @return {@code true} if the {@code String} is not empty and
* contains at least 1 whitespace character
* @see #containsWhitespace(CharSequence)
*/
containsWhitespace(str:string):boolean;
/**
* Count the occurrences of the substring {@code sub} in string {@code str}.
* @param str string to search in
* @param sub string to search for
*/
countOccurrencesOf(str:string,sub:string):number;
/**
* Delete all occurrences of the given substring.
* @param inString the original {@code String}
* @param pattern the pattern to delete all occurrences of
* @return the resulting {@code String}
*/
delete(inString:string,pattern:string):string;
/**
* Delete any character in a given {@code String}.
* @param inString the original {@code String}
* @param charsToDelete a set of characters to delete.
* E.g. "az\n" will delete 'a's, 'z's and new lines.
* @return the resulting {@code String}
*/
deleteAny(inString:string,charsToDelete:string):string;
/**
* Take a {@code String} that is a delimited list and convert it into a
* {@code String} array.
*
A single {@code delimiter} may consist of more than one character,
* but it will still be considered as a single delimiter string, rather
* than as bunch of potential delimiter characters, in contrast to
* {@link #tokenizeToStringArray}.
* @param str the input {@code String} (potentially {@code null} or empty)
* @param delimiter the delimiter between elements (this is a single delimiter,
* rather than a bunch individual delimiter characters)
* @return an array of the tokens in the list
* @see #tokenizeToStringArray
*/
delimitedListToStringArray(str:string,delimiter:string):string[];
/**
* Take a {@code String} that is a delimited list and convert it into
* a {@code String} array.
*
A single {@code delimiter} may consist of more than one character,
* but it will still be considered as a single delimiter string, rather
* than as bunch of potential delimiter characters, in contrast to
* {@link #tokenizeToStringArray}.
* @param str the input {@code String} (potentially {@code null} or empty)
* @param delimiter the delimiter between elements (this is a single delimiter,
* rather than a bunch individual delimiter characters)
* @param charsToDelete a set of characters to delete; useful for deleting unwanted
* line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a {@code String}
* @return an array of the tokens in the list
* @see #tokenizeToStringArray
*/
delimitedListToStringArray(str:string,delimiter:string,charsToDelete:string):string[];
/**
* Test if the given {@code String} ends with the specified suffix,
* ignoring upper/lower case.
* @param str the {@code String} to check
* @param suffix the suffix to look for
* @see java.lang.String#endsWith
*/
endsWithIgnoreCase(str:string,suffix:string):boolean;
/**
* Extract the filename from the given Java resource path,
* e.g. {@code "mypath/myfile.txt" -> "myfile.txt"}.
* @param path the file path (may be {@code null})
* @return the extracted filename, or {@code null} if none
*/
getFilename(path:string):string;
/**
* Extract the filename extension from the given Java resource path,
* e.g. "mypath/myfile.txt" -> "txt".
* @param path the file path (may be {@code null})
* @return the extracted filename extension, or {@code null} if none
*/
getFilenameExtension(path:string):string;
/**
* Check that the given {@code CharSequence} is neither {@code null} nor
* of length 0.
*
Note: this method returns {@code true} for a {@code CharSequence}
* that purely consists of whitespace.
*
* StringUtils.hasLength(null) = false
* StringUtils.hasLength("") = false
* StringUtils.hasLength(" ") = true
* StringUtils.hasLength("Hello") = true
*
* @param str the {@code CharSequence} to check (may be {@code null})
* @return {@code true} if the {@code CharSequence} is not {@code null} and has length
* @see #hasLength(String)
* @see #hasText(CharSequence)
*/
hasLength(str:$.java.lang.CharSequence):boolean;
/**
* Check that the given {@code String} is neither {@code null} nor of length 0.
* Note: this method returns {@code true} for a {@code String} that
* purely consists of whitespace.
* @param str the {@code String} to check (may be {@code null})
* @return {@code true} if the {@code String} is not {@code null} and has length
* @see #hasLength(CharSequence)
* @see #hasText(String)
*/
hasLength(str:string):boolean;
/**
* Check whether the given {@code CharSequence} contains actual text.
*
More specifically, this method returns {@code true} if the
* {@code CharSequence} is not {@code null}, its length is greater than
* 0, and it contains at least one non-whitespace character.
*
* StringUtils.hasText(null) = false
* StringUtils.hasText("") = false
* StringUtils.hasText(" ") = false
* StringUtils.hasText("12345") = true
* StringUtils.hasText(" 12345 ") = true
*
* @param str the {@code CharSequence} to check (may be {@code null})
* @return {@code true} if the {@code CharSequence} is not {@code null},
* its length is greater than 0, and it does not contain whitespace only
* @see #hasText(String)
* @see #hasLength(CharSequence)
* @see Character#isWhitespace
*/
hasText(str:$.java.lang.CharSequence):boolean;
/**
* Check whether the given {@code String} contains actual text.
* More specifically, this method returns {@code true} if the
* {@code String} is not {@code null}, its length is greater than 0,
* and it contains at least one non-whitespace character.
* @param str the {@code String} to check (may be {@code null})
* @return {@code true} if the {@code String} is not {@code null}, its
* length is greater than 0, and it does not contain whitespace only
* @see #hasText(CharSequence)
* @see #hasLength(String)
* @see Character#isWhitespace
*/
hasText(str:string):boolean;
/**
* Check whether the given object (possibly a {@code String}) is empty.
* This is effectively a shortcut for {@code !hasLength(String)}.
*
This method accepts any Object as an argument, comparing it to
* {@code null} and the empty String. As a consequence, this method
* will never return {@code true} for a non-null non-String object.
*
The Object signature is useful for general attribute handling code
* that commonly deals with Strings but generally has to iterate over
* Objects since attributes may e.g. be primitive value objects as well.
*
Note: If the object is typed to {@code String} upfront, prefer
* {@link #hasLength(String)} or {@link #hasText(String)} instead.
* @param str the candidate object (possibly a {@code String})
* @since 3.2.1
* @see #hasLength(String)
* @see #hasText(String)
*/
isEmpty(str:any):boolean;
/**
* Parse the given {@code String} value into a {@link Locale}, accepting
* the {@link Locale#toString} format as well as BCP 47 language tags.
* @param localeValue the locale value: following either {@code Locale's}
* {@code toString()} format ("en", "en_UK", etc), also accepting spaces as
* separators (as an alternative to underscores), or BCP 47 (e.g. "en-UK")
* as specified by {@link Locale#forLanguageTag} on Java 7+
* @return a corresponding {@code Locale} instance, or {@code null} if none
* @throws IllegalArgumentException in case of an invalid locale specification
* @since 5.0.4
* @see #parseLocaleString
* @see Locale#forLanguageTag
*/
parseLocale(localeValue:string):$.java.util.Locale;
/**
* Parse the given {@code String} representation into a {@link Locale}.
*
For many parsing scenarios, this is an inverse operation of
* {@link Locale#toString Locale's toString}, in a lenient sense.
* This method does not aim for strict {@code Locale} design compliance;
* it is rather specifically tailored for typical Spring parsing needs.
*
Note: This delegate does not accept the BCP 47 language tag format.
* Please use {@link #parseLocale} for lenient parsing of both formats.
* @param localeString the locale {@code String}: following {@code Locale's}
* {@code toString()} format ("en", "en_UK", etc), also accepting spaces as
* separators (as an alternative to underscores)
* @return a corresponding {@code Locale} instance, or {@code null} if none
* @throws IllegalArgumentException in case of an invalid locale specification
*/
parseLocaleString(localeString:string):$.java.util.Locale;
/**
* Parse the given {@code timeZoneString} value into a {@link TimeZone}.
* @param timeZoneString the time zone {@code String}, following {@link TimeZone#getTimeZone(String)}
* but throwing {@link IllegalArgumentException} in case of an invalid time zone specification
* @return a corresponding {@link TimeZone} instance
* @throws IllegalArgumentException in case of an invalid time zone specification
*/
parseTimeZoneString(timeZoneString:string):$.java.util.TimeZone;
/**
* Compare two paths after normalization of them.
* @param path1 first path for comparison
* @param path2 second path for comparison
* @return whether the two paths are equivalent after normalization
*/
pathEquals(path1:string,path2:string):boolean;
/**
* Quote the given {@code String} with single quotes.
* @param str the input {@code String} (e.g. "myString")
* @return the quoted {@code String} (e.g. "'myString'"),
* or {@code null} if the input was {@code null}
*/
quote(str:string):string;
/**
* Turn the given Object into a {@code String} with single quotes
* if it is a {@code String}; keeping the Object as-is else.
* @param obj the input Object (e.g. "myString")
* @return the quoted {@code String} (e.g. "'myString'"),
* or the input object as-is if not a {@code String}
*/
quoteIfString(obj:any):any;
/**
* Remove duplicate strings from the given array.
*
As of 4.2, it preserves the original order, as it uses a {@link LinkedHashSet}.
* @param array the {@code String} array (potentially empty)
* @return an array without duplicates, in natural sort order
*/
removeDuplicateStrings(array:string[]):string[];
/**
* Replace all occurrences of a substring within a string with another string.
* @param inString {@code String} to examine
* @param oldPattern {@code String} to replace
* @param newPattern {@code String} to insert
* @return a {@code String} with the replacements
*/
replace(inString:string,oldPattern:string,newPattern:string):string;
/**
* Sort the given {@code String} array if necessary.
* @param array the original array (potentially empty)
* @return the array in sorted form (never {@code null})
*/
sortStringArray(array:string[]):string[];
/**
* Split a {@code String} at the first occurrence of the delimiter.
* Does not include the delimiter in the result.
* @param toSplit the string to split (potentially {@code null} or empty)
* @param delimiter to split the string up with (potentially {@code null} or empty)
* @return a two element array with index 0 being before the delimiter, and
* index 1 being after the delimiter (neither element includes the delimiter);
* or {@code null} if the delimiter wasn't found in the given input {@code String}
*/
split(toSplit:string,delimiter:string):string[];
/**
* Take an array of strings and split each element based on the given delimiter.
* A {@code Properties} instance is then generated, with the left of the delimiter
* providing the key, and the right of the delimiter providing the value.
*
Will trim both the key and value before adding them to the {@code Properties}.
* @param array the array to process
* @param delimiter to split each element using (typically the equals symbol)
* @return a {@code Properties} instance representing the array contents,
* or {@code null} if the array to process was {@code null} or empty
*/
splitArrayElementsIntoProperties(array:string[],delimiter:string):$.java.util.Properties;
/**
* Take an array of strings and split each element based on the given delimiter.
* A {@code Properties} instance is then generated, with the left of the
* delimiter providing the key, and the right of the delimiter providing the value.
*
Will trim both the key and value before adding them to the
* {@code Properties} instance.
* @param array the array to process
* @param delimiter to split each element using (typically the equals symbol)
* @param charsToDelete one or more characters to remove from each element
* prior to attempting the split operation (typically the quotation mark
* symbol), or {@code null} if no removal should occur
* @return a {@code Properties} instance representing the array contents,
* or {@code null} if the array to process was {@code null} or empty
*/
splitArrayElementsIntoProperties(array:string[],delimiter:string,charsToDelete:string):$.java.util.Properties;
/**
* Test if the given {@code String} starts with the specified prefix,
* ignoring upper/lower case.
* @param str the {@code String} to check
* @param prefix the prefix to look for
* @see java.lang.String#startsWith
*/
startsWithIgnoreCase(str:string,prefix:string):boolean;
/**
* Strip the filename extension from the given Java resource path,
* e.g. "mypath/myfile.txt" -> "mypath/myfile".
* @param path the file path
* @return the path with stripped filename extension
*/
stripFilenameExtension(path:string):string;
/**
* Test whether the given string matches the given substring
* at the given index.
* @param str the original string (or StringBuilder)
* @param index the index in the original string to start matching against
* @param substring the substring to match at the given index
*/
substringMatch(str:$.java.lang.CharSequence,index:number,substring:$.java.lang.CharSequence):boolean;
/**
* Copy the given {@link Collection} into a {@code String} array.
*
The {@code Collection} must contain {@code String} elements only.
* @param collection the {@code Collection} to copy
* (potentially {@code null} or empty)
* @return the resulting {@code String} array
*/
toStringArray(collection:$.java.util.Collection):string[];
/**
* Copy the given {@link Enumeration} into a {@code String} array.
*
The {@code Enumeration} must contain {@code String} elements only.
* @param enumeration the {@code Enumeration} to copy
* (potentially {@code null} or empty)
* @return the resulting {@code String} array
*/
toStringArray(enumeration:$.java.util.Enumeration):string[];
/**
* Tokenize the given {@code String} into a {@code String} array via a
* {@link StringTokenizer}.
*
Trims tokens and omits empty tokens.
*
The given {@code delimiters} string can consist of any number of
* delimiter characters. Each of those characters can be used to separate
* tokens. A delimiter is always a single character; for multi-character
* delimiters, consider using {@link #delimitedListToStringArray}.
* @param str the {@code String} to tokenize (potentially {@code null} or empty)
* @param delimiters the delimiter characters, assembled as a {@code String}
* (each of the characters is individually considered as a delimiter)
* @return an array of the tokens
* @see java.util.StringTokenizer
* @see String#trim()
* @see #delimitedListToStringArray
*/
tokenizeToStringArray(str:string,delimiters:string):string[];
/**
* Tokenize the given {@code String} into a {@code String} array via a
* {@link StringTokenizer}.
*
The given {@code delimiters} string can consist of any number of
* delimiter characters. Each of those characters can be used to separate
* tokens. A delimiter is always a single character; for multi-character
* delimiters, consider using {@link #delimitedListToStringArray}.
* @param str the {@code String} to tokenize (potentially {@code null} or empty)
* @param delimiters the delimiter characters, assembled as a {@code String}
* (each of the characters is individually considered as a delimiter)
* @param trimTokens trim the tokens via {@link String#trim()}
* @param ignoreEmptyTokens omit empty tokens from the result array
* (only applies to tokens that are empty after trimming; StringTokenizer
* will not consider subsequent delimiters as token in the first place).
* @return an array of the tokens
* @see java.util.StringTokenizer
* @see String#trim()
* @see #delimitedListToStringArray
*/
tokenizeToStringArray(str:string,delimiters:string,trimTokens:boolean,ignoreEmptyTokens:boolean):string[];
/**
* Trim all whitespace from the given {@code String}:
* leading, trailing, and in between characters.
* @param str the {@code String} to check
* @return the trimmed {@code String}
* @see java.lang.Character#isWhitespace
*/
trimAllWhitespace(str:string):string;
/**
* Trim the elements of the given {@code String} array, calling
* {@code String.trim()} on each non-null element.
* @param array the original {@code String} array (potentially empty)
* @return the resulting array (of the same size) with trimmed elements
*/
trimArrayElements(array:string[]):string[];
/**
* Trim all occurrences of the supplied leading character from the given {@code String}.
* @param str the {@code String} to check
* @param leadingCharacter the leading character to be trimmed
* @return the trimmed {@code String}
*/
trimLeadingCharacter(str:string,leadingCharacter:string):string;
/**
* Trim leading whitespace from the given {@code String}.
* @param str the {@code String} to check
* @return the trimmed {@code String}
* @see java.lang.Character#isWhitespace
*/
trimLeadingWhitespace(str:string):string;
/**
* Trim all occurrences of the supplied trailing character from the given {@code String}.
* @param str the {@code String} to check
* @param trailingCharacter the trailing character to be trimmed
* @return the trimmed {@code String}
*/
trimTrailingCharacter(str:string,trailingCharacter:string):string;
/**
* Trim trailing whitespace from the given {@code String}.
* @param str the {@code String} to check
* @return the trimmed {@code String}
* @see java.lang.Character#isWhitespace
*/
trimTrailingWhitespace(str:string):string;
/**
* Trim leading and trailing whitespace from the given {@code String}.
* @param str the {@code String} to check
* @return the trimmed {@code String}
* @see java.lang.Character#isWhitespace
*/
trimWhitespace(str:string):string;
/**
* Uncapitalize a {@code String}, changing the first letter to
* lower case as per {@link Character#toLowerCase(char)}.
* No other letters are changed.
* @param str the {@code String} to uncapitalize
* @return the uncapitalized {@code String}
*/
uncapitalize(str:string):string;
/**
* Unqualify a string qualified by a '.' dot character. For example,
* "this.name.is.qualified", returns "qualified".
* @param qualifiedName the qualified name
*/
unqualify(qualifiedName:string):string;
/**
* Unqualify a string qualified by a separator character. For example,
* "this:name:is:qualified" returns "qualified" if using a ':' separator.
* @param qualifiedName the qualified name
* @param separator the separator
*/
unqualify(qualifiedName:string,separator:string):string;
/**
* Decode the given encoded URI component value. Based on the following rules:
*
* - Alphanumeric characters {@code "a"} through {@code "z"}, {@code "A"} through {@code "Z"},
* and {@code "0"} through {@code "9"} stay the same.
* - Special characters {@code "-"}, {@code "_"}, {@code "."}, and {@code "*"} stay the same.
* - A sequence "{@code %xy}" is interpreted as a hexadecimal representation of the character.
*
* @param source the encoded String
* @param charset the character set
* @return the decoded value
* @throws IllegalArgumentException when the given source contains invalid encoded sequences
* @since 5.0
* @see java.net.URLDecoder#decode(String, String)
*/
uriDecode(source:string,charset:$.java.nio.charset.Charset):string;
}
interface StringUtils_C extends StringUtils_S {
new():StringUtils;
}
interface StringUtils$ {
}
type StringUtils_T = StringUtils_S & StringUtils$;
interface StringUtils extends StringUtils_T {
}
interface CollectionUtils_S {
/**
* Convert the supplied array into a List. A primitive array gets converted
* into a List of the appropriate wrapper type.
* NOTE: Generally prefer the standard {@link Arrays#asList} method.
* This {@code arrayToList} method is just meant to deal with an incoming Object
* value that might be an {@code Object[]} or a primitive array at runtime.
*
A {@code null} source value will be converted to an empty List.
* @param source the (potentially primitive) array
* @return the converted List result
* @see ObjectUtils#toObjectArray(Object)
* @see Arrays#asList(Object[])
*/
arrayToList(source:any):$.java.util.List;
/**
* Check whether the given Enumeration contains the given element.
* @param enumeration the Enumeration to check
* @param element the element to look for
* @return {@code true} if found, {@code false} otherwise
*/
contains(enumeration:$.java.util.Enumeration,element:any):boolean;
/**
* Check whether the given Iterator contains the given element.
* @param iterator the Iterator to check
* @param element the element to look for
* @return {@code true} if found, {@code false} otherwise
*/
contains(iterator:$.java.util.Iterator,element:any):boolean;
/**
* Return {@code true} if any element in '{@code candidates}' is
* contained in '{@code source}'; otherwise returns {@code false}.
* @param source the source Collection
* @param candidates the candidates to search for
* @return whether any of the candidates has been found
*/
containsAny(source:$.java.util.Collection,candidates:$.java.util.Collection):boolean;
/**
* Check whether the given Collection contains the given element instance.
*
Enforces the given instance to be present, rather than returning
* {@code true} for an equal element as well.
* @param collection the Collection to check
* @param element the element to look for
* @return {@code true} if found, {@code false} otherwise
*/
containsInstance(collection:$.java.util.Collection,element:any):boolean;
/**
* Find the common element type of the given Collection, if any.
* @param collection the Collection to check
* @return the common element type, or {@code null} if no clear
* common type has been found (or the collection was empty)
*/
findCommonElementType(collection:$.java.util.Collection):$.java.lang.Class;
/**
* Return the first element in '{@code candidates}' that is contained in
* '{@code source}'. If no element in '{@code candidates}' is present in
* '{@code source}' returns {@code null}. Iteration order is
* {@link Collection} implementation specific.
* @param source the source Collection
* @param candidates the candidates to search for
* @return the first present object, or {@code null} if not found
*/
findFirstMatch(source:$.java.util.Collection,candidates:$.java.util.Collection):any;
findValueOfType(arg0:$.java.util.Collection,arg1:$.java.lang.Class[]):any;
/**
* Find a single value of one of the given types in the given Collection:
* searching the Collection for a value of the first type, then
* searching for a value of the second type, etc.
* @param collection the collection to search
* @param types the types to look for, in prioritized order
* @return a value of one of the given types found if there is a clear match,
* or {@code null} if none or more than one such value found
*/
findValueOfType(collection:$.java.util.Collection,types:$.java.lang.Class):any;
/**
* Retrieve the first element of the given List, accessing the zero index.
* @param list the List to check (may be {@code null} or empty)
* @return the first element, or {@code null} if none
* @since 5.2.3
*/
firstElement(list:$.java.util.List):any;
/**
* Retrieve the first element of the given Set, using {@link SortedSet#first()}
* or otherwise using the iterator.
* @param set the Set to check (may be {@code null} or empty)
* @return the first element, or {@code null} if none
* @since 5.2.3
* @see SortedSet
* @see LinkedHashMap#keySet()
* @see java.util.LinkedHashSet
*/
firstElement(set_arg:$.java.util.Set):any;
/**
* Determine whether the given Collection only contains a single unique object.
* @param collection the Collection to check
* @return {@code true} if the collection contains a single reference or
* multiple references to the same instance, {@code false} otherwise
*/
hasUniqueObject(collection:$.java.util.Collection):boolean;
/**
* Return {@code true} if the supplied Collection is {@code null} or empty.
* Otherwise, return {@code false}.
* @param collection the Collection to check
* @return whether the given Collection is empty
*/
isEmpty(collection:$.java.util.Collection):boolean;
/**
* Return {@code true} if the supplied Map is {@code null} or empty.
* Otherwise, return {@code false}.
* @param map the Map to check
* @return whether the given Map is empty
*/
isEmpty(map:$.java.util.Map):boolean;
/**
* Retrieve the last element of the given List, accessing the highest index.
* @param list the List to check (may be {@code null} or empty)
* @return the last element, or {@code null} if none
* @since 5.0.3
*/
lastElement(list:$.java.util.List):any;
/**
* Retrieve the last element of the given Set, using {@link SortedSet#last()}
* or otherwise iterating over all elements (assuming a linked set).
* @param set the Set to check (may be {@code null} or empty)
* @return the last element, or {@code null} if none
* @since 5.0.3
* @see SortedSet
* @see LinkedHashMap#keySet()
* @see java.util.LinkedHashSet
*/
lastElement(set_arg:$.java.util.Set):any;
/**
* Merge the given array into the given Collection.
* @param array the array to merge (may be {@code null})
* @param collection the target Collection to merge the array into
*/
mergeArrayIntoCollection(array:any,collection:$.java.util.Collection):void;
/**
* Merge the given Properties instance into the given Map,
* copying all properties (key-value pairs) over.
*
Uses {@code Properties.propertyNames()} to even catch
* default properties linked into the original Properties instance.
* @param props the Properties instance to merge (may be {@code null})
* @param map the target Map to merge the properties into
*/
mergePropertiesIntoMap(props:$.java.util.Properties,map:$.java.util.Map):void;
toArray(arg0:$.java.util.Enumeration,arg1:any[]):any[];
/**
* Adapt an {@link Enumeration} to an {@link Iterator}.
* @param enumeration the original {@code Enumeration}
* @return the adapted {@code Iterator}
*/
toIterator(enumeration:$.java.util.Enumeration):$.java.util.Iterator;
/**
* Adapt a {@code Map>} to an {@code MultiValueMap}.
* @param map the original map
* @return the multi-value map
* @since 3.1
*/
toMultiValueMap(map:$.java.util.Map):MultiValueMap;
/**
* Return an unmodifiable view of the specified multi-value map.
* @param map the map for which an unmodifiable view is to be returned.
* @return an unmodifiable view of the specified multi-value map.
* @since 3.1
*/
unmodifiableMultiValueMap(map:MultiValueMap):MultiValueMap;
}
interface CollectionUtils_C extends CollectionUtils_S {
new():CollectionUtils;
}
interface CollectionUtils$ {
}
type CollectionUtils_T = CollectionUtils_S & CollectionUtils$;
interface CollectionUtils extends CollectionUtils_T {
}
interface ReflectionUtils$FieldFilter_S {
}
interface ReflectionUtils$FieldFilter$ {
matches(arg0:$.java.lang.reflect.Field):boolean;
}
type ReflectionUtils$FieldFilter_T = ReflectionUtils$FieldFilter_S & ReflectionUtils$FieldFilter$;
interface ReflectionUtils$FieldFilter extends ReflectionUtils$FieldFilter_T {
}
interface ReflectionUtils_S {
readonly COPYABLE_FIELDS:ReflectionUtils$FieldFilter;
readonly USER_DECLARED_METHODS:ReflectionUtils$MethodFilter;
/**
* Obtain an accessible constructor for the given class and parameters.
* @param clazz the clazz to check
* @param parameterTypes the parameter types of the desired constructor
* @return the constructor reference
* @throws NoSuchMethodException if no such constructor exists
* @since 5.0
*/
accessibleConstructor(clazz:$.java.lang.Class,...parameterTypes:$.java.lang.Class[]):$.java.lang.reflect.Constructor;
/**
* Clear the internal method/field cache.
* @since 4.2.4
*/
clearCache():void;
/**
* Determine whether the given method explicitly declares the given
* exception or one of its superclasses, which means that an exception
* of that type can be propagated as-is within a reflective invocation.
* @param method the declaring method
* @param exceptionType the exception to throw
* @return {@code true} if the exception can be thrown as-is;
* {@code false} if it needs to be wrapped
*/
declaresException(method:$.java.lang.reflect.Method,exceptionType:$.java.lang.Class):boolean;
/**
* Invoke the given callback on all fields in the target class, going up the
* class hierarchy to get all declared fields.
* @param clazz the target class to analyze
* @param fc the callback to invoke for each field
* @throws IllegalStateException if introspection fails
*/
doWithFields(clazz:$.java.lang.Class,fc:ReflectionUtils$FieldCallback):void;
/**
* Invoke the given callback on all fields in the target class, going up the
* class hierarchy to get all declared fields.
* @param clazz the target class to analyze
* @param fc the callback to invoke for each field
* @param ff the filter that determines the fields to apply the callback to
* @throws IllegalStateException if introspection fails
*/
doWithFields(clazz:$.java.lang.Class,fc:ReflectionUtils$FieldCallback,ff:ReflectionUtils$FieldFilter):void;
/**
* Invoke the given callback on all locally declared fields in the given class.
* @param clazz the target class to analyze
* @param fc the callback to invoke for each field
* @throws IllegalStateException if introspection fails
* @since 4.2
* @see #doWithFields
*/
doWithLocalFields(clazz:$.java.lang.Class,fc:ReflectionUtils$FieldCallback):void;
/**
* Perform the given callback operation on all matching methods of the given
* class, as locally declared or equivalent thereof (such as default methods
* on Java 8 based interfaces that the given class implements).
* @param clazz the class to introspect
* @param mc the callback to invoke for each method
* @throws IllegalStateException if introspection fails
* @since 4.2
* @see #doWithMethods
*/
doWithLocalMethods(clazz:$.java.lang.Class,mc:ReflectionUtils$MethodCallback):void;
/**
* Perform the given callback operation on all matching methods of the given
* class and superclasses.
* The same named method occurring on subclass and superclass will appear
* twice, unless excluded by a {@link MethodFilter}.
* @param clazz the class to introspect
* @param mc the callback to invoke for each method
* @throws IllegalStateException if introspection fails
* @see #doWithMethods(Class, MethodCallback, MethodFilter)
*/
doWithMethods(clazz:$.java.lang.Class,mc:ReflectionUtils$MethodCallback):void;
/**
* Perform the given callback operation on all matching methods of the given
* class and superclasses (or given interface and super-interfaces).
*
The same named method occurring on subclass and superclass will appear
* twice, unless excluded by the specified {@link MethodFilter}.
* @param clazz the class to introspect
* @param mc the callback to invoke for each method
* @param mf the filter that determines the methods to apply the callback to
* @throws IllegalStateException if introspection fails
*/
doWithMethods(clazz:$.java.lang.Class,mc:ReflectionUtils$MethodCallback,mf:ReflectionUtils$MethodFilter):void;
/**
* Attempt to find a {@link Field field} on the supplied {@link Class} with the
* supplied {@code name}. Searches all superclasses up to {@link Object}.
* @param clazz the class to introspect
* @param name the name of the field
* @return the corresponding Field object, or {@code null} if not found
*/
findField(clazz:$.java.lang.Class,name:string):$.java.lang.reflect.Field;
/**
* Attempt to find a {@link Field field} on the supplied {@link Class} with the
* supplied {@code name} and/or {@link Class type}. Searches all superclasses
* up to {@link Object}.
* @param clazz the class to introspect
* @param name the name of the field (may be {@code null} if type is specified)
* @param type the type of the field (may be {@code null} if name is specified)
* @return the corresponding Field object, or {@code null} if not found
*/
findField(clazz:$.java.lang.Class,name:string,type_arg:$.java.lang.Class):$.java.lang.reflect.Field;
/**
* Attempt to find a {@link Method} on the supplied class with the supplied name
* and no parameters. Searches all superclasses up to {@code Object}.
*
Returns {@code null} if no {@link Method} can be found.
* @param clazz the class to introspect
* @param name the name of the method
* @return the Method object, or {@code null} if none found
*/
findMethod(clazz:$.java.lang.Class,name:string):$.java.lang.reflect.Method;
/**
* Attempt to find a {@link Method} on the supplied class with the supplied name
* and parameter types. Searches all superclasses up to {@code Object}.
*
Returns {@code null} if no {@link Method} can be found.
* @param clazz the class to introspect
* @param name the name of the method
* @param paramTypes the parameter types of the method
* (may be {@code null} to indicate any signature)
* @return the Method object, or {@code null} if none found
*/
findMethod(clazz:$.java.lang.Class,name:string,...paramTypes:$.java.lang.Class[]):$.java.lang.reflect.Method;
/**
* Get all declared methods on the leaf class and all superclasses.
* Leaf class methods are included first.
* @param leafClass the class to introspect
* @throws IllegalStateException if introspection fails
*/
getAllDeclaredMethods(leafClass:$.java.lang.Class):$.java.lang.reflect.Method[];
/**
* Variant of {@link Class#getDeclaredMethods()} that uses a local cache in
* order to avoid the JVM's SecurityManager check and new Method instances.
* In addition, it also includes Java 8 default methods from locally
* implemented interfaces, since those are effectively to be treated just
* like declared methods.
* @param clazz the class to introspect
* @return the cached array of methods
* @throws IllegalStateException if introspection fails
* @since 5.2
* @see Class#getDeclaredMethods()
*/
getDeclaredMethods(clazz:$.java.lang.Class):$.java.lang.reflect.Method[];
/**
* Get the field represented by the supplied {@link Field field object} on the
* specified {@link Object target object}. In accordance with {@link Field#get(Object)}
* semantics, the returned value is automatically wrapped if the underlying field
* has a primitive type.
*
Thrown exceptions are handled via a call to {@link #handleReflectionException(Exception)}.
* @param field the field to get
* @param target the target object from which to get the field
* @return the field's current value
*/
getField(field:$.java.lang.reflect.Field,target:any):any;
/**
* Get the unique set of declared methods on the leaf class and all superclasses.
* Leaf class methods are included first and while traversing the superclass hierarchy
* any methods found with signatures matching a method already included are filtered out.
* @param leafClass the class to introspect
* @throws IllegalStateException if introspection fails
*/
getUniqueDeclaredMethods(leafClass:$.java.lang.Class):$.java.lang.reflect.Method[];
/**
* Get the unique set of declared methods on the leaf class and all superclasses.
* Leaf class methods are included first and while traversing the superclass hierarchy
* any methods found with signatures matching a method already included are filtered out.
* @param leafClass the class to introspect
* @param mf the filter that determines the methods to take into account
* @throws IllegalStateException if introspection fails
* @since 5.2
*/
getUniqueDeclaredMethods(leafClass:$.java.lang.Class,mf:ReflectionUtils$MethodFilter):$.java.lang.reflect.Method[];
/**
* Handle the given invocation target exception. Should only be called if no
* checked exception is expected to be thrown by the target method.
*
Throws the underlying RuntimeException or Error in case of such a root
* cause. Throws an UndeclaredThrowableException otherwise.
* @param ex the invocation target exception to handle
*/
handleInvocationTargetException(ex:any):void;
/**
* Handle the given reflection exception.
*
Should only be called if no checked exception is expected to be thrown
* by a target method, or if an error occurs while accessing a method or field.
*
Throws the underlying RuntimeException or Error in case of an
* InvocationTargetException with such a root cause. Throws an
* IllegalStateException with an appropriate message or
* UndeclaredThrowableException otherwise.
* @param ex the reflection exception to handle
*/
handleReflectionException(ex:$.java.lang.Exception):void;
/**
* Invoke the specified {@link Method} against the supplied target object with no arguments.
* The target object can be {@code null} when invoking a static {@link Method}.
*
Thrown exceptions are handled via a call to {@link #handleReflectionException}.
* @param method the method to invoke
* @param target the target object to invoke the method on
* @return the invocation result, if any
* @see #invokeMethod(Method, Object, Object[])
*/
invokeMethod(method:$.java.lang.reflect.Method,target:any):any;
/**
* Invoke the specified {@link Method} against the supplied target object with the
* supplied arguments. The target object can be {@code null} when invoking a
* static {@link Method}.
*
Thrown exceptions are handled via a call to {@link #handleReflectionException}.
* @param method the method to invoke
* @param target the target object to invoke the method on
* @param args the invocation arguments (may be {@code null})
* @return the invocation result, if any
*/
invokeMethod(method:$.java.lang.reflect.Method,target:any,...args:any[]):any;
/**
* Determine whether the given method is a CGLIB 'renamed' method,
* following the pattern "CGLIB$methodName$0".
* @param renamedMethod the method to check
*/
isCglibRenamedMethod(renamedMethod:$.java.lang.reflect.Method):boolean;
/**
* Determine whether the given method is an "equals" method.
* @see Object#equals(Object)
*/
isEqualsMethod(method:$.java.lang.reflect.Method):boolean;
/**
* Determine whether the given method is a "hashCode" method.
* @see Object#hashCode()
*/
isHashCodeMethod(method:$.java.lang.reflect.Method):boolean;
/**
* Determine whether the given method is originally declared by {@link Object}.
*/
isObjectMethod(method:$.java.lang.reflect.Method):boolean;
/**
* Determine whether the given field is a "public static final" constant.
* @param field the field to check
*/
isPublicStaticFinal(field:$.java.lang.reflect.Field):boolean;
/**
* Determine whether the given method is a "toString" method.
* @see Object#toString()
*/
isToStringMethod(method:$.java.lang.reflect.Method):boolean;
/**
* Make the given constructor accessible, explicitly setting it accessible
* if necessary. The {@code setAccessible(true)} method is only called
* when actually necessary, to avoid unnecessary conflicts with a JVM
* SecurityManager (if active).
* @param ctor the constructor to make accessible
* @see Constructor#setAccessible
*/
makeAccessible(ctor:$.java.lang.reflect.Constructor):void;
/**
* Make the given field accessible, explicitly setting it accessible if
* necessary. The {@code setAccessible(true)} method is only called
* when actually necessary, to avoid unnecessary conflicts with a JVM
* SecurityManager (if active).
* @param field the field to make accessible
* @see Field#setAccessible
*/
makeAccessible(field:$.java.lang.reflect.Field):void;
/**
* Make the given method accessible, explicitly setting it accessible if
* necessary. The {@code setAccessible(true)} method is only called
* when actually necessary, to avoid unnecessary conflicts with a JVM
* SecurityManager (if active).
* @param method the method to make accessible
* @see Method#setAccessible
*/
makeAccessible(method:$.java.lang.reflect.Method):void;
/**
* Rethrow the given {@link Throwable exception}, which is presumably the
* target exception of an {@link InvocationTargetException}.
* Should only be called if no checked exception is expected to be thrown
* by the target method.
*
Rethrows the underlying exception cast to an {@link Exception} or
* {@link Error} if appropriate; otherwise, throws an
* {@link UndeclaredThrowableException}.
* @param ex the exception to rethrow
* @throws Exception the rethrown exception (in case of a checked exception)
*/
rethrowException(ex:$.java.lang.Throwable):void;
/**
* Rethrow the given {@link Throwable exception}, which is presumably the
* target exception of an {@link InvocationTargetException}.
* Should only be called if no checked exception is expected to be thrown
* by the target method.
*
Rethrows the underlying exception cast to a {@link RuntimeException} or
* {@link Error} if appropriate; otherwise, throws an
* {@link UndeclaredThrowableException}.
* @param ex the exception to rethrow
* @throws RuntimeException the rethrown exception
*/
rethrowRuntimeException(ex:$.java.lang.Throwable):void;
/**
* Set the field represented by the supplied {@linkplain Field field object} on
* the specified {@linkplain Object target object} to the specified {@code value}.
*
In accordance with {@link Field#set(Object, Object)} semantics, the new value
* is automatically unwrapped if the underlying field has a primitive type.
*
This method does not support setting {@code static final} fields.
*
Thrown exceptions are handled via a call to {@link #handleReflectionException(Exception)}.
* @param field the field to set
* @param target the target object on which to set the field
* @param value the value to set (may be {@code null})
*/
setField(field:$.java.lang.reflect.Field,target:any,value:any):void;
/**
* Given the source object and the destination, which must be the same class
* or a subclass, copy all fields, including inherited fields. Designed to
* work on objects with public no-arg constructors.
* @throws IllegalStateException if introspection fails
*/
shallowCopyFieldState(src:any,dest:any):void;
}
interface ReflectionUtils_C extends ReflectionUtils_S {
new():ReflectionUtils;
}
interface ReflectionUtils$ {
}
type ReflectionUtils_T = ReflectionUtils_S & ReflectionUtils$;
interface ReflectionUtils extends ReflectionUtils_T {
}
interface TypeUtils_S {
/**
* Check if the right-hand side type may be assigned to the left-hand side
* type following the Java generics rules.
* @param lhsType the target type
* @param rhsType the value type that should be assigned to the target type
* @return true if rhs is assignable to lhs
*/
isAssignable(lhsType:$.java.lang.reflect.Type,rhsType:$.java.lang.reflect.Type):boolean;
isAssignableBound(lhsType:$.java.lang.reflect.Type,rhsType:$.java.lang.reflect.Type):boolean;
}
interface TypeUtils_C extends TypeUtils_S {
new():TypeUtils;
}
interface TypeUtils$ {
}
type TypeUtils_T = TypeUtils_S & TypeUtils$;
interface TypeUtils extends TypeUtils_T {
}
interface ClassUtils_S {
readonly ARRAY_SUFFIX:string;
readonly CGLIB_CLASS_SEPARATOR:string;
readonly CLASS_FILE_SUFFIX:string;
/**
* Return a path suitable for use with {@code ClassLoader.getResource}
* (also suitable for use with {@code Class.getResource} by prepending a
* slash ('/') to the return value). Built by taking the package of the specified
* class file, converting all dots ('.') to slashes ('/'), adding a trailing slash
* if necessary, and concatenating the specified resource name to this.
*
As such, this function may be used to build a path suitable for
* loading a resource file that is in the same package as a class file,
* although {@link org.springframework.core.io.ClassPathResource} is usually
* even more convenient.
* @param clazz the Class whose package will be used as the base
* @param resourceName the resource name to append. A leading slash is optional.
* @return the built-up resource path
* @see ClassLoader#getResource
* @see Class#getResource
*/
addResourcePathToPackagePath(clazz:$.java.lang.Class,resourceName:string):string;
/**
* Build a String that consists of the names of the classes/interfaces
* in the given array.
*
Basically like {@code AbstractCollection.toString()}, but stripping
* the "class "/"interface " prefix before every class name.
* @param classes an array of Class objects
* @return a String of form "[com.foo.Bar, com.foo.Baz]"
* @see java.util.AbstractCollection#toString()
*/
classNamesToString(...classes:$.java.lang.Class[]):string;
/**
* Build a String that consists of the names of the classes/interfaces
* in the given collection.
*
Basically like {@code AbstractCollection.toString()}, but stripping
* the "class "/"interface " prefix before every class name.
* @param classes a Collection of Class objects (may be {@code null})
* @return a String of form "[com.foo.Bar, com.foo.Baz]"
* @see java.util.AbstractCollection#toString()
*/
classNamesToString(classes:$.java.util.Collection):string;
/**
* Given an input class object, return a string which consists of the
* class's package name as a pathname, i.e., all dots ('.') are replaced by
* slashes ('/'). Neither a leading nor trailing slash is added. The result
* could be concatenated with a slash and the name of a resource and fed
* directly to {@code ClassLoader.getResource()}. For it to be fed to
* {@code Class.getResource} instead, a leading slash would also have
* to be prepended to the returned value.
* @param clazz the input class. A {@code null} value or the default
* (empty) package will result in an empty string ("") being returned.
* @return a path which represents the package name
* @see ClassLoader#getResource
* @see Class#getResource
*/
classPackageAsResourcePath(clazz:$.java.lang.Class):string;
/**
* Convert a "."-based fully qualified class name to a "/"-based resource path.
* @param className the fully qualified class name
* @return the corresponding resource path, pointing to the class
*/
convertClassNameToResourcePath(className:string):string;
/**
* Convert a "/"-based resource path to a "."-based fully qualified class name.
* @param resourcePath the resource path pointing to a class
* @return the corresponding fully qualified class name
*/
convertResourcePathToClassName(resourcePath:string):string;
createCompositeInterface(arg0:$.java.lang.Class[],arg1:$.java.lang.ClassLoader):$.java.lang.Class;
/**
* Determine the common ancestor of the given classes, if any.
* @param clazz1 the class to introspect
* @param clazz2 the other class to introspect
* @return the common ancestor (i.e. common superclass, one interface
* extending the other), or {@code null} if none found. If any of the
* given classes is {@code null}, the other class will be returned.
* @since 3.2.6
*/
determineCommonAncestor(clazz1:$.java.lang.Class,clazz2:$.java.lang.Class):$.java.lang.Class;
/**
* Replacement for {@code Class.forName()} that also returns Class instances
* for primitives (e.g. "int") and array class names (e.g. "String[]").
* Furthermore, it is also capable of resolving inner class names in Java source
* style (e.g. "java.lang.Thread.State" instead of "java.lang.Thread$State").
* @param name the name of the Class
* @param classLoader the class loader to use
* (may be {@code null}, which indicates the default class loader)
* @return a class instance for the supplied name
* @throws ClassNotFoundException if the class was not found
* @throws LinkageError if the class file could not be loaded
* @see Class#forName(String, boolean, ClassLoader)
*/
forName(name:string,classLoader:$.java.lang.ClassLoader):$.java.lang.Class;
/**
* Return all interfaces that the given instance implements as an array,
* including ones implemented by superclasses.
* @param instance the instance to analyze for interfaces
* @return all interfaces that the given instance implements as an array
*/
getAllInterfaces(instance:any):$.java.lang.Class[];
/**
* Return all interfaces that the given instance implements as a Set,
* including ones implemented by superclasses.
* @param instance the instance to analyze for interfaces
* @return all interfaces that the given instance implements as a Set
*/
getAllInterfacesAsSet(instance:any):$.java.util.Set;
/**
* Return all interfaces that the given class implements as an array,
* including ones implemented by superclasses.
*
If the class itself is an interface, it gets returned as sole interface.
* @param clazz the class to analyze for interfaces
* @return all interfaces that the given object implements as an array
*/
getAllInterfacesForClass(clazz:$.java.lang.Class):$.java.lang.Class[];
/**
* Return all interfaces that the given class implements as an array,
* including ones implemented by superclasses.
*
If the class itself is an interface, it gets returned as sole interface.
* @param clazz the class to analyze for interfaces
* @param classLoader the ClassLoader that the interfaces need to be visible in
* (may be {@code null} when accepting all declared interfaces)
* @return all interfaces that the given object implements as an array
*/
getAllInterfacesForClass(clazz:$.java.lang.Class,classLoader:$.java.lang.ClassLoader):$.java.lang.Class[];
/**
* Return all interfaces that the given class implements as a Set,
* including ones implemented by superclasses.
*
If the class itself is an interface, it gets returned as sole interface.
* @param clazz the class to analyze for interfaces
* @return all interfaces that the given object implements as a Set
*/
getAllInterfacesForClassAsSet(clazz:$.java.lang.Class):$.java.util.Set;
/**
* Return all interfaces that the given class implements as a Set,
* including ones implemented by superclasses.
*
If the class itself is an interface, it gets returned as sole interface.
* @param clazz the class to analyze for interfaces
* @param classLoader the ClassLoader that the interfaces need to be visible in
* (may be {@code null} when accepting all declared interfaces)
* @return all interfaces that the given object implements as a Set
*/
getAllInterfacesForClassAsSet(clazz:$.java.lang.Class,classLoader:$.java.lang.ClassLoader):$.java.util.Set;
/**
* Determine the name of the class file, relative to the containing
* package: e.g. "String.class"
* @param clazz the class
* @return the file name of the ".class" file
*/
getClassFileName(clazz:$.java.lang.Class):string;
/**
* Determine whether the given class has a public constructor with the given signature,
* and return it if available (else return {@code null}).
*
Essentially translates {@code NoSuchMethodException} to {@code null}.
* @param clazz the clazz to analyze
* @param paramTypes the parameter types of the method
* @return the constructor, or {@code null} if not found
* @see Class#getConstructor
*/
getConstructorIfAvailable(clazz:$.java.lang.Class,...paramTypes:$.java.lang.Class[]):$.java.lang.reflect.Constructor;
/**
* Return the default ClassLoader to use: typically the thread context
* ClassLoader, if available; the ClassLoader that loaded the ClassUtils
* class will be used as fallback.
*
Call this method if you intend to use the thread context ClassLoader
* in a scenario where you clearly prefer a non-null ClassLoader reference:
* for example, for class path resource loading (but not necessarily for
* {@code Class.forName}, which accepts a {@code null} ClassLoader
* reference as well).
* @return the default ClassLoader (only {@code null} if even the system
* ClassLoader isn't accessible)
* @see Thread#getContextClassLoader()
* @see ClassLoader#getSystemClassLoader()
*/
getDefaultClassLoader():$.java.lang.ClassLoader;
/**
* Return a descriptive name for the given object's type: usually simply
* the class name, but component type class name + "[]" for arrays,
* and an appended list of implemented interfaces for JDK proxies.
* @param value the value to introspect
* @return the qualified name of the class
*/
getDescriptiveType(value:any):string;
/**
* Determine a corresponding interface method for the given method handle, if possible.
*
This is particularly useful for arriving at a public exported type on Jigsaw
* which can be reflectively invoked without an illegal access warning.
* @param method the method to be invoked, potentially from an implementation class
* @return the corresponding interface method, or the original method if none found
* @since 5.1
* @see #getMostSpecificMethod
*/
getInterfaceMethodIfPossible(method:$.java.lang.reflect.Method):$.java.lang.reflect.Method;
/**
* Determine whether the given class has a public method with the given signature,
* and return it if available (else throws an {@code IllegalStateException}).
*
In case of any signature specified, only returns the method if there is a
* unique candidate, i.e. a single public method with the specified name.
*
Essentially translates {@code NoSuchMethodException} to {@code IllegalStateException}.
* @param clazz the clazz to analyze
* @param methodName the name of the method
* @param paramTypes the parameter types of the method
* (may be {@code null} to indicate any signature)
* @return the method (never {@code null})
* @throws IllegalStateException if the method has not been found
* @see Class#getMethod
*/
getMethod(clazz:$.java.lang.Class,methodName:string,...paramTypes:$.java.lang.Class[]):$.java.lang.reflect.Method;
/**
* Return the number of methods with a given name (with any argument types),
* for the given class and/or its superclasses. Includes non-public methods.
* @param clazz the clazz to check
* @param methodName the name of the method
* @return the number of methods with the given name
*/
getMethodCountForName(clazz:$.java.lang.Class,methodName:string):number;
/**
* Determine whether the given class has a public method with the given signature,
* and return it if available (else return {@code null}).
*
In case of any signature specified, only returns the method if there is a
* unique candidate, i.e. a single public method with the specified name.
*
Essentially translates {@code NoSuchMethodException} to {@code null}.
* @param clazz the clazz to analyze
* @param methodName the name of the method
* @param paramTypes the parameter types of the method
* (may be {@code null} to indicate any signature)
* @return the method, or {@code null} if not found
* @see Class#getMethod
*/
getMethodIfAvailable(clazz:$.java.lang.Class,methodName:string,...paramTypes:$.java.lang.Class[]):$.java.lang.reflect.Method;
/**
* Given a method, which may come from an interface, and a target class used
* in the current reflective invocation, find the corresponding target method
* if there is one. E.g. the method may be {@code IFoo.bar()} and the
* target class may be {@code DefaultFoo}. In this case, the method may be
* {@code DefaultFoo.bar()}. This enables attributes on that method to be found.
*
NOTE: In contrast to {@link org.springframework.aop.support.AopUtils#getMostSpecificMethod},
* this method does not resolve Java 5 bridge methods automatically.
* Call {@link org.springframework.core.BridgeMethodResolver#findBridgedMethod}
* if bridge method resolution is desirable (e.g. for obtaining metadata from
* the original method definition).
*
NOTE: Since Spring 3.1.1, if Java security settings disallow reflective
* access (e.g. calls to {@code Class#getDeclaredMethods} etc, this implementation
* will fall back to returning the originally provided method.
* @param method the method to be invoked, which may come from an interface
* @param targetClass the target class for the current invocation
* (may be {@code null} or may not even implement the method)
* @return the specific target method, or the original method if the
* {@code targetClass} does not implement it
* @see #getInterfaceMethodIfPossible
*/
getMostSpecificMethod(method:$.java.lang.reflect.Method,targetClass:$.java.lang.Class):$.java.lang.reflect.Method;
/**
* Determine the name of the package of the given class,
* e.g. "java.lang" for the {@code java.lang.String} class.
* @param clazz the class
* @return the package name, or the empty String if the class
* is defined in the default package
*/
getPackageName(clazz:$.java.lang.Class):string;
/**
* Determine the name of the package of the given fully-qualified class name,
* e.g. "java.lang" for the {@code java.lang.String} class name.
* @param fqClassName the fully-qualified class name
* @return the package name, or the empty String if the class
* is defined in the default package
*/
getPackageName(fqClassName:string):string;
/**
* Return the qualified name of the given method, consisting of
* fully qualified interface/class name + "." + method name.
* @param method the method
* @return the qualified name of the method
*/
getQualifiedMethodName(method:$.java.lang.reflect.Method):string;
/**
* Return the qualified name of the given method, consisting of
* fully qualified interface/class name + "." + method name.
* @param method the method
* @param clazz the clazz that the method is being invoked on
* (may be {@code null} to indicate the method's declaring class)
* @return the qualified name of the method
* @since 4.3.4
*/
getQualifiedMethodName(method:$.java.lang.reflect.Method,clazz:$.java.lang.Class):string;
/**
* Return the qualified name of the given class: usually simply
* the class name, but component type class name + "[]" for arrays.
* @param clazz the class
* @return the qualified name of the class
*/
getQualifiedName(clazz:$.java.lang.Class):string;
/**
* Get the class name without the qualified package name.
* @param className the className to get the short name for
* @return the class name of the class without the package name
* @throws IllegalArgumentException if the className is empty
*/
getShortName(className:string):string;
/**
* Get the class name without the qualified package name.
* @param clazz the class to get the short name for
* @return the class name of the class without the package name
*/
getShortName(clazz:$.java.lang.Class):string;
/**
* Return the short string name of a Java class in uncapitalized JavaBeans
* property format. Strips the outer class name in case of an inner class.
* @param clazz the class
* @return the short name rendered in a standard JavaBeans property format
* @see java.beans.Introspector#decapitalize(String)
*/
getShortNameAsProperty(clazz:$.java.lang.Class):string;
/**
* Return a public static method of a class.
* @param clazz the class which defines the method
* @param methodName the static method name
* @param args the parameter types to the method
* @return the static method, or {@code null} if no static method was found
* @throws IllegalArgumentException if the method name is blank or the clazz is null
*/
getStaticMethod(clazz:$.java.lang.Class,methodName:string,...args:$.java.lang.Class[]):$.java.lang.reflect.Method;
/**
* Return the user-defined class for the given class: usually simply the given
* class, but the original class in case of a CGLIB-generated subclass.
* @param clazz the class to check
* @return the user-defined class
*/
getUserClass(clazz:$.java.lang.Class):$.java.lang.Class;
/**
* Return the user-defined class for the given instance: usually simply
* the class of the given instance, but the original class in case of a
* CGLIB-generated subclass.
* @param instance the instance to check
* @return the user-defined class
*/
getUserClass(instance:any):$.java.lang.Class;
/**
* Does the given class or one of its superclasses at least have one or more
* methods with the supplied name (with any argument types)?
* Includes non-public methods.
* @param clazz the clazz to check
* @param methodName the name of the method
* @return whether there is at least one method with the given name
*/
hasAtLeastOneMethodWithName(clazz:$.java.lang.Class,methodName:string):boolean;
/**
* Determine whether the given class has a public constructor with the given signature.
*
Essentially translates {@code NoSuchMethodException} to "false".
* @param clazz the clazz to analyze
* @param paramTypes the parameter types of the method
* @return whether the class has a corresponding constructor
* @see Class#getMethod
*/
hasConstructor(clazz:$.java.lang.Class,...paramTypes:$.java.lang.Class[]):boolean;
/**
* Determine whether the given class has a public method with the given signature.
* @param clazz the clazz to analyze
* @param method the method to look for
* @return whether the class has a corresponding method
* @since 5.2.3
*/
hasMethod(clazz:$.java.lang.Class,method:$.java.lang.reflect.Method):boolean;
/**
* Determine whether the given class has a public method with the given signature.
*
Essentially translates {@code NoSuchMethodException} to "false".
* @param clazz the clazz to analyze
* @param methodName the name of the method
* @param paramTypes the parameter types of the method
* @return whether the class has a corresponding method
* @see Class#getMethod
*/
hasMethod(clazz:$.java.lang.Class,methodName:string,...paramTypes:$.java.lang.Class[]):boolean;
/**
* Check if the right-hand side type may be assigned to the left-hand side
* type, assuming setting by reflection. Considers primitive wrapper
* classes as assignable to the corresponding primitive types.
* @param lhsType the target type
* @param rhsType the value type that should be assigned to the target type
* @return if the target type is assignable from the value type
* @see TypeUtils#isAssignable(java.lang.reflect.Type, java.lang.reflect.Type)
*/
isAssignable(lhsType:$.java.lang.Class,rhsType:$.java.lang.Class):boolean;
/**
* Determine if the given type is assignable from the given value,
* assuming setting by reflection. Considers primitive wrapper classes
* as assignable to the corresponding primitive types.
* @param type the target type
* @param value the value that should be assigned to the type
* @return if the type is assignable from the value
*/
isAssignableValue(type_arg:$.java.lang.Class,value:any):boolean;
/**
* Check whether the given class is cache-safe in the given context,
* i.e. whether it is loaded by the given ClassLoader or a parent of it.
* @param clazz the class to analyze
* @param classLoader the ClassLoader to potentially cache metadata in
* (may be {@code null} which indicates the system class loader)
*/
isCacheSafe(clazz:$.java.lang.Class,classLoader:$.java.lang.ClassLoader):boolean;
/**
* Determine if the supplied class is an inner class,
* i.e. a non-static member of an enclosing class.
* @return {@code true} if the supplied class is an inner class
* @since 5.0.5
* @see Class#isMemberClass()
*/
isInnerClass(clazz:$.java.lang.Class):boolean;
/**
* Determine whether the given interface is a common Java language interface:
* {@link Serializable}, {@link Externalizable}, {@link Closeable}, {@link AutoCloseable},
* {@link Cloneable}, {@link Comparable} - all of which can be ignored when looking
* for 'primary' user-level interfaces. Common characteristics: no service-level
* operations, no bean property methods, no default methods.
* @param ifc the interface to check
* @since 5.0.3
*/
isJavaLanguageInterface(ifc:$.java.lang.Class):boolean;
/**
* Determine whether the {@link Class} identified by the supplied name is present
* and can be loaded. Will return {@code false} if either the class or
* one of its dependencies is not present or cannot be loaded.
* @param className the name of the class to check
* @param classLoader the class loader to use
* (may be {@code null} which indicates the default class loader)
* @return whether the specified class is present (including all of its
* superclasses and interfaces)
* @throws IllegalStateException if the corresponding class is resolvable but
* there was a readability mismatch in the inheritance hierarchy of the class
* (typically a missing dependency declaration in a Jigsaw module definition
* for a superclass or interface implemented by the class to be checked here)
*/
isPresent(className:string,classLoader:$.java.lang.ClassLoader):boolean;
/**
* Check if the given class represents an array of primitives,
* i.e. boolean, byte, char, short, int, long, float, or double.
* @param clazz the class to check
* @return whether the given class is a primitive array class
*/
isPrimitiveArray(clazz:$.java.lang.Class):boolean;
/**
* Check if the given class represents a primitive (i.e. boolean, byte,
* char, short, int, long, float, or double), {@code void}, or a wrapper for
* those types (i.e. Boolean, Byte, Character, Short, Integer, Long, Float,
* Double, or Void).
* @param clazz the class to check
* @return {@code true} if the given class represents a primitive, void, or
* a wrapper class
*/
isPrimitiveOrWrapper(clazz:$.java.lang.Class):boolean;
/**
* Check if the given class represents a primitive wrapper,
* i.e. Boolean, Byte, Character, Short, Integer, Long, Float, Double, or
* Void.
* @param clazz the class to check
* @return whether the given class is a primitive wrapper class
*/
isPrimitiveWrapper(clazz:$.java.lang.Class):boolean;
/**
* Check if the given class represents an array of primitive wrappers,
* i.e. Boolean, Byte, Character, Short, Integer, Long, Float, or Double.
* @param clazz the class to check
* @return whether the given class is a primitive wrapper array class
*/
isPrimitiveWrapperArray(clazz:$.java.lang.Class):boolean;
/**
* Determine whether the given method is declared by the user or at least pointing to
* a user-declared method.
*
Checks {@link Method#isSynthetic()} (for implementation methods) as well as the
* {@code GroovyObject} interface (for interface methods; on an implementation class,
* implementations of the {@code GroovyObject} methods will be marked as synthetic anyway).
* Note that, despite being synthetic, bridge methods ({@link Method#isBridge()}) are considered
* as user-level methods since they are eventually pointing to a user-declared generic method.
* @param method the method to check
* @return {@code true} if the method can be considered as user-declared; [@code false} otherwise
*/
isUserLevelMethod(method:$.java.lang.reflect.Method):boolean;
/**
* Check whether the given class is visible in the given ClassLoader.
* @param clazz the class to check (typically an interface)
* @param classLoader the ClassLoader to check against
* (may be {@code null} in which case this method will always return {@code true})
*/
isVisible(clazz:$.java.lang.Class,classLoader:$.java.lang.ClassLoader):boolean;
/**
* Check whether the given class matches the user-specified type name.
* @param clazz the class to check
* @param typeName the type name to match
*/
matchesTypeName(clazz:$.java.lang.Class,typeName:string):boolean;
/**
* Override the thread context ClassLoader with the environment's bean ClassLoader
* if necessary, i.e. if the bean ClassLoader is not equivalent to the thread
* context ClassLoader already.
* @param classLoaderToUse the actual ClassLoader to use for the thread context
* @return the original thread context ClassLoader, or {@code null} if not overridden
*/
overrideThreadContextClassLoader(classLoaderToUse:$.java.lang.ClassLoader):$.java.lang.ClassLoader;
/**
* Resolve the given class name into a Class instance. Supports
* primitives (like "int") and array class names (like "String[]").
*
This is effectively equivalent to the {@code forName}
* method with the same arguments, with the only difference being
* the exceptions thrown in case of class loading failure.
* @param className the name of the Class
* @param classLoader the class loader to use
* (may be {@code null}, which indicates the default class loader)
* @return a class instance for the supplied name
* @throws IllegalArgumentException if the class name was not resolvable
* (that is, the class could not be found or the class file could not be loaded)
* @throws IllegalStateException if the corresponding class is resolvable but
* there was a readability mismatch in the inheritance hierarchy of the class
* (typically a missing dependency declaration in a Jigsaw module definition
* for a superclass or interface implemented by the class to be loaded here)
* @see #forName(String, ClassLoader)
*/
resolveClassName(className:string,classLoader:$.java.lang.ClassLoader):$.java.lang.Class;
/**
* Resolve the given class name as primitive class, if appropriate,
* according to the JVM's naming rules for primitive classes.
*
Also supports the JVM's internal class names for primitive arrays.
* Does not support the "[]" suffix notation for primitive arrays;
* this is only supported by {@link #forName(String, ClassLoader)}.
* @param name the name of the potentially primitive class
* @return the primitive class, or {@code null} if the name does not denote
* a primitive class or primitive array class
*/
resolvePrimitiveClassName(name:string):$.java.lang.Class;
/**
* Resolve the given class if it is a primitive class,
* returning the corresponding primitive wrapper type instead.
* @param clazz the class to check
* @return the original class, or a primitive wrapper for the original primitive type
*/
resolvePrimitiveIfNecessary(clazz:$.java.lang.Class):$.java.lang.Class;
/**
* Copy the given {@code Collection} into a {@code Class} array.
*
The {@code Collection} must contain {@code Class} elements only.
* @param collection the {@code Collection} to copy
* @return the {@code Class} array
* @since 3.1
* @see StringUtils#toStringArray
*/
toClassArray(collection:$.java.util.Collection):$.java.lang.Class[];
}
interface ClassUtils_C extends ClassUtils_S {
new():ClassUtils;
}
interface ClassUtils$ {
}
type ClassUtils_T = ClassUtils_S & ClassUtils$;
interface ClassUtils extends ClassUtils_T {
}
interface MultiValueMap_S {
}
interface MultiValueMap$ {
add(arg0:any,arg1:any):void;
/**
* Add all the values of the given {@code MultiValueMap} to the current values.
* @param values the values to be added
* @since 5.0
*/
addAll(values:MultiValueMap):void;
addAll(arg0:any,arg1:$.java.util.List):void;
addIfAbsent?(arg0:any,arg1:any):void;
getFirst(arg0:any):any;
set(arg0:any,arg1:any):void;
/**
* Set the given values under.
* @param values the values.
*/
setAll(values:$.java.util.Map):void;
/**
* Return a {@code Map} with the first values contained in this {@code MultiValueMap}.
* @return a single value representation of this map
*/
toSingleValueMap():$.java.util.Map;
}
type MultiValueMap_T = $.java.util.Map & MultiValueMap_S & MultiValueMap$;
interface MultiValueMap extends MultiValueMap_T {
}
interface ObjectUtils_S {
addObjectToArray(arg0:any[],arg1:any):any[];
caseInsensitiveValueOf(arg0:$.java.lang.Enum[],arg1:string):$.java.lang.Enum;
containsConstant(arg0:$.java.lang.Enum[],arg1:string):boolean;
containsConstant(arg0:$.java.lang.Enum[],arg1:string,arg2:boolean):boolean;
/**
* Check whether the given array contains the given element.
* @param array the array to check (may be {@code null},
* in which case the return value will always be {@code false})
* @param element the element to check for
* @return whether the element has been found in the given array
*/
containsElement(array:any[],element:any):boolean;
/**
* Return a content-based String representation if {@code obj} is
* not {@code null}; otherwise returns an empty String.
*
Differs from {@link #nullSafeToString(Object)} in that it returns
* an empty String rather than "null" for a {@code null} value.
* @param obj the object to build a display String for
* @return a display String representation of {@code obj}
* @see #nullSafeToString(Object)
*/
getDisplayString(obj:any):string;
/**
* Return a hex String form of an object's identity hash code.
* @param obj the object
* @return the object's identity code in hex notation
*/
getIdentityHexString(obj:any):string;
/**
* Return a String representation of an object's overall identity.
* @param obj the object (may be {@code null})
* @return the object's identity as String representation,
* or an empty String if the object was {@code null}
*/
identityToString(obj:any):string;
/**
* Determine whether the given object is an array:
* either an Object array or a primitive array.
* @param obj the object to check
*/
isArray(obj:any):boolean;
/**
* Return whether the given throwable is a checked exception:
* that is, neither a RuntimeException nor an Error.
* @param ex the throwable to check
* @return whether the throwable is a checked exception
* @see java.lang.Exception
* @see java.lang.RuntimeException
* @see java.lang.Error
*/
isCheckedException(ex:$.java.lang.Throwable):boolean;
/**
* Check whether the given exception is compatible with the specified
* exception types, as declared in a throws clause.
* @param ex the exception to check
* @param declaredExceptions the exception types declared in the throws clause
* @return whether the given exception is compatible
*/
isCompatibleWithThrowsClause(ex:$.java.lang.Throwable,...declaredExceptions:$.java.lang.Class[]):boolean;
/**
* Determine whether the given array is empty:
* i.e. {@code null} or of zero length.
* @param array the array to check
* @see #isEmpty(Object)
*/
isEmpty(array:any[]):boolean;
/**
* Determine whether the given object is empty.
*
This method supports the following object types.
*
* - {@code Optional}: considered empty if {@link Optional#empty()}
* - {@code Array}: considered empty if its length is zero
* - {@link CharSequence}: considered empty if its length is zero
* - {@link Collection}: delegates to {@link Collection#isEmpty()}
* - {@link Map}: delegates to {@link Map#isEmpty()}
*
* If the given object is non-null and not one of the aforementioned
* supported types, this method returns {@code false}.
* @param obj the object to check
* @return {@code true} if the object is {@code null} or empty
* @since 4.2
* @see Optional#isPresent()
* @see ObjectUtils#isEmpty(Object[])
* @see StringUtils#hasLength(CharSequence)
* @see StringUtils#isEmpty(Object)
* @see CollectionUtils#isEmpty(java.util.Collection)
* @see CollectionUtils#isEmpty(java.util.Map)
*/
isEmpty(obj:any):boolean;
/**
* Determine the class name for the given object.
*
Returns a {@code "null"} String if {@code obj} is {@code null}.
* @param obj the object to introspect (may be {@code null})
* @return the corresponding class name
*/
nullSafeClassName(obj:any):string;
/**
* Determine if the given objects are equal, returning {@code true} if
* both are {@code null} or {@code false} if only one is {@code null}.
*
Compares arrays with {@code Arrays.equals}, performing an equality
* check based on the array elements rather than the array reference.
* @param o1 first Object to compare
* @param o2 second Object to compare
* @return whether the given objects are equal
* @see Object#equals(Object)
* @see java.util.Arrays#equals
*/
nullSafeEquals(o1:any,o2:any):boolean;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:string[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:any[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:boolean[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:long[]):number;
/**
* Return a hash code based on the contents of the specified array.
* If {@code array} is {@code null}, this method returns 0.
*/
nullSafeHashCode(array:number[]):number;
/**
* Return as hash code for the given object; typically the value of
* {@code Object#hashCode()}}. If the object is an array,
* this method will delegate to any of the {@code nullSafeHashCode}
* methods for arrays in this class. If the object is {@code null},
* this method returns 0.
* @see Object#hashCode()
* @see #nullSafeHashCode(Object[])
* @see #nullSafeHashCode(boolean[])
* @see #nullSafeHashCode(byte[])
* @see #nullSafeHashCode(char[])
* @see #nullSafeHashCode(double[])
* @see #nullSafeHashCode(float[])
* @see #nullSafeHashCode(int[])
* @see #nullSafeHashCode(long[])
* @see #nullSafeHashCode(short[])
*/
nullSafeHashCode(obj:any):number;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
* Returns a {@code "null"} String if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:long[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
* Returns a {@code "null"} String if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:string[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
* Returns a {@code "null"} String if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:boolean[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
* Returns a {@code "null"} String if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:number[]):string;
/**
* Return a String representation of the contents of the specified array.
*
The String representation consists of a list of the array's elements,
* enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
* by the characters {@code ", "} (a comma followed by a space).
* Returns a {@code "null"} String if {@code array} is {@code null}.
* @param array the array to build a String representation for
* @return a String representation of {@code array}
*/
nullSafeToString(array:any[]):string;
/**
* Return a String representation of the specified Object.
*
Builds a String representation of the contents in case of an array.
* Returns a {@code "null"} String if {@code obj} is {@code null}.
* @param obj the object to build a String representation for
* @return a String representation of {@code obj}
*/
nullSafeToString(obj:any):string;
/**
* Convert the given array (which may be a primitive array) to an
* object array (if necessary of primitive wrapper objects).
*
A {@code null} source value will be converted to an
* empty Object array.
* @param source the (potentially primitive) array
* @return the corresponding object array (never {@code null})
* @throws IllegalArgumentException if the parameter is not an array
*/
toObjectArray(source:any):any[];
/**
* Unwrap the given object which is potentially a {@link java.util.Optional}.
* @param obj the candidate object
* @return either the value held within the {@code Optional}, {@code null}
* if the {@code Optional} is empty, or simply the given object as-is
* @since 5.0
*/
unwrapOptional(obj:any):any;
}
interface ObjectUtils_C extends ObjectUtils_S {
new():ObjectUtils;
}
interface ObjectUtils$ {
}
type ObjectUtils_T = ObjectUtils_S & ObjectUtils$;
interface ObjectUtils extends ObjectUtils_T {
}
interface ReflectionUtils$FieldCallback_S {
}
interface ReflectionUtils$FieldCallback$ {
doWith(arg0:$.java.lang.reflect.Field):void;
}
type ReflectionUtils$FieldCallback_T = ReflectionUtils$FieldCallback_S & ReflectionUtils$FieldCallback$;
interface ReflectionUtils$FieldCallback extends ReflectionUtils$FieldCallback_T {
}
}
namespace kd.bos.entity.print{
interface PaperSetting_S {
}
type PaperSetting_ST = $.java.io.Serializable & PaperSetting_S;
interface PaperSetting_C extends PaperSetting_ST {
new():PaperSetting;
}
interface PaperSetting$ {
getAppId():string;
getListFieldFont():number;
getListFont():string;
getListLineHeight():number;
getMarginBottom():number;
getMarginLeft():number;
getMarginRight():number;
getMarginTop():number;
getOrentation():string;
getPaperType():string;
getTitle():string;
getWideProportion():number;
getWideType():string;
isPrintRemark():boolean;
isWrap():boolean;
setAppId(arg0:string):void;
setListFieldFont(arg0:number):void;
setListFont(arg0:string):void;
setListLineHeight(arg0:number):void;
setMarginBottom(arg0:number):void;
setMarginLeft(arg0:number):void;
setMarginRight(arg0:number):void;
setMarginTop(arg0:number):void;
setOrentation(arg0:string):void;
setPaperType(arg0:string):void;
setPrintRemark(arg0:boolean):void;
setTitle(arg0:string):void;
setWideProportion(arg0:number):void;
setWideType(arg0:string):void;
setWrap(arg0:boolean):void;
}
type PaperSetting_T = $.java.io.Serializable & PaperSetting_S & PaperSetting$;
interface PaperSetting extends PaperSetting_T {
}
interface AbstractScriptPrintPlugin_S {
}
type AbstractScriptPrintPlugin_ST = IScriptPrintPlugin_S & AbstractScriptPrintPlugin_S;
interface AbstractScriptPrintPlugin_C extends AbstractScriptPrintPlugin_ST {
new():AbstractScriptPrintPlugin;
}
interface AbstractScriptPrintPlugin$ {
}
type AbstractScriptPrintPlugin_T = IScriptPrintPlugin & AbstractScriptPrintPlugin_S & AbstractScriptPrintPlugin$;
interface AbstractScriptPrintPlugin extends AbstractScriptPrintPlugin_T {
}
interface QueryDataEventArgs_S {
}
type QueryDataEventArgs_ST = $.java.util.EventObject & QueryDataEventArgs_S;
interface QueryDataEventArgs_C extends QueryDataEventArgs_ST {
new(arg0:any,arg1:string,arg2:any,arg3:any,arg4:$.java.util.Map,arg5:$.java.util.Set):QueryDataEventArgs;
}
interface QueryDataEventArgs$ {
getBillPkId():any;
getFormId():string;
getRecords():$.java.util.List;
getTemplatePkId():any;
getVariableMapping():$.java.util.Map;
getVariables():$.java.util.Set;
setRecords(arg0:$.java.util.List):void;
}
type QueryDataEventArgs_T = $.java.util.EventObject & QueryDataEventArgs_S & QueryDataEventArgs$;
interface QueryDataEventArgs extends QueryDataEventArgs_T {
}
interface IScriptPrintPlugin_S {
}
interface IScriptPrintPlugin$ {
/**
* 查询数据
* @param e
*/
doQueryData?(e:kd.bos.entity.print.QueryDataEventArgs):void;
}
type IScriptPrintPlugin_T = IScriptPrintPlugin_S & IScriptPrintPlugin$;
interface IScriptPrintPlugin extends IScriptPrintPlugin_T {
}
}
namespace kd.bos.entity.privacy{
interface PrivacyScheme_S {
}
interface PrivacyScheme_C extends PrivacyScheme_S {
new():PrivacyScheme;
}
interface PrivacyScheme$ {
getEntityNumber():string;
getFieldKey():string;
getPrivacyDataService():kd.bos.dataentity.privacy.IPrivacyDataService;
getSchemeId():long;
setEntityNumber(entityNumber:string):void;
setFieldKey(fieldKey:string):void;
setSchemeId(schemeId:long):void;
}
type PrivacyScheme_T = PrivacyScheme_S & PrivacyScheme$;
interface PrivacyScheme extends PrivacyScheme_T {
}
}
namespace kd.bos.entity.property{
interface CurrencyProp_S {
}
type CurrencyProp_ST = BasedataProp_S & CurrencyProp_S;
interface CurrencyProp_C extends CurrencyProp_ST {
new():CurrencyProp;
}
interface CurrencyProp$ {
}
type CurrencyProp_T = BasedataProp & CurrencyProp_S & CurrencyProp$;
interface CurrencyProp extends CurrencyProp_T {
}
interface TextAreaProp_S {
}
type TextAreaProp_ST = TextProp_S & TextAreaProp_S;
interface TextAreaProp_C extends TextAreaProp_ST {
new():TextAreaProp;
}
interface TextAreaProp$ {
}
type TextAreaProp_T = TextProp & TextAreaProp_S & TextAreaProp$;
interface TextAreaProp extends TextAreaProp_T {
}
interface BaseUnitqtyProp_S {
}
type BaseUnitqtyProp_ST = QtyProp_S & BaseUnitqtyProp_S;
interface BaseUnitqtyProp_C extends BaseUnitqtyProp_ST {
new():BaseUnitqtyProp;
}
interface BaseUnitqtyProp$ {
}
type BaseUnitqtyProp_T = QtyProp & BaseUnitqtyProp_S & BaseUnitqtyProp$;
interface BaseUnitqtyProp extends BaseUnitqtyProp_T {
}
interface BooleanProp_S {
}
type BooleanProp_ST = FieldProp_S & BooleanProp_S;
interface BooleanProp_C extends BooleanProp_ST {
/**
* 无参构造函数
*/
new():BooleanProp;
}
interface BooleanProp$ {
}
type BooleanProp_T = FieldProp & BooleanProp_S & BooleanProp$;
interface BooleanProp extends BooleanProp_T {
}
interface QtyProp_S {
}
type QtyProp_ST = DecimalProp_S & QtyProp_S;
interface QtyProp_C extends QtyProp_ST {
new():QtyProp;
}
interface QtyProp$ {
/**
* 获取关联物料标识
* @return
*/
getRelatedMaterielKey():string;
/**
* 获取字段relatedUnit的值
*
* @return relatedUnit的值
*/
getRelatedUnit():string;
/**
* 将参数relatedUnit的值赋给字段relatedUnit
*
* @param relatedUnit relatedUnit的值
*/
setRelatedUnit(relatedUnit:string):void;
}
type QtyProp_T = DecimalProp & QtyProp_S & QtyProp$;
interface QtyProp extends QtyProp_T {
}
interface DecimalProp_S {
}
type DecimalProp_ST = kd.bos.entity.validate.IScopeCheck_S & FieldProp_S & INumberPrecision_S & DecimalProp_S;
interface DecimalProp_C extends DecimalProp_ST {
/**
* 构造函数
*/
new():DecimalProp;
}
interface DecimalProp$ {
/**
* 获取精度控制字段属性名
* @return 精度控制字段属性名
*/
getControlPropName():string;
/**
* 获取原始数据范围设定
*
* @return 数值范围
*/
getDataScope():string;
/**
* 获取值范围:最大值
*
* @return
*/
getMax():$.java.math.BigDecimal;
/**
* 获取值范围:最小值
*
* @return
*/
getMin():$.java.math.BigDecimal;
/**
* 获取整体精度
* @return 数值的总位数:10位~38位
*/
getPrecision():number;
/**
* 舍入模式
*/
getRoundingMode():number;
/**
* 获取小数精度
* @return 数值的小数位数:0~20
*/
getScale():number;
/**
* 获取汇总至字段,将单据体字段汇总到单据头字段中
* @return 汇总至字段
*/
getSummaryToField():SummaryToField;
/**
* 获取范围是否包含边界值,如(1,100]包含100;而(1,100)则不包含100
* @return true or false
*/
isInclMax():boolean;
/**
* 获取范围是否包含边界值,如[1,100)包含1;而(1,100)则不包含1
* @return true or false
*/
isInclMin():boolean;
/**
* 获取是否用区域设置
* @return 是否用区域设置
*/
isUseRegion():boolean;
/**
* 判断两个值是否相等
* @param v1 值
* @param v2 值
* @return
*/
isValueEquals(v1:any,v2:any):boolean;
/**
* 设置精度控制字段属性名
* @param controlPropName 精度控制字段属性名
*/
setControlPropName(controlPropName:string):void;
/**
* 设置原始数据范围设定
* @param dataScope 数值范围
*/
setDataScope(dataScope:string):void;
/**
* 设置范围是否包含边界值,如(1,100]包含100;而(1,100)则不包含100
* @param inclMax
*/
setInclMax(inclMax:boolean):void;
/**
* 设置范围是否包含边界值,如[1,100)包含1;而(1,100)则不包含1
* @param inclMin 范围是否包含边界值
*/
setInclMin(inclMin:boolean):void;
/**
* 设置值范围
* @param max 最大值
*/
setMax(max:$.java.math.BigDecimal):void;
/**
* 设置值范围
* @param min 最小值
*/
setMin(min:$.java.math.BigDecimal):void;
/**
* 设置整体精度
* @param precision 数值的总位数:10位~38位
*/
setPrecision(precision:number):void;
/**
* 设置小数精度
* @param scale 数值的小数位数:0~20
*/
setScale(scale:number):void;
/**
* 设置汇总至字段,将单据体字段汇总到单据头字段中
* @param summaryToField 汇总至字段
*/
setSummaryToField(summaryToField:SummaryToField):void;
/**
* 设置是否用区域设置
* @param useRegion 用区域设置
*/
setUseRegion(useRegion:boolean):void;
}
type DecimalProp_T = FieldProp & kd.bos.entity.validate.IScopeCheck & INumberPrecision & DecimalProp_S & DecimalProp$;
interface DecimalProp extends DecimalProp_T {
}
interface FieldProp_S {
}
type FieldProp_ST = IFieldSeq_S & ICompareTypeConfig_S & $.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty & IFieldRuleHandle_S & IFieldHandle_S & kd.bos.entity.validate.IValidatorHanlder_S & FieldProp_S;
interface FieldProp_C extends FieldProp_ST {
new():FieldProp;
}
interface FieldProp$ {
/**
* 获取列表字段元素,用于设计器根据字段动态列表列创建
*
* @param entityTreeNode 实体树
*/
createEntityTreeNode(entityTreeNode:EntityTreeNode):$.java.util.Map;
/**
* 获取前端控件类型
* 基础资料 : basedata 多选基础资料:mulbasedata 组织:org 用户:user 下拉列表:combo
* 多选下拉列表:mulcombo 复选框:checkbox 文本:text 多行文本:textarea 大文本:largeText 日期:date
* 日期范围:daterange 长日期:datetime 数字:number 弹性域字段:flexfield 城市:city
* 多语言文本:localeText 图片:picture 密码:passwordbox 操作列:operate 合并列:combinedField
* 其他:other(不给的时候)
*/
getClientType():string;
/**
* 获取是否集团控制
*
* @return
*/
isGroupControl():boolean;
/**
* 获取是否必录字段
*
* @return 是否必录
*/
isMustInput():boolean;
/**
* 获取是否显示为零
*
* @return 是否显示为零
*/
isZeroShow():boolean;
/**
* 设置默认值(基础版),仅支持常量、变量
*
* @param defValue 默认值(基础版)
*/
setDefValue(defValue:any):void;
/**
* 设置默认值(高级版),支持函数、计算公式等
*
* @param defValue2 默认值(高级版)
*/
setDefValue2(defValue2:FieldDefValue):void;
/**
* 设置是否必录字段
*
* @param mustInput 是否必录
*/
setMustInput(mustInput:boolean):void;
/**
* 是否系统属性,如内码、基础资料引用Id,多语言对应内部字段
*
* @param value 是否系统属性
*/
setSysField(value:boolean):void;
/**
* 设置是否显示为零
*
* @param zeroShow 是否显示为零
*/
setZeroShow(zeroShow:boolean):void;
}
type FieldProp_T = $.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty & IFieldHandle & kd.bos.entity.validate.IValidatorHanlder & ICompareTypeConfig & IFieldSeq & IFieldRuleHandle & FieldProp_S & FieldProp$;
interface FieldProp extends FieldProp_T {
}
interface BillStatusProp$StatusItemPro_S {
}
type BillStatusProp$StatusItemPro_ST = $.java.io.Serializable & BillStatusProp$StatusItemPro_S;
interface BillStatusProp$StatusItemPro_C extends BillStatusProp$StatusItemPro_ST {
new():BillStatusProp$StatusItemPro;
}
interface BillStatusProp$StatusItemPro$ {
getClearOperationKey():boolean;
getOperationDateKey():string;
getOperationerKey():string;
getStatusKey():string;
getStatusName():$.kd.bos.dataentity.entity.LocaleString;
setClearOperationKey(arg0:boolean):void;
setOperationDateKey(arg0:string):void;
setOperationerKey(arg0:string):void;
setStatusKey(arg0:string):void;
setStatusName(arg0:$.kd.bos.dataentity.entity.LocaleString):void;
}
type BillStatusProp$StatusItemPro_T = $.java.io.Serializable & BillStatusProp$StatusItemPro_S & BillStatusProp$StatusItemPro$;
interface BillStatusProp$StatusItemPro extends BillStatusProp$StatusItemPro_T {
}
interface FieldRuleArgs_S {
}
interface FieldRuleArgs_C extends FieldRuleArgs_S {
new():FieldRuleArgs;
new(source:string,triggerProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,raiseEventType:kd.bos.entity.datamodel.RaiseEventType,billStatus:any):FieldRuleArgs;
}
interface FieldRuleArgs$ {
getObject():any;
getRaiseEventType():kd.bos.entity.datamodel.RaiseEventType;
getSource():string;
getTriggerProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
setObject(object_arg:any):void;
setRaiseEventType(raiseEventType:kd.bos.entity.datamodel.RaiseEventType):void;
setSource(source:string):void;
setTriggerProperty(triggerProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
}
type FieldRuleArgs_T = FieldRuleArgs_S & FieldRuleArgs$;
interface FieldRuleArgs extends FieldRuleArgs_T {
}
interface AddressProp_S {
}
type AddressProp_ST = BasedataProp_S & AddressProp_S;
interface AddressProp_C extends AddressProp_ST {
new():AddressProp;
}
interface AddressProp$ {
/**
* 获取区域字段
* @return
*/
getZoneField():string;
/**
* 设置区域字段
* @param zoneField
*/
setZoneField(zoneField:string):void;
}
type AddressProp_T = BasedataProp & AddressProp_S & AddressProp$;
interface AddressProp extends AddressProp_T {
}
interface EntryProp_S {
}
type EntryProp_ST = $.kd.bos.dataentity.metadata.dynamicobject.DynamicCollectionProperty & kd.bos.entity.validate.IValidatorHanlder_S & EntryProp_S;
interface EntryProp_C extends EntryProp_ST {
/**
* 构造函数
*/
new():EntryProp;
/**
* 构造函数
* @param name 名称
* @param dynamicItemPropertyType 实体类型
*/
new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):EntryProp;
}
interface EntryProp$ {
/**
* 获取分录在新建时缺省的行数
* @return 缺省行数(0~100)
*/
getDefaultRows():number;
/**
* 获取分录行数据
* @param entity 数据包
* @param index 行号
* @return 分录行数据
*/
getItem(entity:$.kd.bos.dataentity.entity.DynamicObject,index:number):any;
/**
* 获取配置分录的关键字段,用于表明分录行录入的有效性
* @return 关键字段
*/
getKeyFieldId():string;
/**
* 获取分录必录条件
* @return
*/
getMustInputCondition():string;
/**
* 设置分录在新建时缺省的行数
* @param defaultRows 缺省行数(0~100)
*/
setDefaultRows(defaultRows:number):void;
/**
* 设置分录是否必录
* @param entryMustInput 是否必录
*/
setEntryMustInput(entryMustInput:boolean):void;
/**
* 设置分录行数据
* @param entity 数据包
* @param index 行号
* @param entry 分录数据包
*/
setItem(entity:$.kd.bos.dataentity.entity.DynamicObject,index:number,entry:$.kd.bos.dataentity.entity.DynamicObject):void;
/**
* 设置分录的关键字段,用于表明分录行录入的有效性
* @param keyFieldId 关键字段
*/
setKeyFieldId(keyFieldId:string):void;
/**
* 设置分录必录条件
* @param mustInputCondition
*/
setMustInputCondition(mustInputCondition:string):void;
}
type EntryProp_T = $.kd.bos.dataentity.metadata.dynamicobject.DynamicCollectionProperty & kd.bos.entity.validate.IValidatorHanlder & EntryProp_S & EntryProp$;
interface EntryProp extends EntryProp_T {
}
interface CtLinkEntryProp_S {
}
type CtLinkEntryProp_ST = EntryProp_S & CtLinkEntryProp_S;
interface CtLinkEntryProp_C extends CtLinkEntryProp_ST {
/**
* 反序列化要求有没有参数的构造函数*
*/
new():CtLinkEntryProp;
/**
* 构造函数
* @param name 元素对应的Key
* @param dynamicItemPropertyType 实体类型
*/
new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):CtLinkEntryProp;
}
interface CtLinkEntryProp$ {
}
type CtLinkEntryProp_T = EntryProp & CtLinkEntryProp_S & CtLinkEntryProp$;
interface CtLinkEntryProp extends CtLinkEntryProp_T {
}
interface ExchangeRateProp_S {
}
type ExchangeRateProp_ST = DecimalProp_S & ExchangeRateProp_S;
interface ExchangeRateProp_C extends ExchangeRateProp_ST {
new():ExchangeRateProp;
}
interface ExchangeRateProp$ {
/**
* 获取精度,这里的精度可能来自控制字段,处理起来比较复杂
*
* @param model 数据模型
* @param dataEntity 数据包
* @return
*/
getEnsureScale(model:kd.bos.entity.datamodel.IDataModel,dataEntity:any):number;
/**
* 获取原币
* @return
*/
getOriginalCurrencyFieldKey():string;
/**
* 获取目标币
* @return
*/
getTargetCurrencyFieldKey():string;
/**
* 设置原币
* @param originalCurrencyFieldKey
*/
setOriginalCurrencyFieldKey(originalCurrencyFieldKey:string):void;
/**
* 设置目标币
* @param targetCurrencyFieldKey
*/
setTargetCurrencyFieldKey(targetCurrencyFieldKey:string):void;
}
type ExchangeRateProp_T = DecimalProp & ExchangeRateProp_S & ExchangeRateProp$;
interface ExchangeRateProp extends ExchangeRateProp_T {
}
interface IBasedataField_S {
getFilterBuilder(model:kd.bos.entity.datamodel.IDataModel,dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition):kd.bos.entity.filter.FilterBuilder;
}
interface IBasedataField$ {
/**
* 将基础资料上配置的过滤条件解析为QFilter
*
* @param model
* @return FilterBuilder
*/
buildCoreFilter?(model:kd.bos.entity.datamodel.IDataModel):kd.bos.entity.filter.FilterBuilder;
/**
* 将基础资料上配置的过滤条件解析为QFilter
*
* @param model
* @return QFilter
*/
buildCoreFilterByString?(model:kd.bos.entity.datamodel.IDataModel):$.java.util.List;
/**
* 根据主业务组织获取到受控基础资料的过滤条件
* @param model 数据模型
* @param entityId 实体标识
* @return
*/
getBaseDataControlOrgQFilter(model:kd.bos.entity.datamodel.IDataModel,entityId:string):$.kd.bos.orm.query.QFilter;
/**
* 根据主业务组织、当前数据id 获取到受控基础资料的精确过滤条件
* 避免调用getBaseDataFilter接口生成大量临时表
* @param model 数据模型
* @param entityId 实体标识
* @param customFilter 当前数据id过滤条件
* @return
*/
getBaseDataControlOrgQFilter(model:kd.bos.entity.datamodel.IDataModel,entityId:string,customFilter:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
/**
* 获取基础资料的标识
* @return 基础资料的标识
*/
getBaseEntityId():string;
/**
* 获取基础资料的标识
*
* @param model 数据模型
* @return 基础资料的标识
*/
getBaseEntityId(model:kd.bos.entity.datamodel.IDataModel):string;
/**
* 获取前端的控件类型,这个方法从BaseDataProp 移过来,以为要支持多选基础资料
*
* @param refPropKey 引用属性
* @return
*/
getClientType?(refPropKey:string):string;
/**
* 获取基础资料主实体
* @return
*/
getComplexType?():$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 获取显示字段
* @return 显示字段
*/
getDispProp?():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取基础资料显示属性
* @return 显示属性
*/
getDisplayProp?():string;
getF7InnerFilters(formId:string,entityId:string):$.java.util.List;
getF7InnerFilters(appId:string,formId:string,entityId:string,isList:boolean):$.java.util.List;
/**
* 获取基础资料条件
* @param model 数据模型
* @return
*/
getFilterCondition?(model:kd.bos.entity.datamodel.IDataModel):$.kd.bos.entity.filter.FilterCondition;
/**
* 获取基础资料字段名称
* @return 名称
*/
getName?():string;
/**
* 获取基础资料编码字段标识
* @return 编码字段标识
*/
getNumberProp?():string;
/**
* 获取组织字段
* @return
*/
getOrgProp():string;
/**
* 获取是否只显示启用
*
* @return true
*/
isShowUsed?():boolean;
}
type IBasedataField_T = IFieldHandle & IBasedataField_S & IBasedataField$;
interface IBasedataField extends IBasedataField_T {
}
interface BigIntProp_S {
}
type BigIntProp_ST = IntegerProp_S & BigIntProp_S;
interface BigIntProp_C extends BigIntProp_ST {
new():BigIntProp;
}
interface BigIntProp$ {
}
type BigIntProp_T = IntegerProp & BigIntProp_S & BigIntProp$;
interface BigIntProp extends BigIntProp_T {
}
interface BasedataProp_S {
}
type BasedataProp_ST = ICompareTypeConfig_S & $.kd.bos.dataentity.metadata.dynamicobject.DynamicComplexProperty & IBasedataField_S & IFieldRuleHandle_S & kd.bos.entity.validate.IValidatorHanlder_S & BasedataProp_S;
interface BasedataProp_C extends BasedataProp_ST {
/**
* 构造函数
*/
new():BasedataProp;
}
interface BasedataProp$ {
/**
* 添加基础资料控制的字段
*
* @param prop 实体属性
*/
addRelationControlledProp(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
/**
* 对传入的pkValue进行类型转换,输出基础资料主键类型值
*
* @param refType 基础资料实体类型
* @param pkValue 主键值
*/
convertPKValueType(refType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,pkValue:any):any;
/**
* 创建基础资料主键实体属性
*
* @return
*/
createRefIDProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty;
/**
* 生成基础资料显示数据包
*
* @param v 基础资料数据包
* @param displayProp 显示的属性名,通常是名称(name)
* @return 返回数组,第一个值是编码,第二个值是名称,第三个值是编辑显示属性,第四个是长编码,第五个是长名称
*/
getBindingBasedataValue(v:any,displayProp:string):any;
/**
* 获取基础资料字段显示属性值
*
* @param basedataObj 基础资料数据
* @return 显示属性值
*/
getDisplayValue(basedataObj:any):string;
/**
* 获取基础资料编辑显示属性
*
* @return 编辑显示属性
*/
getEditSearchProp():string;
/**
* 获取弹性域属性标识
*
* @return
*/
getFlexPropertyKey():string;
/**
* 获取布局ID
*
* @return
*/
getLayoutId():string;
/**
* 获取基础资料编码字段
*
* @return 编码字段
*/
getNumbProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取关联的基础资料内码实体属性
*
* 基础资料字段,在实体上会注册两个属性对象:
* 1. 基础资料属性对象:复合型,存储基础资料数据包
* 2. 基础资料内码属性对象:长整型,存储基础资料数据内码
*
* @return
*/
getRefIdProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取基础资料控制的字段
*
* @return
*/
getRelationControlledProp():$.java.util.List;
/**
* 比较两个基础资料字段,是否关联了相同的主资料:如果关联了相同的主资料,数据可以互相转换
*
* @param otherProp
* @return
*/
isFromSampleMaster(otherProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
/**
* 是否集团控制
*
* @return 返回true是集团控制
*/
isGroupControl():boolean;
/**
* 执行基础资料数据删除操作时,不检查本单有没有引用被删的数据(暂时没有在设计器放开属性配置,可以直接修改XML设置值)
*
* @return
*/
isIgnoreRefCheck():boolean;
/**
* 是否必录
*/
isMustInput():boolean;
/**
* 设置绑定基础资料标识
*
* @param baseEntityName 绑定基础资料标识
*/
setBaseEntityId(baseEntityName:string):void;
/**
* 设置基础资料默认值配置
*
* @param defValue 默认值配置
*/
setDefValue(defValue:string):void;
/**
* 设置基础资料默认值配置
*
* @param defValue2 默认值配置
*/
setDefValue2(defValue2:FieldDefValue):void;
/**
* 设置基础资料显示属性
*
* @param displayProp 显示属性
*/
setDisplayProp(displayProp:string):void;
/**
* 设置基础资料编辑显示属性
*
* @param editSearchProp 编辑显示属性
*/
setEditSearchProp(editSearchProp:string):void;
/**
* 设置基础资料数据删除操作时,不检查本单有没有引用被删的数据(暂时没有在设计器放开属性配置,可以直接修改XML设置值)
*
* @return
*/
setIgnoreRefCheck(ignoreRefCheck:boolean):void;
/**
* 设置布局ID
*
* @param layoutId 布局ID
*/
setLayoutId(layoutId:string):void;
/**
* 获取基础资料是否必录
*
* @param mustInput 是否必录
*/
setMustInput(mustInput:boolean):void;
/**
* 设置基础资料编码字段
*
* @param numberProp 编码字段
*/
setNumberProp(numberProp:string):void;
/**
* 设置基础资料对应使用组织的属性名
*
* @param orgProp 组织的属性名
*/
setOrgProp(orgProp:string):void;
/**
* 设置关联的基础资料内码实体属性
*
* @param refIdProp 基础资料内码字段
*/
setRefIdProp(refIdProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
/**
* 设置是否只显示启用
*
* @param isShowUsed 只显示启用
*/
setShowUsed(isShowUsed:boolean):void;
}
type BasedataProp_T = $.kd.bos.dataentity.metadata.dynamicobject.DynamicComplexProperty & kd.bos.entity.validate.IValidatorHanlder & IBasedataField & ICompareTypeConfig & IFieldRuleHandle & BasedataProp_S & BasedataProp$;
interface BasedataProp extends BasedataProp_T {
}
interface BillStatusProp_S {
}
type BillStatusProp_ST = ComboProp_S & BillStatusProp_S;
interface BillStatusProp_C extends BillStatusProp_ST {
new():BillStatusProp;
}
interface BillStatusProp$ {
/**
* 根据状态标识获取单据状态信息
* @param statusKey
* @return
*/
getStatusItem(statusKey:string):BillStatusProp$StatusItemPro;
/**
* 获取单据状态值集合
* @return
*/
getStatusItems():$.java.util.List;
/**
* 设置单据状态值集合
* @param statusItems 状态集合
*/
setStatusItems(statusItems:$.java.util.List):void;
}
type BillStatusProp_T = ComboProp & BillStatusProp_S & BillStatusProp$;
interface BillStatusProp extends BillStatusProp_T {
}
interface CityProp_S {
}
type CityProp_ST = BasedataProp_S & CityProp_S;
interface CityProp_C extends CityProp_ST {
new():CityProp;
}
interface CityProp$ {
}
type CityProp_T = BasedataProp & CityProp_S & CityProp$;
interface CityProp extends CityProp_T {
}
interface IFieldSeq_S {
}
interface IFieldSeq$ {
/**
* 执行顺序:同一实体中,各个字段的执行顺序是不一样的,必须先执行主组织、组织、多类别类型字段、基础资料字段、普通字段、数值字段、多类别基础资料、
* 弹性域、单据体
*
* @return
*/
getFieldSeq():number;
}
type IFieldSeq_T = IFieldSeq_S & IFieldSeq$;
interface IFieldSeq extends IFieldSeq_T {
}
interface PriceProp_S {
}
type PriceProp_ST = AmountProp_S & PriceProp_S;
interface PriceProp_C extends PriceProp_ST {
new():PriceProp;
}
interface PriceProp$ {
}
type PriceProp_T = AmountProp & PriceProp_S & PriceProp$;
interface PriceProp extends PriceProp_T {
}
interface EntityTreeNode_S {
}
interface EntityTreeNode_C extends EntityTreeNode_S {
/**
* 构造函数
*/
new():EntityTreeNode;
/**
* 构造函数
*
* @param key 节点标识
* @param name 节点名称
*/
new(key:string,name:string):EntityTreeNode;
/**
* 构造函数
*
* @param key 节点标识
* @param name 节点名称
* @param isEntry 是否分录字段
*/
new(key:string,name:string,isEntry:boolean):EntityTreeNode;
/**
* 构造函数
*
* @param key 节点标识
* @param name 节点名称
* @param parentKey 父节点标识
* @param parentName 父节点名称
*/
new(key:string,name:string,parentKey:string,parentName:string):EntityTreeNode;
/**
* 构造函数
*
* @param key 节点标识
* @param name 节点名称
* @param isEntry 是否分录字段
* @param isBaseData 是否基础资料
* @param basedataTypeEnum 基础资料类型
* @param level 期望生成的级别
* @param baseEntityId 基础资料实体ID
*/
new(key:string,name:string,isEntry:boolean,isBaseData:boolean,basedataTypeEnum:BasedataTypeEnum,level:number,baseEntityId:string):EntityTreeNode;
/**
* 构造函数
*
* @param key 节点标识
* @param name 节点名称
* @param parentKey 父节点标识
* @param parentName 父节点名称
* @param isEntry 是否分录字段
* @param isBaseData 是否基础资料
* @param basedataTypeEnum 基础资料类型
* @param baseEntityId 基础资料实体ID
*/
new(key:string,name:string,parentKey:string,parentName:string,isEntry:boolean,isBaseData:boolean,basedataTypeEnum:BasedataTypeEnum,baseEntityId:string):EntityTreeNode;
}
interface EntityTreeNode$ {
/**
* 获取基础资料实体ID
* @return 基础资料实体ID
*/
getBaseEntityId():string;
/**
* 获取基础资料类型
* @return
*/
getBasedataTypeEnum():BasedataTypeEnum;
/**
* 获取节点标识
* @return 节点标识
*/
getKey():string;
/**
* 获取级次
* @return 期望生成的级别
*/
getLevel():number;
/**
* 获取节点名称
* @return 节点名称
*/
getName():string;
/**
* 获取父节点标识
* @return 父节点标识
*/
getParentKey():string;
/**
* 获取父节点名称
* @return 父节点名称
*/
getParentName():string;
/**
* 获取节点标识
* @return 父节点标识.节点标识
*/
getTreeNodeKey():string;
/**
* 获取节点名称
* @return 父节点名称.节点名称
*/
getTreeNodeName():string;
/**
* 获取是否为基础资料
* @return 是否为基础资料结点
*/
isBaseData():boolean;
/**
* 获取是否为分录字段
* @return 是否为分录
*/
isEntry():boolean;
/**
* 获取数物理字段是否为空
* @return
*/
isFieldPropAliasEmpty():boolean;
/**
* 设置物理字段是否为空
* @param isFieldPropAliasEmpty 物理字段是否为空
*/
setFieldPropAliasEmpty(isFieldPropAliasEmpty:boolean):void;
}
type EntityTreeNode_T = EntityTreeNode_S & EntityTreeNode$;
interface EntityTreeNode extends EntityTreeNode_T {
}
interface AdminDivisionProp_S {
}
type AdminDivisionProp_ST = FieldProp_S & AdminDivisionProp_S;
interface AdminDivisionProp_C extends AdminDivisionProp_ST {
new():AdminDivisionProp;
}
interface AdminDivisionProp$ {
}
type AdminDivisionProp_T = FieldProp & AdminDivisionProp_S & AdminDivisionProp$;
interface AdminDivisionProp extends AdminDivisionProp_T {
}
interface PrintCountProp_S {
}
type PrintCountProp_ST = IntegerProp_S & PrintCountProp_S;
interface PrintCountProp_C extends PrintCountProp_ST {
new():PrintCountProp;
}
interface PrintCountProp$ {
getRecordModel():string;
setRecordModel(recordModel:string):void;
}
type PrintCountProp_T = IntegerProp & PrintCountProp_S & PrintCountProp$;
interface PrintCountProp extends PrintCountProp_T {
}
interface PKFieldProp_S {
}
type PKFieldProp_ST = FieldProp_S & PKFieldProp_S;
interface PKFieldProp_C extends PKFieldProp_ST {
/**
* 构造函数
*/
new():PKFieldProp;
/**
* 构造函数
* @param refId 数据主键
*/
new(refId:boolean):PKFieldProp;
}
interface PKFieldProp$ {
/**
* 随机生成一个不重复的内码值
* @return
*/
genPKValue():any;
}
type PKFieldProp_T = FieldProp & PKFieldProp_S & PKFieldProp$;
interface PKFieldProp extends PKFieldProp_T {
}
interface MainOrgProp_S {
readonly PARAMKEY_HASRIGHT:string;
}
type MainOrgProp_ST = OrgProp_S & MainOrgProp_S;
interface MainOrgProp_C extends MainOrgProp_ST {
/**
* 构造函数
*/
new():MainOrgProp;
}
interface MainOrgProp$ {
/**
* 计算当前场景下,主组织字段默认值;如果取不到,返回null
*
* @param model 数据模型
* @return
*/
calcDefaultValue(model:kd.bos.entity.datamodel.IDataModel):long;
/**
* 判断指定的组织,有没有权限作为本单主组织
*
* @param orgId 组织
* @param isBindingPerm 是否验权
* @param authOrgIds 已获授权新建单据的组织
* @return
*/
canBeMainOrg(orgId:long,isBindingPerm:boolean,authOrgIds:$.java.util.Set):boolean;
/**
* 获取权限过滤条件
*
* @param entityId 实体标识
* @param appId 应用ID
* @param permissionItem 权限项
* @return
*/
getPermissionFilter(entityId:string,appId:string,permissionItem:string):$.kd.bos.orm.query.QFilter;
}
type MainOrgProp_T = OrgProp & MainOrgProp_S & MainOrgProp$;
interface MainOrgProp extends MainOrgProp_T {
}
interface UserProp_S {
}
type UserProp_ST = BasedataProp_S & UserProp_S;
interface UserProp_C extends UserProp_ST {
/**
* 构造函数
*/
new():UserProp;
}
interface UserProp$ {
/**
* 获取用户字段的查询风格
*
* @return 查询风格 0(缺省)、1(树形+列表)、2(列表)、3(树形(受控)+列表)
*/
getF7Style():number;
/**
* 设置用户字段的查询风格
*
* @param f7Style 查询风格 0(缺省)、1(树形+列表)、2(列表)、3(树形(受控)+列表)
*/
setF7Style(f7Style:number):void;
}
type UserProp_T = BasedataProp & UserProp_S & UserProp$;
interface UserProp extends UserProp_T {
}
interface AmountProp_S {
readonly PrecisionPropName:string;
}
type AmountProp_ST = DecimalProp_S & AmountProp_S;
interface AmountProp_C extends AmountProp_ST {
new():AmountProp;
}
interface AmountProp$ {
}
type AmountProp_T = DecimalProp & AmountProp_S & AmountProp$;
interface AmountProp extends AmountProp_T {
}
interface CreateExtendFilterFieldsResult_S {
}
interface CreateExtendFilterFieldsResult_C extends CreateExtendFilterFieldsResult_S {
new():CreateExtendFilterFieldsResult;
}
interface CreateExtendFilterFieldsResult$ {
getFilterFields():$.java.util.List;
getRegisterPropertyListeners():$.java.util.List;
}
type CreateExtendFilterFieldsResult_T = CreateExtendFilterFieldsResult_S & CreateExtendFilterFieldsResult$;
interface CreateExtendFilterFieldsResult extends CreateExtendFilterFieldsResult_T {
}
interface DateTimeProp_S {
}
type DateTimeProp_ST = FieldProp_S & DateTimeProp_S;
interface DateTimeProp_C extends DateTimeProp_ST {
/**
* 构造函数
*/
new():DateTimeProp;
}
interface DateTimeProp$ {
/**
* 获取自定义格式化长日期
*
* @param dataEntity
* @param date
* @param dateFormat
* @return
*/
customFormat(dataEntity:any,date:Date,dateFormat:$.java.text.SimpleDateFormat):string;
/**
* 获取格式化长日期
*
* @param dataEntity 数据包
* @param date 日期
* @return
*/
format(dataEntity:any,date:Date):string;
/**
* 获取日期格式化信息
*
* @return
*/
getDateFormat():$.java.text.DateFormat;
/**
* 根据实际日期来获取日期格式化信息(最小单位为秒,或者毫秒)
*
* @return
*/
getDateFormat(date:string):$.java.text.DateFormat;
/**
* 获取格式化表达式,通过格式化表达式,控制数据的显示格式
*
* @return 格式化字符串
*/
getDisplayFormatString():string;
/**
* 获取掩码,用于前端控件展示格式
*
* @return
*/
getMask():string;
/**
* 获取最大值
*
* @return 日期最大值
*/
getMaxDate():Date;
/**
* 获取最小值
*
* @return 日期最小值
*/
getMinDate():Date;
/**
* 获取区域类型
*
* @return 1(短日期)or 2(长日期)
*/
getRegionType():number;
/**
* 获取关联日期范围的标识, 为空则代表没有相关日期范围关联
*
* @return 关联日期范围的标识
*/
getRelateDateTimeRange():string;
/**
* 获取关联组织,用户时区和组织时区依据关联组织格式化日期时间
*
* @return 关联组织
*/
getRelateOrg():string;
/**
* 根据组织获取时区转换方式
*
* @param orgId 组织ID
* @return
*/
getTimeZone(orgId:long):$.kd.bos.service.InteTimeZone;
/**
* 获取时区转换方式
*
* @return 0(服务器时区)、1(用户时区)、2(组织时区)
*/
getTimeZoneTransType():number;
/**
* 获取日期范围字段中是否是起始日期
*
* @return true or false
*/
isStartDateTimeRange():boolean;
/**
* 获取是否用区域设置
*
* @return
*/
isUseRegion():boolean;
/**
* 解析时间
*
* @param dataEntity 数据包
* @param date 时间字符串
* @return
* @throws ParseException
*/
parse(dataEntity:any,date:string):Date;
/**
* 设置格式化表达式
*
* @param displayFormatString 格式化字符串
*/
setDisplayFormatString(displayFormatString:string):void;
/**
* 设置掩码
*
* @param mask 掩码
*/
setMask(mask:string):void;
/**
* 设置最大值
*
* @param max 日期最大值
*/
setMaxDate(max:Date):void;
/**
* 设置最小值
*
* @param min 日期最小值
*/
setMinDate(min:Date):void;
/**
* 设置区域类型
*
* @param regionType 1(短日期)or 2(长日期)
*/
setRegionType(regionType:number):void;
/**
* 设置关联日期范围的标识, 为空则代表没有相关日期范围关联
*
* @param relateDateTimeRange 关联日期范围的标识
*/
setRelateDateTimeRange(relateDateTimeRange:string):void;
/**
* 设置关联组织,用户时区和组织时区依据关联组织格式化日期时间
*
* @param relateOrg 关联组织
*/
setRelateOrg(relateOrg:string):void;
/**
* 设置日期范围字段中是否是起始日期
*
* @param startDateTimeRange 是否是起始日期
*/
setStartDateTimeRange(startDateTimeRange:boolean):void;
/**
* 设置时区转换方式
*
* @param timeZoneTransType 时区转换
* 0(服务器时区)、1(用户时区)、2(组织时区)
*/
setTimeZoneTransType(timeZoneTransType:number):void;
/**
* 设置是否用区域设置
*
* @param useRegion 用区域设置
*/
setUseRegion(useRegion:boolean):void;
}
type DateTimeProp_T = FieldProp & DateTimeProp_S & DateTimeProp$;
interface DateTimeProp extends DateTimeProp_T {
}
interface BizBasedataProp_S {
}
type BizBasedataProp_ST = BasedataProp_S & BizBasedataProp_S;
interface BizBasedataProp_C extends BizBasedataProp_ST {
new():BizBasedataProp;
}
interface BizBasedataProp$ {
/**
* 获取主资料字段
*
* 从关联的业务资料实体中,查找其内含的主资料字段
*
* @return 主资料字段
*/
getMasterIdProp():MasterBasedataProp;
}
type BizBasedataProp_T = BasedataProp & BizBasedataProp_S & BizBasedataProp$;
interface BizBasedataProp extends BizBasedataProp_T {
}
interface IFieldHandle_S {
/**
* 输出字段的默认值,基础版,传入的参数不够,只能进行变量运算
*
* @param defaultValueCalculator 默认值解析器:据此解析字段的默认值配置;
* 如果传入null,则在内部自动创建DefaultValueCalculator实例
* @param fieldProp 字段属性对象
* @return
*/
getFieldDefaultValue(defaultValueCalculator:kd.bos.entity.datamodel.DefaultValueCalculator,fieldProp:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):any;
/**
* 输出字段的默认值,高级版,可以进行函数、公式计算
*
* @param model 数据模型,如果传null,不能进行含字段变量的公式运算
* @param dataEntity 字段当前行数据包
* @param defaultValueCalculator 默认值解析器:据此解析字段的默认值配置;
* 如果传入null,则在内部自动创建DefaultValueCalculator实例
* @param fieldProp 字段属性对象
* @return
*/
getFieldDefaultValue2(model:kd.bos.entity.datamodel.IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,defaultValueCalculator:kd.bos.entity.datamodel.DefaultValueCalculator,fieldProp:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):any;
}
interface IFieldHandle$ {
/**
* 根据不同字段类型来调整字段列的某些属性,在创建过滤字段后被调用
*
* @param column 列字典
* @param param 列参数
*/
afterCreateFilterColumn?(column:$.java.util.Map,param:kd.bos.entity.filter.ColumnParam):void;
/**
* 设置该字段默认值
*
* @param dataEntity 数据包
*/
applyDefaultValue(model:kd.bos.entity.datamodel.IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowIndex:number):void;
/**
* 基于运行时字段元数据,构建解析字段
*
* @param mainType 基础资料主实体
* @param propName 字段名称
* @return
*/
createAnalysisField(mainType:MainEntityType,propName:string):kd.bos.entity.qing.AnalysisField;
/**
* 基于运行时字段元数据,构建过滤字段
*
* @param mainType 主实体
*/
createAnalysisFields?(mainType:MainEntityType):$.java.util.List;
/**
* 获取列表字段元素,用于设计器根据字段动态列表列创建
* @param entityTreeNode 实体树
* @param isAllNode 是否所有节点
* @return
*/
createEntityTreeNodes(entityTreeNode:EntityTreeNode,isAllNode:boolean):$.java.util.List;
/**
* 基于运行时字段元数据,构建过滤字段
* @param mainType 主实体
* @param propName 字段名称
*/
createFilterField(mainType:MainEntityType,propName:string):kd.bos.entity.filter.FilterField;
/**
* 基于运行时字段元数据,构建过滤字段
*
* @return
* @remark 基础资料等字段,需要支持多个维度(编码、名称)过滤,生成多个过滤字段;
* 使用场景:
* 过滤表格控件,需要根据单据运行时元数据,遍历全部字段,生成可选的过滤字段列表
*/
createFilterFields?(mainType:MainEntityType):$.java.util.List;
/**
* 获取基础资料属性在界面上展示的值
*
* @param basedataObj 基础资料的动态对象
* @return 基础资料属性在界面上展示的值
*/
getBasePropDisplayValue?(basedataObj:any):any;
/**
* 获取默认比较符组标识
*
* @return 默认比较符组标识
*/
getCompareGroupID():string;
/**
* 获取字段比较符集合
*
* @return 字段比较符集合
*/
getCompareTypes():$.java.util.List;
/**
* 获取数据库字段类型
* @return
*/
getDbType():number;
/**
* 字段默认值配置,默认返回为null,即未配置默认值
*
* @return
* @remark 本方法与getDefaultValue()有差别:取数据类型的默认值,如Integer类型的默认值为0
* 本属性,返回的用户在设计器中设置的默认值,可能是常量,也可能是变量;
* 未配置默认值时,返回null
*/
getDefValue?():any;
/**
* 进阶版字段默认值配置,适用于复杂默认值取值类型,默认返回null。
*
* @return
* @remark getDefValue2与getDefValue的差别:
* 1. getDefValue 定义早些,考虑的比较简单,用于设置常量型、变量型默认值问题不大,但要用于设置函数型、公式型默认值时,就有点麻烦
* 2. getDefValue2 定义晚些,把默认值进行分类,通过不同的参数记录不同类型默认值设置值,便于运行时解析;
* 3. 为了兼容,默认getDefValue2为null,系统还是走getDefValue取默认值设置
* 4. 暂时只有少数字段(长日期),会输出getDefValue2属性值;后续根据需要推广到其他字段
*/
getDefValue2?():FieldDefValue;
/**
* 获取默认比较符(单个值)
*
* @return 默认比较符(单个值)
*/
getDefaultCompareTypeId():string;
/**
* 获取默认比较符(多个值)
*
* @return 默认比较符(多个值)
*/
getDefaultMultiCompareTypeId():string;
/**
* 获取字段名称
*
* @return
*/
getDisplayName():$.kd.bos.dataentity.entity.LocaleString;
/**
* 获取字段的功能控制
*
* @return
*/
getFeatures?():number;
/**
* @return 过滤控件类型
*/
getFilterControlType():string;
/**
* 获取该属性对应列字段对应的格式化对象
*
* @param col 列表列字段
* @return 格式化信息
*/
getListColumnDesc(col:kd.bos.entity.datamodel.ListField):kd.bos.entity.list.column.AbstractColumnDesc;
getPkPropCompareTypeIds?():$.java.util.List;
getSearchCompareTypeIds?():$.java.util.List;
/**
* 允许凭证生成
*
* @return
*/
isAllowvoucher?():boolean;
/**
* 是否能用于分析字段
*
* @return
*/
isAnalysisField?():boolean;
/**
* 允许批量修改
*
* @return
*/
isBulkEditable?():boolean;
/**
* 允许单据转换携带
*
* @return
*/
isConvertTote?():boolean;
/**
* 允许复制
*
* @return
*/
isCopyable?():boolean;
/**
* 允许引出
*
* @return
*/
isExportable?():boolean;
/**
* F7批量填充分录空白行
*
* @return
*/
isF7BatchFill?():boolean;
/**
* 允许引入
*
* @return
*/
isImportable?():boolean;
/**
* 允许批量填充
*
* @return
*/
isMultiFillable?():boolean;
/**
* 连续新增
*
* @return
*/
isSeriesNewTote?():boolean;
/**
* 设置字段是否支持轻分析
*
* @return 是否支持轻分析
*/
isSupportQingAnalysis?():boolean;
/**
* 是否系统属性,如内码、基础资料引用Id,多语言对应内部字段
*/
isSysField():boolean;
/**
* 设置默认比较符组标识
*
* @param compareGroupID 默认比较符组标识
*/
setCompareGroupID(compareGroupID:string):void;
/**
* 设置默认比较符(单个值)
*
* @param defaultCompareTypeId 默认比较符(单个值)
*/
setDefaultCompareTypeId(defaultCompareTypeId:string):void;
/**
* 设置默认比较符(多个值)
*
* @param defaultMultiCompareTypeId 默认比较符(多个值)
*/
setDefaultMultiCompareTypeId(defaultMultiCompareTypeId:string):void;
/**
* 设置字段的功能控制
* @param features 功能控制
*/
setFeatures?(features:number):void;
/**
* 设置字段值
*
* @param model 数据模型
* @param dataEntity 需改动字段值的数据包
* @param Value 字段值
*/
setFieldValue(model:kd.bos.entity.datamodel.IDataModel,dataEntity:any,Value:any):void;
/**
* 设WebApi上传数据时设置字段的值,特殊的字段需要值转换进行重载,缺省实现和 setFieldValue一致
*
* @param model 数据模型
* @param dataEntity 需改动字段值的数据包
* @param value 字段值
* @param checkImportable 是否检查字段"功能控制 -是否允许导入"选项
*/
setFieldValueForWebApi?(model:kd.bos.entity.datamodel.IDataModel,dataEntity:any,value:any,checkImportable:boolean):void;
/**
* 设置过滤控件类型
* @param filterControlType 过滤控件类型
*/
setFilterControlType(filterControlType:string):void;
/**
* 设置集团管控
*/
setGroupControl?(groupControl:boolean):void;
/**
* 字段是否支持轻分析
*
* @param supportQingAnalysis 支持轻分析
*/
setSupportQingAnalysis?(supportQingAnalysis:boolean):void;
}
type IFieldHandle_T = IFieldHandle_S & IFieldHandle$;
interface IFieldHandle extends IFieldHandle_T {
}
interface CreatedByIdProp_S {
}
type CreatedByIdProp_ST = $.kd.bos.dataentity.metadata.ICreatedByProperty & LongProp_S & CreatedByIdProp_S;
interface CreatedByIdProp_C extends CreatedByIdProp_ST {
/**
* 构造函数
*/
new():CreatedByIdProp;
/**
* 构造函数
*
* @param isrefId
*/
new(isrefId:boolean):CreatedByIdProp;
}
interface CreatedByIdProp$ {
}
type CreatedByIdProp_T = LongProp & $.kd.bos.dataentity.metadata.ICreatedByProperty & CreatedByIdProp_S & CreatedByIdProp$;
interface CreatedByIdProp extends CreatedByIdProp_T {
}
interface CreaterProp_S {
}
type CreaterProp_ST = UserProp_S & CreaterProp_S;
interface CreaterProp_C extends CreaterProp_ST {
new():CreaterProp;
}
interface CreaterProp$ {
}
type CreaterProp_T = UserProp & CreaterProp_S & CreaterProp$;
interface CreaterProp extends CreaterProp_T {
}
interface OrgProp_S {
}
type OrgProp_ST = IFieldSeq_S & BasedataProp_S & OrgProp_S;
interface OrgProp_C extends OrgProp_ST {
/**
* 构造函数
*/
new():OrgProp;
}
interface OrgProp$ {
/**
* 获取业务组织过滤条件
*
* @return
*/
getBizOrgFilter():$.kd.bos.orm.query.QFilter;
/**
* 获取组织字段的查询风格
*
* @return 查询风格 0(缺省)、1(树形+列表)、2(列表)、3(树形(受控)+列表)
*/
getF7Style():number;
/**
* 获取组织职能
*
* @return 组织职能
*/
getOrgFunc():string;
/**
* 获取组织字段的委托关系属性
*
* @return 委托关系
*/
getOrgRelation():$.java.util.List;
/**
* 获取组织视图方案属性
*
* @return 视图方案
*/
getOrgViewScheme():kd.bos.entity.property.org.OrgViewSchemeProp;
/**
* 获取显示表单的参数
*
* @return Map
*/
getShowFormCustomParams():$.java.util.Map;
/**
* 设置组织字段的查询风格
*
* @param f7Style 查询风格 0(缺省)、1(树形+列表)、2(列表)、3(树形(受控)+列表)
*/
setF7Style(f7Style:number):void;
/**
* 设置组织职能
*
* @param orgFunc 组织职能
*/
setOrgFunc(orgFunc:string):void;
/**
* 设置组织字段的委托关系属性
*
* @param orgRelation 委托关系
*/
setOrgRelation(orgRelation:$.java.util.List):void;
/**
* 设置组织视图方案属性
* @param orgViewScheme 视图方案
*/
setOrgViewScheme(orgViewScheme:kd.bos.entity.property.org.OrgViewSchemeProp):void;
}
type OrgProp_T = BasedataProp & IFieldSeq & OrgProp_S & OrgProp$;
interface OrgProp extends OrgProp_T {
}
interface IntegerProp_S {
}
type IntegerProp_ST = DecimalProp_S & IntegerProp_S;
interface IntegerProp_C extends IntegerProp_ST {
/**
* 构造函数
*/
new():IntegerProp;
}
interface IntegerProp$ {
}
type IntegerProp_T = DecimalProp & IntegerProp_S & IntegerProp$;
interface IntegerProp extends IntegerProp_T {
}
interface LongProp_S {
}
type LongProp_ST = PKFieldProp_S & LongProp_S;
interface LongProp_C extends LongProp_ST {
/**
* 构造函数
*/
new():LongProp;
/**
* 构造函数
* @param isrefId
*/
new(isrefId:boolean):LongProp;
}
interface LongProp$ {
}
type LongProp_T = PKFieldProp & LongProp_S & LongProp$;
interface LongProp extends LongProp_T {
}
interface SubEntryProp_S {
}
type SubEntryProp_ST = EntryProp_S & SubEntryProp_S;
interface SubEntryProp_C extends SubEntryProp_ST {
/**
* 反序列化要求有没有参数的构造函数
*/
new():SubEntryProp;
/**
* 构造函数
* @param name 字段名称
* @param dynamicItemPropertyType 主实体
*/
new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):SubEntryProp;
}
interface SubEntryProp$ {
}
type SubEntryProp_T = EntryProp & SubEntryProp_S & SubEntryProp$;
interface SubEntryProp extends SubEntryProp_T {
}
interface ModifyDateProp_S {
}
type ModifyDateProp_ST = $.kd.bos.dataentity.metadata.IModifyTimeProperty & DateTimeProp_S & ModifyDateProp_S;
interface ModifyDateProp_C extends ModifyDateProp_ST {
/**
* 构造函数
*/
new():ModifyDateProp;
}
interface ModifyDateProp$ {
}
type ModifyDateProp_T = DateTimeProp & $.kd.bos.dataentity.metadata.IModifyTimeProperty & ModifyDateProp_S & ModifyDateProp$;
interface ModifyDateProp extends ModifyDateProp_T {
}
interface RefProp_S {
}
interface RefProp_C extends RefProp_S {
/**
* 构造函数
*/
new():RefProp;
/**
* 构造函数
* @param name 名称
*/
new(name:string):RefProp;
}
interface RefProp$ {
/**
* 获取名称
* @return
*/
getName():string;
/**
* 设置名称
* @param name
*/
setName(name:string):void;
}
type RefProp_T = RefProp_S & RefProp$;
interface RefProp extends RefProp_T {
}
interface ICompareTypeConfig_S {
}
interface ICompareTypeConfig$ {
/**
* 获取自定义比较符
* @return
*/
getCompareTypeConfig():CompareTypeConfig;
/**
* 设置自定义比较符配置
* @param compareTypeConfig 自定义比较符
*/
setCompareTypeConfig(compareTypeConfig:CompareTypeConfig):void;
}
type ICompareTypeConfig_T = ICompareTypeConfig_S & ICompareTypeConfig$;
interface ICompareTypeConfig extends ICompareTypeConfig_T {
}
interface ModifierProp_S {
}
type ModifierProp_ST = UserProp_S & ModifierProp_S;
interface ModifierProp_C extends ModifierProp_ST {
new():ModifierProp;
}
interface ModifierProp$ {
}
type ModifierProp_T = UserProp & ModifierProp_S & ModifierProp$;
interface ModifierProp extends ModifierProp_T {
}
interface MasterBasedataProp_S {
}
type MasterBasedataProp_ST = BasedataProp_S & MasterBasedataProp_S;
interface MasterBasedataProp_C extends MasterBasedataProp_ST {
new():MasterBasedataProp;
}
interface MasterBasedataProp$ {
}
type MasterBasedataProp_T = BasedataProp & MasterBasedataProp_S & MasterBasedataProp$;
interface MasterBasedataProp extends MasterBasedataProp_T {
}
interface ItemClassProp_S {
}
type ItemClassProp_ST = BasedataProp_S & ItemClassProp_S;
interface ItemClassProp_C extends ItemClassProp_ST {
/**
* 构造函数
*/
new():ItemClassProp;
}
interface ItemClassProp$ {
/**
* 输出过滤字段信息
*
* @param mainType 基础资料主实体
* @param refPropKey 引用属性
* @param entityId 实体标识
* @return
*/
createFilterField(mainType:MainEntityType,refPropKey:string,entityId:string):kd.bos.entity.filter.FilterField;
/**
* 获取基础资料主实体
* @param baseEntityId 基础资料实体ID
* @return
*/
getComplexType(baseEntityId:string):MainEntityType;
/**
* 获取基础资料类型名称
* @return
*/
getTypePropName():string;
/**
* 设置基础资料类型名称
* @param typePropName 基础资料类型名称
*/
setTypePropName(typePropName:string):void;
}
type ItemClassProp_T = BasedataProp & ItemClassProp_S & ItemClassProp$;
interface ItemClassProp extends ItemClassProp_T {
}
enum BasedataTypeEnum {
None,
BaseData,
MulBaseData,
ItemClassType
}
interface UnitProp_S {
}
type UnitProp_ST = BasedataProp_S & UnitProp_S;
interface UnitProp_C extends UnitProp_ST {
new():UnitProp;
}
interface UnitProp$ {
/**
* 获取关联的数量字段
*
* @return
*/
findRelatedQtyFields():$.java.util.List;
/**
* 获取关联的数量字段属性
*
* @return
*/
findRelatedQtyProps():$.java.util.List;
/**
* 获取字段materielFieldId的值
* @return materielFieldId的值
*/
getMaterielField():string;
/**
* 获取字段followUnitToChange的值
* @return followUnitToChange的值
*/
isFollowUnitToChange():boolean;
/**
* 设置字段followUnitToChange的值
* @param followUnitToChange followUnitToChange的值
*/
setFollowUnitToChange(followUnitToChange:boolean):void;
/**
* 设置字段materielFieldId的值
* @param materielFieldId
*/
setMaterielField(materielFieldId:string):void;
}
type UnitProp_T = BasedataProp & UnitProp_S & UnitProp$;
interface UnitProp extends UnitProp_T {
}
interface ITreeEntryProp_S {
}
interface ITreeEntryProp$ {
}
type ITreeEntryProp_T = ITreeEntryProp_S & ITreeEntryProp$;
interface ITreeEntryProp extends ITreeEntryProp_T {
}
interface StepperProp_S {
}
type StepperProp_ST = DecimalProp_S & StepperProp_S;
interface StepperProp_C extends StepperProp_ST {
new():StepperProp;
}
interface StepperProp$ {
/**
* 获取步进值
* @return
*/
getStepValue():$.java.math.BigDecimal;
/**
* 设置步进值
* @param stepValue 步进值
*/
setStepValue(stepValue:$.java.math.BigDecimal):void;
}
type StepperProp_T = DecimalProp & StepperProp_S & StepperProp$;
interface StepperProp extends StepperProp_T {
}
interface IFieldRuleHandle_S {
}
interface IFieldRuleHandle$ {
/**
* 字段规则,例如:日期关联组织字段的时区,组织切换时根据日期字段配置的规则自动转换
* @return
*/
getFieldRules(args:FieldRuleArgs):$.java.util.List;
/**
* 字段规则:动态必录字段规则
* @return
*/
getMustInputCondition():string;
setMustInputCondition(condition:string):void;
}
type IFieldRuleHandle_T = IFieldRuleHandle_S & IFieldRuleHandle$;
interface IFieldRuleHandle extends IFieldRuleHandle_T {
}
interface MaterielProp_S {
}
type MaterielProp_ST = BasedataProp_S & MaterielProp_S;
interface MaterielProp_C extends MaterielProp_ST {
new():MaterielProp;
}
interface MaterielProp$ {
bulidMultiLevelFieldName(srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProps:$.java.util.List):string;
}
type MaterielProp_T = BasedataProp & MaterielProp_S & MaterielProp$;
interface MaterielProp extends MaterielProp_T {
}
interface MulComboProp_S {
}
type MulComboProp_ST = ComboProp_S & MulComboProp_S;
interface MulComboProp_C extends MulComboProp_ST {
/**
* 构造函数
*/
new():MulComboProp;
}
interface MulComboProp$ {
}
type MulComboProp_T = ComboProp & MulComboProp_S & MulComboProp$;
interface MulComboProp extends MulComboProp_T {
}
interface ParentBasedataProp_S {
}
type ParentBasedataProp_ST = GroupProp_S & ParentBasedataProp_S;
interface ParentBasedataProp_C extends ParentBasedataProp_ST {
new():ParentBasedataProp;
}
interface ParentBasedataProp$ {
/**
* 获取长编码界定符
*
* @return 长编码界定符
*/
getLongNumberDLM():string;
/**
* 获取否显示树形本级
*
* @return 允许获取本级
*/
isShowTreeNow():boolean;
/**
* 设置长编码界定符
*
* @param longNumberDLM 长编码界定符
*/
setLongNumberDLM(longNumberDLM:string):void;
/**
* 设置否显示树形本级
*
* @param showTreeNow 允许获取本级
*/
setShowTreeNow(showTreeNow:boolean):void;
}
type ParentBasedataProp_T = GroupProp & ParentBasedataProp_S & ParentBasedataProp$;
interface ParentBasedataProp extends ParentBasedataProp_T {
}
interface VarcharProp_S {
}
type VarcharProp_ST = PKFieldProp_S & VarcharProp_S;
interface VarcharProp_C extends VarcharProp_ST {
/**
* 构造函数
*/
new():VarcharProp;
/**
* 构造函数
* @param refId
*/
new(refId:boolean):VarcharProp;
}
interface VarcharProp$ {
}
type VarcharProp_T = PKFieldProp & VarcharProp_S & VarcharProp$;
interface VarcharProp extends VarcharProp_T {
}
interface FlexProp_S {
readonly ASSISTANTVALUETYPE:string;
readonly BASEVALUETYPE:string;
readonly TEXTVALUETYPE:string;
}
type FlexProp_ST = BasedataProp_S & FlexProp_S;
interface FlexProp_C extends FlexProp_ST {
/**
* 构造函数
*/
new():FlexProp;
}
interface FlexProp$ {
/**
* 获取列表字段元素,用于设计器根据字段动态列表列创建
* @param entityTreeNode 实体树
* @return
*/
createEntityTreeNode(entityTreeNode:EntityTreeNode):$.java.util.Map;
createExtendFilterFields(mainType:MainEntityType):CreateExtendFilterFieldsResult;
/**
* 将弹性域字段扩展到对应的实体
*
* @param entityName 要扩展的实体
* @param registerPropertyListener 输出的注册监听
* @return
*/
extendFlexProperties(entityName:string,registerPropertyListener:kd.bos.entity.datamodel.IRegisterFlexPropertyListener):$.java.util.List;
/**
* 获取基础资料字段属性标识
* @return the basePropertyKey
*/
getBasePropertyKey():string;
/**
* 根据主键ID获取弹性域数据包
* @param model 数据模型
* @param pk 主键ID
* @return
*/
getFlexDataDynamicObject(model:kd.bos.entity.datamodel.IDataModel,pk:any):$.kd.bos.dataentity.entity.DynamicObject;
/**
* 获取弹性域引用实体
* @return
*/
getFlexDataType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
/**
* 获取弹性域属性
* @return
*/
getFlexProps():$.java.util.List;
/**
* 获取弹性域类型,1:辅助属性 2:核算维度
*
* @return 弹性域类型
*/
getFlexTypeId():number;
/**
* 获取弹性域值(轻分析)
* @param flexEntityType 弹性域实体
* @param v 数据包
* @param loadReferenceData 引用属性数据包
* @return
*/
getQingValue(flexEntityType:MainEntityType,v:$.kd.bos.dataentity.entity.DynamicObject,biFunc2:(t:any,u:any)=>any):$.java.util.Map;
/**
* 获取报表弹性域字段值
* @param dataEntity 数据包
* @param loadReferenceData 引用属性
* @return
*/
getReportValue(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,biFunc1:(t:any,u:any)=>any):any;
/**
* 获取弹性域值
* @param flexEntityType 主实体
* @param dataEntity 数据包
* @param loadReferenceData 引用属性
* @return
*/
getValue(flexEntityType:MainEntityType,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,biFunc2:(t:any,u:any)=>any):any;
getValue(flexEntityType:MainEntityType,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,biFunc2:(t:any,u:any)=>any,biConsumer3:(t:any,u:any)=>void):any;
/**
* 设置基础资料字段属性标识
* @param basePropertyKey
* the basePropertyKey to set
*/
setBasePropertyKey(basePropertyKey:string):void;
/**
* 设置弹性域属性
* @param flexProps 属性
*/
setFlexProps(flexProps:$.java.util.List):void;
/**
* 设置弹性域类型,1:辅助属性 2:核算维度
*
* @param flexType the flexType to set
*/
setFlexTypeId(flexType:number):void;
}
type FlexProp_T = BasedataProp & FlexProp_S & FlexProp$;
interface FlexProp extends FlexProp_T {
}
enum FieldDefValueType {
Const,
Variable,
Function,
Formula,
Reference
}
interface ItemClassTypeProp_S {
}
type ItemClassTypeProp_ST = ComboProp_S & ItemClassTypeProp_S;
interface ItemClassTypeProp_C extends ItemClassTypeProp_ST {
new():ItemClassTypeProp;
}
interface ItemClassTypeProp$ {
fixItemTypes():void;
/**
* 获取多类别基础资料类型
*
* @return Map key:entityNumber(实体标识),value:baseEntityId(实体ID)
*/
getBaseEntities():$.java.util.Map;
/**
* 获取多类别基础资料类型绑定的基础资料实体ID集合
*
* @return List 基础资料实体ID集合
*/
getBaseEntityIds():$.java.util.List;
/**
* 获取多类别基础资料类型
*
* @param entityId 实体ID
* @return
*/
getItemType(entityId:string):$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 获取多类别基础资料类型
*
* @return
*/
getItemTypes():$.java.util.Map;
/**
* 设置多类别基础资料类型
* @param baseEntities Map key:entityNumber(实体标识),value:baseEntityId(实体ID)
*/
setBaseEntities(baseEntities:$.java.util.Map):void;
/**
* 设置多类别基础资料类型绑定的基础资料实体ID集合
*
* @param v List 基础资料实体ID集合
*/
setBaseEntityIds(v:$.java.util.List):void;
/**
* 设置多类别基础资料类型
*
* @param dt 多类别基础资料类型
*/
setItemType(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):void;
}
type ItemClassTypeProp_T = ComboProp & ItemClassTypeProp_S & ItemClassTypeProp$;
interface ItemClassTypeProp extends ItemClassTypeProp_T {
}
interface TextProp_S {
}
type TextProp_ST = kd.bos.entity.validate.IScopeCheck_S & FieldProp_S & TextProp_S;
interface TextProp_C extends TextProp_ST {
/**
* 构造函数
*/
new():TextProp;
}
interface TextProp$ {
/**
* 获取文本字段最大长度
*
* @return
*/
getMaxLenth():number;
/**
* 获取文本字段最小长度,默认为0
*
* @return 最小长度
*/
getMinLenth():number;
/**
* 获取内容是否显示为密码
*
* @return 是否内容显示为密码
*/
isPassword():boolean;
isShowEye():boolean;
/**
* 设置文本字段最大长度
*
* @param maxLenth 最大长度
*/
setMaxLenth(maxLenth:number):void;
/**
* 设置文本字段最小长度
*
* @param minLenth 最小长度
*/
setMinLenth(minLenth:number):void;
/**
* 设置内容是否显示为密码
*
* @param password 是否内容显示为密码
*/
setPassword(password:boolean):void;
setShowEye(showEye:boolean):void;
}
type TextProp_T = FieldProp & kd.bos.entity.validate.IScopeCheck & TextProp_S & TextProp$;
interface TextProp extends TextProp_T {
}
interface ModifierIdProp_S {
}
type ModifierIdProp_ST = $.kd.bos.dataentity.metadata.IModifierProperty & LongProp_S & ModifierIdProp_S;
interface ModifierIdProp_C extends ModifierIdProp_ST {
/**
* 构造函数
*/
new():ModifierIdProp;
/**
* 构造函数
*
* @param isrefId
* @param modifierProp 修改人字段属性
*/
new(isrefId:boolean,modifierProp:ModifierProp):ModifierIdProp;
}
interface ModifierIdProp$ {
/**
* 获取修改人字段属性
*
* @return 修改人字段属性
*/
getModifierProp():ModifierProp;
}
type ModifierIdProp_T = LongProp & $.kd.bos.dataentity.metadata.IModifierProperty & ModifierIdProp_S & ModifierIdProp$;
interface ModifierIdProp extends ModifierIdProp_T {
}
interface FieldDefValue_S {
}
type FieldDefValue_ST = $.java.io.Serializable & FieldDefValue_S;
interface FieldDefValue_C extends FieldDefValue_ST {
new():FieldDefValue;
}
interface FieldDefValue$ {
/**
* 常量值,适用于常量类型
* @return
*/
getConstValue():any;
/**
* 默认值类型枚举值
* @return
*/
getDefValueType():FieldDefValueType;
/**
* 表达式,适用于计算公式类型
* @return
*/
getFormula():string;
/**
* 函数名,适用于函数类型
* @return
*/
getFuncName():string;
/**
* 函数参数,适用于函数类型
* @return
*/
getFuncParameter():string;
/**
* 获取默认值类型:常量、变量、函数、计算公式
* @return
*/
getType():number;
/**
* 变量名,适用于变量类型
* @return
*/
getVarName():string;
/**
* 设置产量值,适用于常量类型
* @param constValue
*/
setConstValue(constValue:any):void;
/**
* 设置默认类型枚举值
* @param defValueType 默认类型
*/
setDefValueType(defValueType:FieldDefValueType):void;
/**
* 设置表达式,适用于计算公式类型
* @param formula 表达式
*/
setFormula(formula:string):void;
/**
* 设置函数名,适用于函数类型
* @param funcName 函数名
*/
setFuncName(funcName:string):void;
/**
* 设置函数参数,适用于函数类型
* @param funcParameter 函数参数
*/
setFuncParameter(funcParameter:string):void;
/**
* 设置默认值类型:常量、变量、函数、计算公式
* @param type 默认值类型
*/
setType(type_arg:number):void;
/**
* 设置变量名,适用于变量类型
* @param varName 变量名
*/
setVarName(varName:string):void;
}
type FieldDefValue_T = $.java.io.Serializable & FieldDefValue_S & FieldDefValue$;
interface FieldDefValue extends FieldDefValue_T {
}
interface INumberPrecision_S {
}
interface INumberPrecision$ {
create(formatObject:kd.bos.entity.format.FormatObject):kd.bos.entity.datamodel.NumberPrecision;
getDefaultPrecision():number;
}
type INumberPrecision_T = INumberPrecision_S & INumberPrecision$;
interface INumberPrecision extends INumberPrecision_T {
}
interface MuliLangTextProp_S {
}
type MuliLangTextProp_ST = TextProp_S & $.kd.bos.dataentity.metadata.ILocaleProperty & MuliLangTextProp_S;
interface MuliLangTextProp_C extends MuliLangTextProp_ST {
/**
* 构造函数
*/
new():MuliLangTextProp;
}
interface MuliLangTextProp$ {
/**
* 获取是否开启通用语言
*
* @return
*/
isGL():boolean;
/**
* 通用语言文本模式 多语言降级为文本
* @return
*/
isGlangText():boolean;
/**
* 设置是否开启通用语言
*
* @param gl 是否开启通用语言
*/
setGL(gl:boolean):void;
setGlangText(glangText:boolean):void;
/**
* 设置多语言文本属性
*
* @param localeProperty
* @param inLocaleProperty
*/
setLocaleProperty(localeProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,inLocaleProperty:$.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty):void;
}
type MuliLangTextProp_T = TextProp & $.kd.bos.dataentity.metadata.ILocaleProperty & MuliLangTextProp_S & MuliLangTextProp$;
interface MuliLangTextProp extends MuliLangTextProp_T {
}
interface PeriodProp_S {
}
type PeriodProp_ST = BasedataProp_S & PeriodProp_S;
interface PeriodProp_C extends PeriodProp_ST {
/**
* 构造函数
*/
new():PeriodProp;
}
interface PeriodProp$ {
}
type PeriodProp_T = BasedataProp & PeriodProp_S & PeriodProp$;
interface PeriodProp extends PeriodProp_T {
}
interface DateProp_S {
}
type DateProp_ST = DateTimeProp_S & DateProp_S;
interface DateProp_C extends DateProp_ST {
/**
* 无参构造函数
* 设置区域类型为短日期
*/
new():DateProp;
}
interface DateProp$ {
}
type DateProp_T = DateTimeProp & DateProp_S & DateProp$;
interface DateProp extends DateProp_T {
}
interface PrivacyProp_S {
}
type PrivacyProp_ST = TextProp_S & kd.bos.dataentity.privacy.IPrivacyProperty_S & PrivacyProp_S;
interface PrivacyProp_C extends PrivacyProp_ST {
new():PrivacyProp;
}
interface PrivacyProp$ {
/**
* 获取隐私方案
* @return
*/
getPrivacyScheme():kd.bos.entity.privacy.PrivacyScheme;
/**
* 设置原字段属性标识
* @param originalPropKey 字段标识
*/
setOriginalPropKey(originalPropKey:string):void;
}
type PrivacyProp_T = TextProp & kd.bos.dataentity.privacy.IPrivacyProperty & PrivacyProp_S & PrivacyProp$;
interface PrivacyProp extends PrivacyProp_T {
}
interface GroupProp_S {
}
type GroupProp_ST = BasedataProp_S & GroupProp_S;
interface GroupProp_C extends GroupProp_ST {
/**
* 构造函数
*/
new():GroupProp;
}
interface GroupProp$ {
/**
* 获取实体类型
* @return
*/
getEntityType():BasedataEntityType;
/**
* 获取分组表名
* @return
*/
getGroupTableName():string;
/**
* 是否自定义分组
*
* @return the isCustom
*/
isCustom():boolean;
/**
* 获取是否需要刷新树
* @return
*/
isNeedRefreshTree():boolean;
/**
* 获取是否显示分组下级
* @return 允许获取下级
*/
isShowTreeLower():boolean;
/**
* 设置分组表名
* @param groupTableName 分组表名
*/
setGroupTableName(groupTableName:string):void;
/**
* 设置是否需要刷新树
* @param isNeedRefreshTree 是否需要刷新树
*/
setNeedRefreshTree(isNeedRefreshTree:boolean):void;
/**
* 设置是否显示分组下级
* @param showTreeLower 允许获取下级
*/
setShowTreeLower(showTreeLower:boolean):void;
}
type GroupProp_T = BasedataProp & GroupProp_S & GroupProp$;
interface GroupProp extends GroupProp_T {
}
interface GeoPointProp_S {
readonly ADRESS:string;
readonly LATITUDE:string;
readonly LONGITUDE:string;
}
type GeoPointProp_ST = $.kd.bos.dataentity.metadata.IGeoPointProperty & FieldProp_S & GeoPointProp_S;
interface GeoPointProp_C extends GeoPointProp_ST {
new():GeoPointProp;
}
interface GeoPointProp$ {
/**
* 获取详细地址字段
* @return
*/
getAddressProp():TextProp;
/**
* 获取纬度字段
* @return
*/
getLatitudeProp():DecimalProp;
/**
* 获取经度字段
* @return
*/
getLongitudeProp():DecimalProp;
}
type GeoPointProp_T = FieldProp & $.kd.bos.dataentity.metadata.IGeoPointProperty & GeoPointProp_S & GeoPointProp$;
interface GeoPointProp extends GeoPointProp_T {
}
interface LinkEntryProp_S {
}
type LinkEntryProp_ST = EntryProp_S & LinkEntryProp_S;
interface LinkEntryProp_C extends LinkEntryProp_ST {
/**
* 反序列化要求有没有参数的构造函数*
*/
new():LinkEntryProp;
/**
* 构造函数
* @param name 元素对应的Key
* @param dynamicItemPropertyType 实体类型
*/
new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):LinkEntryProp;
}
interface LinkEntryProp$ {
}
type LinkEntryProp_T = EntryProp & LinkEntryProp_S & LinkEntryProp$;
interface LinkEntryProp extends LinkEntryProp_T {
}
interface AssistantProp_S {
}
type AssistantProp_ST = BasedataProp_S & AssistantProp_S;
interface AssistantProp_C extends AssistantProp_ST {
new():AssistantProp;
}
interface AssistantProp$ {
/**
* 获取基础资料分组属性
*/
geGroupProp():GroupProp;
/**
* 获取辅助资料类型关联的业务云编码
*/
getAsstCloudNumber():string;
/**
* 获取上级辅助资料类型
*/
getAsstParentId():string;
/**
* 获取关联的辅助资料类型
*/
getAsstTypeId():string;
/**
* 获取辅助资料类型编码
*/
getAsstTypeNumber():string;
/**
* 获取辅助资料类型过滤条件
*/
getGroupQFilter():$.kd.bos.orm.query.QFilter;
/**
* 设置辅助资料类型关联的业务云编码
* @param asstCloudNumber 辅助资料类型关联的业务云编码
*/
setAsstCloudNumber(asstCloudNumber:string):void;
/**
* 设置上级辅助资料类型
*
* @param parentId 上级辅助资料类型内码
*/
setAsstParentId(parentId:string):void;
/**
* 设置关联的辅助资料类型
* @param typeId 辅助资料类型
*/
setAsstTypeId(typeId:string):void;
/**
* 设置关联的辅助资料类型编码
* @param asstTypeNumber 辅助资料类型编码
*/
setAsstTypeNumber(asstTypeNumber:string):void;
}
type AssistantProp_T = BasedataProp & AssistantProp_S & AssistantProp$;
interface AssistantProp extends AssistantProp_T {
}
interface CreateDateProp_S {
}
type CreateDateProp_ST = DateTimeProp_S & $.kd.bos.dataentity.metadata.ICreateTimeProperty & CreateDateProp_S;
interface CreateDateProp_C extends CreateDateProp_ST {
/**
* 构造函数
*/
new():CreateDateProp;
}
interface CreateDateProp$ {
}
type CreateDateProp_T = DateTimeProp & $.kd.bos.dataentity.metadata.ICreateTimeProperty & CreateDateProp_S & CreateDateProp$;
interface CreateDateProp extends CreateDateProp_T {
}
interface IRefBillField_S {
}
interface IRefBillField$ {
/**
* 将基础资料上配置的过滤条件解析为QFilter
*
* @param model
* @return FilterBuilder
*/
buildCoreFilter?(model:kd.bos.entity.datamodel.IDataModel):kd.bos.entity.filter.FilterBuilder;
/**
* 将基础资料上配置的过滤条件解析为QFilter
*
* @param model
* @return QFilter
*/
buildCoreFilterByString?(model:kd.bos.entity.datamodel.IDataModel):$.java.util.List;
/**
* 根据主业务组织获取到受控基础资料的过滤条件
* @param model 数据模型
* @param entityId 实体标识
* @return
*/
getBaseDataControlOrgQFilter?(model:kd.bos.entity.datamodel.IDataModel,entityId:string):$.kd.bos.orm.query.QFilter;
/**
* 获取绑定基础资料标识
* @return
*/
getBillEntityId():string;
/**
* 获取绑定基础资料标识
* @param model 数据模型
* @return
*/
getBillEntityId(model:kd.bos.entity.datamodel.IDataModel):string;
/**
* 获取单据状态字段名称
* @return
*/
getBillStatus?():string;
/**
* 获取前端的控件类型,这个方法从BaseDataProp 移过来,以为要支持多选基础资料
*
* @param refPropKey
* @return
*/
getClientType?(refPropKey:string):string;
/**
* 获取主实体
* @return
*/
getComplexType?():$.kd.bos.dataentity.metadata.IDataEntityType;
/**
* 获取显示字段
* @return
*/
getDispProp?():$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取显示属性
* @return
*/
getDisplayProp?():string;
/**
* 获取基础资料条件
* @param model 数据模型
* @return
*/
getFilterCondition?(model:kd.bos.entity.datamodel.IDataModel):$.kd.bos.entity.filter.FilterCondition;
/**
* 获取字段名称
* @return
*/
getName?():string;
/**
* 获取编码字段
* @return
*/
getNumberProp?():string;
/**
* 获取组织字段
* @return
*/
getOrgProp():string;
/**
* 是否只显示已审核字段
* @return ture
*/
isShowOnlyAudited?():boolean;
}
type IRefBillField_T = IFieldHandle & IRefBillField_S & IRefBillField$;
interface IRefBillField extends IRefBillField_T {
}
interface FormulaProp_S {
}
type FormulaProp_ST = DecimalProp_S & FormulaProp_S;
interface FormulaProp_C extends FormulaProp_ST {
new():FormulaProp;
}
interface FormulaProp$ {
/**
* 获取定义公式
* @return 公式
*/
getFormula():string;
/**
* 设置定义公式
* @param formula 公式
*/
setFormula(formula:string):void;
}
type FormulaProp_T = DecimalProp & FormulaProp_S & FormulaProp$;
interface FormulaProp extends FormulaProp_T {
}
interface LargeTextProp_S {
}
type LargeTextProp_ST = TextProp_S & LargeTextProp_S;
interface LargeTextProp_C extends LargeTextProp_ST {
new():LargeTextProp;
}
interface LargeTextProp$ {
/**
* 获取大文本字段编辑模式
* @return summary(摘要模式)or largeText(多行文本模式)
*/
getEditingMode():string;
/**
* 获取最大长度
* @return
*/
getMaxLength():number;
/**
* 判断值是否为空
* @param v 值
* @return
*/
isEmptyString(v:any):boolean;
/**
* 设置大文本字段编辑模式
* @param editingMode summary(摘要模式)or largeText(多行文本模式)
*/
setEditingMode(editingMode:string):void;
}
type LargeTextProp_T = TextProp & LargeTextProp_S & LargeTextProp$;
interface LargeTextProp extends LargeTextProp_T {
}
interface TimeProp_S {
/**
* 时间转换成秒
* @param value 字段值
* @param fieldName 字段名
* @return
*/
timeToSecond(value:any,fieldName:string):number;
}
type TimeProp_ST = FieldProp_S & TimeProp_S;
interface TimeProp_C extends TimeProp_ST {
/**
* 构造函数
*/
new():TimeProp;
}
interface TimeProp$ {
/**
* 获取日期格式化信息
* @return
*/
getDateFormat():$.java.text.DateFormat;
/**
* 获取关联时间范围的标识, 为空则代表没有相关时间范围关联
*
* @return 关联时间范围的标识
*/
getRelateTimeRange():string;
/**
* 获取时区转换方式
* @return 0(服务器时区)、1(用户时区)、2(组织时区)
*/
getTimeZoneTransType():number;
/**
* 获取时间范围字段中是否是起始时间
*
* @return 是否起始时间
*/
isStartTimeRange():boolean;
/**
* 设置关联时间范围的标识, 为空则代表没有相关时间范围关联
*
* @param relateTimeRange 关联时间范围的标识
*/
setRelateTimeRange(relateTimeRange:string):void;
/**
* 设置时间范围字段中是否是起始时间
*
* @param startTimeRange 是否起始时间
*/
setStartTimeRange(startTimeRange:boolean):void;
/**
* 设置时区转换方式
* @param timeZoneTransType 0(服务器时区)、1(用户时区)、2(组织时区)
*/
setTimeZoneTransType(timeZoneTransType:number):void;
}
type TimeProp_T = FieldProp & TimeProp_S & TimeProp$;
interface TimeProp extends TimeProp_T {
}
interface MulBasedataProp_S {
}
type MulBasedataProp_ST = ICompareTypeConfig_S & $.kd.bos.dataentity.metadata.dynamicobject.DynamicCollectionProperty & $.kd.bos.dataentity.entity.ISupportInitialize & IBasedataField_S & IFieldRuleHandle_S & kd.bos.entity.validate.IValidatorHanlder_S & MulBasedataProp_S;
interface MulBasedataProp_C extends MulBasedataProp_ST {
/**
* 构造函数
*/
new():MulBasedataProp;
/**
* 构造函数
*
* @param name 字段名称
* @param dynamicItemPropertyType 主实体
*/
new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):MulBasedataProp;
}
interface MulBasedataProp$ {
/**
* 获取显示属性
*
* @return
*/
getDispProp(displayProp:string):$.kd.bos.dataentity.metadata.IDataEntityProperty;
/**
* 获取多选基础资料字段显示属性值
*
* @param basedataObj 基础资料数据
* @return 显示属性值
*/
getDisplayValue(basedataObj:any):string;
/**
* 获取多选基础资料编辑显示属性,用于编辑状态数据显示
*
* @return 编辑显示属性
*/
getEditSearchProp():string;
/**
* 获取组织业务职能编码
*
* @return 组织职能编码
*/
getOrgFunc():string;
/**
* 获取多选基础资料引用属性
*
* @return
*/
getRefBaseProp():$.kd.bos.dataentity.metadata.IComplexProperty;
/**
* 获取多选基础资料引用的基础资料PK的集合
*
* @param obj 包含多选基础资料的父数据包
* @return List