File: apex

package info (click to toggle)
ruby-rouge 4.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,836 kB
  • sloc: ruby: 38,168; sed: 2,071; perl: 152; makefile: 8
file content (177 lines) | stat: -rw-r--r-- 4,579 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
////// badcase.apex //////

if (Reports.get(0) instanceof CustomReport) {
    // Can safely cast it back to a custom report object
   CustomReport c = (CustomReport) Reports.get(0);
} else {
   // Do something with the non-custom-report.
}

Object o = null;
Boolean result = o instanceof Account;
System.assertEquals(false, result);

String dq = "This is a double-quoted string.";
String sq = 'This is a single-quoted string.';
String es_dq = "This is a string with \" escape sequences \b.";
String es_sq = 'This is a string with \' escape sequences \n.';

1;
1.0;
0b01;
0xFFFFFF;
01;

public virtual class SuperClass {
    public String mySalutation;
    public String myFirstName;
    public String myLastName;

    public SuperClass() {

        mySalutation = 'Mr.';
        myFirstName = 'Carl';
        myLastName = 'Vonderburg';
    }

    public SuperClass(String salutation, String firstName, String lastName) {

        mySalutation = salutation;
        myFirstName = firstName;
        myLastName = lastName;
    }

    public virtual void printName() {

        System.debug('My name is ' + mySalutation + myLastName);
    }

   public virtual String getFirstName() {
       return myFirstName;
   }
}

public class Subclass extends Superclass {
  public override void printName() {
        super.printName();
        System.debug('But you can call me ' + super.getFirstName());
    }
}

public Subclass() {
    super('Madam', 'Brenda', 'Clapentrap');
}

// using `this`
public class myTestThis {

    string s;
    {
        this.s = 'TestString';
    }
}

public class testThis {

    // First constructor for the class. It requires a string parameter.
    public testThis(string s2) {
    }

    // Second constructor for the class. It does not require a parameter.
    // This constructor calls the first constructor using the this keyword.
    public testThis() {
        this('None');
    }
}

// using transient
public class ExampleController {

    DateTime t1;
    transient DateTime t2;

    public String getT1() {
        if (t1 == null) t1 = System.now();
        return '' + t1;
    }

    public String getT2() {
        if (t2 == null) t2 = System.now();
        return '' + t2;
    }
}

// page controller
public inherited sharing class InheritedSharingClass{
    public List<Contact> getAllTheSecrets(){
        return [SELECT Name FROM Contact];
    }
}

// annotations
global class MyClass {

    @Future(callout=true) @IsTest
    public static void myMethod(String a)
    {
        /* ... */
    }
}

// Invokables
public without sharing class AccountQueryAction {
    @InvocableMethod(label='Get Account Names' description='Returns the list of account names corresponding to the specified account IDs.')
        public static List<String> getAccountNames(List<ID> ids) {
            List<String> accountNames = new List<String>();
            List<Account> accounts = [SELECT Name FROM Account WHERE Id in :ids];
            for (Account account : accounts) {
                accountNames.add(account.Name);
            }
            return accountNames;
        }
}

public class AccountInsertAction {
    @InvocableMethod(label='Insert Accounts' description='Inserts the accounts specified and returns the IDs of the new accounts.')
        public static List<ID> insertAccounts(List<Account> accounts) {
            Database.SaveResult[] results = Database.insert(accounts);
            List<ID> accountIds = new List<ID>();
            for (Database.SaveResult result : results) {
                if (result.isSuccess()) {
                    accountIds.add(result.getId());
                }
            }
            return accountIds;
        }
}

// test class
@isTest(SeeAllData=true)
public class TestDataAccessClass {

    static testmethod void myTestMethod1() {
        // Query an existing account in the organization. 
        Account a = [SELECT Id, Name FROM Account WHERE Name='Acme' LIMIT 1];
        System.assert(a != null);

        // Create a test account based on the queried account.
        Account testAccount = a.clone();
        testAccount.Name = 'Acme Test';

        insert testAccount;

        // Query the test account that was inserted.
        Account testAccount2 = [SELECT Id, Name FROM Account 
                                WHERE Name='Acme Test' LIMIT 1];

        System.assert(testAccount2 != null);
    }

    @isTest static void myTestMethod2() {
        // Can access all data in the organization.
   }

}

// Soql
[SELECT Company, toLabel(Status) FROM Lead WHERE toLabel(Status) = 'le Draft']