All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kuangkie.carbon.panel.EntityDiscover Maven / Gradle / Ivy

package com.kuangkie.carbon.panel;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.kuangkie.carbon.common.BytesInfoVO;
import com.kuangkie.carbon.common.QueryParam;
import com.kuangkie.carbon.common.Version;
import com.kuangkie.carbon.common.VersionQueryParam;
import com.kuangkie.carbon.entity.Entity;
import com.kuangkie.carbon.entity.VersionEntity;

/**
 * 
 * @version: V1.0
 * 
 * @author: wangnq
 * 
 * @className: Discoverer
 * 
 * @packageName: cho.carbon.panel
 * 
 * @description: 查询(发现)数据的入口
 * 
 * @data: 2020年6月16日
 * 
 *
 */
public interface EntityDiscover {
	
	/**
	 * 访问指定实体对象( recordcode )在当前时刻的数据
	 * 
	 * @param code
	 *            业务实体的唯一标识。系统会默认为每个业务实体对象生成一个32位的uuid
	 * @return 对接实体
	 */
	public Entity discover(String recordCode);
	
	/**
	 * 只过滤顶层record的关系
	 * @param recordCode
	 * @param multiAttrCriteriaMap:key: multi full title
	 *  @param relationCriteriaMap:key :relation  type  name () 或者 relation full title。
	 * @return
	 */
	public Entity discover(String recordCode,Map subQueryParamMap);
	
//	/**
//	 * 
//	* @methodsName: discoverRC
//	*
//	* @description: 
//	*
//	* @param modelCode
//	* @param recordCode
//	* @return
//	*
//	 */
//	public FGRelationCorrelation discoverRelation(String modelCode,String recordCode);

	/**
	 * 访问指定实体对象( recordcode )在时刻 ( date )的数据
	 * 
	 * @param recordCode
	 *            业务实体的唯一标识。系统会默认为每个业务实体对象生成一个32位的uuid
	 * @param date
	 *            访问历史数据所在的时间点。
	 * @return 历史信息访问对象。 如果在date时刻无历史数据,系统会返回距date最近时刻的历史信息。
	 */
	public VersionEntity track(String recordCode, Date date);

	/**
	 * 根据历史记录标识访问关联的实体数据
	 * 
	 * @param versionCode
	 *            实体数据的编辑历史唯一标识。历史信息的标识全局唯一,与关联的实体对象code无关
	 * @return 历史信息访问对象
	 */
	public VersionEntity track(Long versionCode);

	/**
	 * 访问与数据实体对象的code相关联的历史记录信息
	 * 
	 * @param recordCode
	 *            业务实体的唯一标识。
	 * @return 历史信息对象列表
	 */
	public List trackVersion(VersionQueryParam versionQueryParam);

	
	
	/**
	 * 查询 bytes 类型的 普通属性
	 * 
	 * @param recordCode
	 * @param itemCode
	 * @return
	 */
	public  byte[] discoverBytesInfo(String modelCode, String bytesCode);
	
	public  BytesInfoVO discoverBytesInfo(BytesInfoVO bytesInfoVO);
	
	public  BytesInfoVO trackBytesInfo(BytesInfoVO bytesInfoVO) ;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy