Newer Version Available

This content describes an older version of this product. View Latest

describeCompactLayouts()

Retrieves metadata about compact layouts for the specified object type.

Syntax

1DescribeCompactLayoutsResult compactLayoutResult = connection.describeCompactLayouts(string sObjectType, ID[] recordTypeId);

Usage

Use this call to retrieve information about the compact layout for a given object type. This call returns metadata about a given compact layout, including the record type mappings. For more information about compact layouts, see the Salesforce online help.

Sample Code—Java

This sample shows how to get the compact layouts of an Account sObject. It calls describeCompactLayouts() with the name of the sObject type to describe. After getting the compact layouts, the sample prints the images, fields, and action buttons found for each compact layout. Next, it prints the system default compact layout for the object, then the mapping information of record types to compact layouts.

1public void testDescribeCompactLayoutsSample() {
2    try {
3        String objectToDescribe = "Account";
4        DescribeCompactLayoutsResult compactLayoutResult = connection
5                .describeCompactLayouts(objectToDescribe, null);
6        System.out.println("There are " + compactLayoutResult.getCompactLayouts().length
7                + " compact layouts for the " + objectToDescribe + " object.");
8
9        // Get all the compact layouts for the sObject
10        for (int i = 0; i < compactLayoutResult.getCompactLayouts().length; i++) {
11            DescribeCompactLayout cLayout = compactLayoutResult.getCompactLayouts()[i];
12            System.out.println(" There is a compact layout with name: " + cLayout.getName());
13            DescribeLayoutItem[] fieldItems = cLayout.getFieldItems();
14            System.out.println(" There are " + fieldItems.length + " fields in this compact layout.");
15
16            // Write field items
17            for (int j = 0; j < fieldItems.length; j++) {
18                System.out.println(j + " This compact layout has a field with name: " + fieldItems[j].getLabel());
19            }
20
21            DescribeLayoutItem[] imageItems = cLayout.getImageItems();
22            System.out.println(" There are " + imageItems.length + " image fields in this compact layout.");
23
24            // Write the image items
25            for (int j = 0; j < imageItems.length; j++) {
26                System.out.println(j + " This compact layout has an image field with name: " + imageItems[j].getLabel());
27            }
28
29            DescribeLayoutButton[] actions = cLayout.getActions();
30            System.out.println(" There are " + actions.length + " buttons in this compact layout.");
31
32            // Write the action buttons
33            for (int j = 0; j < actions.length; j++) {
34                System.out.println(j + " This compact layout has a button with name: " + actions[j].getLabel());
35            }
36
37            System.out.println("This object's default compact layout is: "
38                    + compactLayoutResult.getDefaultCompactLayoutId());
39
40            RecordTypeCompactLayoutMapping[] mappings = compactLayoutResult.getRecordTypeCompactLayoutMappings();
41            System.out.println("There are " + mappings.length + " record type to compact layout mapping for the "
42                    + objectToDescribe + " object.");
43            for (int j = 0; j < mappings.length; j++) {
44                System.out.println(j + " Record type " + mappings[j].getRecordTypeId()
45                        + " is mapped to compact layout " + mappings[j].getCompactLayoutId());
46            }
47        }
48
49    } catch (ConnectionException ce) {
50        ce.printStackTrace();
51    }
52
53}

Arguments

Name Type Description
sObjectType string The specified value must be a valid object for your organization. If the object is a person account, specify Account, or if it is a person contact, specify Contact.
recordTypeId ID[] Optional parameter that restricts the compact layout data returned to the specified record types.