68、Schema的相关类
public class SObjectSchema {
public void testSchema(){
//获取SObject的token
//1、先获取所有token,然后通过key获取需要的token
//2、直接获取指定的sObject的token
//1、通过获取全部描述信息,然后get方法获取需要的指定字段的描述信息
Map<String,Schema.SObjectType> allSObjectTypeDescribes = Schema.getGlobalDescribe();
Schema.SObjectType merchandiseType1 = allSObjectTypeDescribes.get('Merchandise__c');
//2、直接获取指定sObject的token
Schema.SObjectType merchandiseType2 = Merchandise__c.SObjectType;
/*
* 获取Schema.DescribeSObjectResult
* 1、通过token的getDescribe方法**/
Schema.DescribeSObjectResult merchandiseResult = merchandiseType1.getDescribe();
/*
* 2、通过System命名空间下的Schema的方法
* */
List<String> sObjectTypes = new String[]{'Merchandise__c'};
List<Schema.DescribeSObjectResult> merchandiseResult1 = Schema.describeSObjects(sObjectTypes);
System.debug(merchandiseResult.getLabel());
System.debug('sObject的API的名称为' + merchandiseResult.getName());
System.debug('Student表是否为自定义的Object :' + (merchandiseResult.isCustom() ? '是':'否'));
//---------------------------------------//
List<Schema.ChildRelationship> childRelationResult = merchandiseResult.getChildRelationships();
for(Schema.ChildRelationship child : childRelationResult){
System.debug('merchandise子Object的关联名称:'+ child.getRelationshipName());
}
/**
* 以下操作位获取field的元信息结果,以Education__c为例
* 两种操作方式:
* 1、通过DescribeSObjectResult的fields方法获取token,然后再通过getDescribe方法获取
* 2、直接获取字段然后使用getDescribe方法
* */
Map<String,SObjectField> sObjectFieldMaps = merchandiseResult.fields.getMap();
SObjectField educationField = sObjectFieldMaps.get('Merchandise__c');
Schema.DescribeFieldResult educationFieldResult = educationField.getDescribe();
Schema.DisplayType educationType = educationFieldResult.getType();
System.debug('education字段类型为:'+educationType);
System.debug('education字段API名称为:'+educationFieldResult.getName());
System.debug('education字段label名称为:'+educationFieldResult.getLabel());
//------------------------------//
List<Schema.PicklistEntry> educationListValues = educationFieldResult.getPicklistValues();
Map<String,Object> educationListValueMap = new Map<String,Object>();
/* for(Schema.PicklistEntry educationListItem : educationListValues){
educationListValueMap.put(educationListItem.getValue(),new Map<String,Object>{
'value'=>educationListItem.getValue(),
})
}*/
}
}
68、Schema的相关类的更多相关文章
- Android随笔之——Android时间、日期相关类和方法
今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...
- 21 BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调度相关类
21_BasicTaskScheduler基本任务调度器(一)——Live555源码阅读(一)任务调度相关类 BasicTaskScheduler基本任务调度器 BasicTaskScheduler基 ...
- 8 延时队列相关类——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...
- 4 Handler相关类——Live555源码阅读(一)基本组件类
这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. Handler相关类概述 处理程序相关类一共有三个,其没有派生继承关系,但是其有友元关系和使用关系 ...
- MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)
前面讲了模态对话框和非模态对话框,本节来将一种特殊的对话框--属性页对话框. 属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面 ...
- android 6.0 SDK中删除HttpClient的相关类的解决方法
一.出现的情况 在eclipse或 android studio开发, 设置android SDK的编译版本为23时,且使用了httpClient相关类的库项目:如android-async-http ...
- Android 6.0删除Apache HttpClient相关类的解决方法
相应的官方文档如下: 上面文档的大致意思是,在Android 6.0(API 23)中,Google已经移除了Apache HttpClient相关的类,推荐使用HttpUrlConnection. ...
- List 接口以及实现类和相关类源码分析
List 接口以及实现类和相关类源码分析 List接口分析 接口描述 用户可以对列表进行随机的读取(get),插入(add),删除(remove),修改(set),也可批量增加(addAll),删除( ...
- Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门
说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代 ...
随机推荐
- 使用ajax前必须了解的知识
ajax的全称: asynchronous javascript and xml (异步的javascript和xml) ajax不是某种编程语言 是一种在无需重新加载整个页面的情况下能够更新部分网页 ...
- 删除STL容器中的元素
有关stl容器删除元素的问题,错误的代码如下: std::vector<struct> mFriendList; ... std::vector<struct>::iterat ...
- 汇编指令MOV
格式:MOV DST,SRC 例如: MOV EAX,#050aH ;将十六进制050a 传送到通用寄存器eax中 MOV DI,BX(寄存器到寄存器之间传数) MOV ES,AX(通用寄存器与段寄存 ...
- 建站手册-网站建设:Web 安全
ylbtech-建站手册-网站建设:Web 安全 1.返回顶部 1. http://www.w3school.com.cn/site/site_security.asp 2. 2.返回顶部 1. 此刻 ...
- CentOS7下安装安装android sdk & gradle
参考: 谢谢大佬! https://blog.csdn.net/jiangxuexuanshuang/article/details/88600574 主要就是安装sdk 与 gradle sdk下载 ...
- docker安装部署命令
一.安装工具包 $ sudo yum install -y yum-utils #安装工具包,缺少这些依赖将无法完成 二.设置远程仓库 $sudo yum-config-manager --add-r ...
- CSS属性去除图片链接时的虚线框
CSS 之outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用.outline 属性是一个简写属性,用于设置元素周围的轮廓线.注释:轮廓线不会占据空间,也不一定是 ...
- vue项目中实现手势密码
思路: 本来应该全部都用canvas来实现的,但时间紧迫 写的时候只想着圆圈用li写,线用canvas,写到一半才想通,还好这一通下来比较顺利 第一步:页面中的9个点用v-for循环出来li,ul设置 ...
- 监控工具 zxbbix
报错 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server throug ...
- Codeforces Fix a Tree
Fix a Tree time limit per test2 seconds A tree is an undirected connected graph without cycles. Let' ...