Udžbenik za APEX: klasa Apex programiranja i primjeri kodiranja

Što je Apex u Salesforceu?

Vrh je objektno orijentiran i strogo tipiziran programski jezik koji je razvio Salesforce za izgradnju softvera kao usluge (SaaS) i upravljanja odnosima s klijentima (CRM). Apex pomaže programerima da kreiraju SaaS aplikacije trećih strana i dodaju poslovnu logiku sistemskim događajima pružajući podršku za pozadinsku bazu podataka i sučelja klijent-poslužitelj.

Apex pomaže programerima da dodaju poslovnu logiku sistemskim događajima kao što su klikovi gumba, povezana ažuriranja zapisa i Visualforce stranice. Apex ima sličnu sintaksu Java. Registrirajte se za Salesforce kako bi naučili kako funkcionira CRM

Značajke programskog jezika Apex

Evo važnih značajki Salesforce Apexa:

  • Apex je jezik koji ne razlikuje velika i mala slova.
  • Možete izvoditi DML operacije kao što su INSERT, UPDATE, UPSERT, DELETE na sObject zapisima koristeći apex.
  • Možete postavljati upite sObject zapisima koristeći SOQL (salesforce object query language) i SOSL (salesforce object search language) u apexu.
  • Omogućuje vam stvaranje a jedinični test i izvršiti ih za provjeru pokrivenost koda i učinkovitost koda u vrhu.
  • Apex se izvršava u okruženju s više stanara i Salesforce je definirao neka regulatorna ograničenja koja sprječavaju korisnika da kontrolira dijeljene resurse. Svaki kôd koji prijeđe ograničenje Salesforce regulatora ne uspijeva, pojavljuje se pogreška.
  • Salesforce objekt može se koristiti kao tip podataka u apexu. Na primjer -
    Account acc = new Account();

    ,ovdje je račun standardni salesforce objekt.

  • Apex se automatski nadograđuje sa svakim Salesforce izdanjem.

Kada razvojni programer treba odabrati Apex

Apex kôd treba pisati samo ako je poslovni scenarij presložen i ne može se implementirati korištenjem unaprijed izgrađene funkcije koju pruža Salesforce.

Slijedi nekoliko scenarija u kojima trebamo napisati apex kod:

  • Za izradu web usluga koje integriraju Salesforce s drugim aplikacijama.
  • Za implementaciju prilagođene provjere na objektima.
  • Za izvršavanje prilagođene apex logike kada se izvodi DML operacija.
  • Za implementaciju funkcionalnosti koja se ne može implementirati pomoću postojećih tokova rada i funkcionalnosti graditelja procesa.
  • Postaviti usluge e -pošte, trebate uključiti obradu sadržaja, zaglavlja i privitaka e-pošte pomoću apex koda.

Radna struktura Apexa

Sada ćemo u ovom Apex vodiču naučiti o radnoj strukturi Apexa:

Slijedi tok radnji za apex kod:

  • Radnja razvojnog programera: Sav apex kod koji je napisao razvojni programer sastavlja se u skup uputa koje može razumjeti apex runtime interpreter kada programer spremi kod na platformu, a te upute zatim spremi kao metapodatke na platformu.
  • Radnja krajnjeg korisnika: kada korisnički događaj izvrši apex kod, poslužitelj platforme dobiva kompajlirane upute iz metapodataka i pokreće ih kroz apex interpreter prije vraćanja rezultata.
Radna struktura Apexa
Radna struktura Apexa

Apex sintaksa

Izjava varijable

Kako je apex jezik sa strogim tipovima, obavezno je deklarirati varijablu s tipom podataka u apexu.

Na primjer:

contact con = new contact(); 

ovdje je varijabla con deklarirana s kontaktom kao tipom podataka.

SOQL upit

SOQL je kratica za salesforce object query language. SOQL se koristi za dohvaćanje sObject zapisa iz Salesforce baze podataka. Na primjer-

Account acc = [select id, name from Account Limit 1]; 

Gornji upit dohvaća zapis računa iz baze podataka Salesforce.

Naredba petlje

Naredba petlje koristi se za ponavljanje zapisa na popisu. Broj ponavljanja jednak je broju zapisa u listi. Na primjer:

list<Account>listOfAccounts = [select id, name from account limit 100];
// iteration over the list of accounts
for(Account acc : listOfAccounts){
	//your logic
}

U gornjem isječku koda, listOfAccounts je varijabla vrste podataka liste.

Izjava o kontroli toka

Izjava o kontroli toka je korisna kada želite izvršiti neke retke koda na temelju nekih uvjeta.

Na primjer:

list<Account>listOfAccounts = [select id, name from account limit 100];
// execute the logic if the size of the account list is greater than zero
if(listOfAccounts.size() >0){
	//your logic
}

Gornji isječak koda postavlja upit o zapisima računa iz baze podataka i provjerava veličinu popisa.

DML izjava

DML je kratica za jezik za manipulaciju podacima. DML izjave koriste se za manipuliranje podacima u Salesforce bazi podataka. Na primjer -

Account acc = new Account(Name = ‘ Test Account’);
Insert acc; //DML statement to create account record.

Razvojno okruženje Apex

Sada ćemo u ovom Apex vodiču za programiranje učiti o Apex razvojnom okruženju:

Apex kod se može razviti u sandboxu i izdanju Salesforcea za razvojne programere.

Najbolja je praksa razviti kod u sandbox okruženju i zatim ga implementirati u proizvodno okruženje.

Razvojno okruženje Apex

Alati za razvoj apex koda: Slijede tri dostupna alata za razvoj apex koda u svim izdanjima Salesforcea.

  • Force.com Developer Console
  • Force.com IDE
  • Uređivač koda u Salesforce korisničkom sučeljuYou

Tip podataka u Apexu

Apex podržava sljedeće tipove podataka:

primitivan

Cijeli broj, Double, Long, Date, Date Time, String, ID i Boolean smatraju se primitivnim tipovima podataka. Svi primitivni tipovi podataka prosljeđuju se prema vrijednosti, a ne prema referenci.

Kolekcije

U Apexu su dostupne tri vrste prikupljanja

  • Popis: To je uređena kolekcija primitiva, sObjects, kolekcija ili Apex objekata temeljenih na indeksima.
  • Skup: nesređena zbirka jedinstvenih primitiva.
  • Karta: to je zbirka jedinstvenih, primitivnih ključeva koji se preslikavaju na pojedinačne vrijednosti koje mogu biti primitive, sObjects, kolekcije ili Apex objekti.

sObject

Ovo je posebna vrsta podataka u Salesforceu. Slično je stolu u SQL i sadrži polja koja su slična stupcima u SQL-u.

Enum

Enum je apstraktni tip podataka koji pohranjuje jednu vrijednost konačnog skupa specificiranih identifikatora

Nastava

objekti

Odnosi se na bilo koji tip podataka koji je podržan u Apexu.

Sučelja

Apex Specifikator pristupa

Slijede specifikatori pristupa koje apex podržava:

javnost

Ovaj specifikator pristupa daje pristup klasi, metodi, varijabli koju će koristiti vrh unutar imenskog prostora.

Privatni

Ovaj specifikator pristupa daje pristup klasi, metodi, varijabli koja se koristi lokalno ili unutar dijela koda, definiran je. Sve tehničke varijable koje nemaju definiran specifikator pristupa imaju zadani specifikator pristupa privatni.

zaštićen

Ovaj specifikator pristupa daje pristup metodi, varijabli koju će koristiti sve unutarnje klase unutar definiranja Apex klase.

Globalan

Ovaj specifikator pristupa daje pristup klasi, metodi, varijabli koju će koristiti vrh unutar imenskog prostora kao i izvan imenskog prostora. Najbolja je praksa ne koristiti globalnu ključnu riječ dok nije potrebno.

Ključne riječi u Apexu

Uz dijeljenje

Ako je klasa definirana ovom ključnom riječi, tada se primjenjuju sva pravila dijeljenja koja se primjenjuju na trenutnog korisnika, a ako ove ključne riječi nema, kod se izvršava u kontekstu sustava.

Na primjer:

public with sharing class MyApexClass{
// sharing rules enforced when code in this class execute
}

Bez dijeljenja

Ako je klasa definirana ovom ključnom riječi, tada se ne provode sva pravila dijeljenja koja se primjenjuju na trenutnog korisnika.

Na primjer:

public without sharing class MyApexClass{
// sharing rules is not enforced when code in this class execute
}

statički

Varijabla, Metoda definirana je ključnom riječi static, jednom se inicijalizira i povezuje s klasom. Statičke varijable, metode mogu se pozivati ​​imenom klase izravno bez stvaranja instance klase.

Final

Konstanta, Metoda je definirana s ključnom riječi final koja se ne može nadjačati. Na primjer:

public class myCls {
static final Integer INT_CONST = 10;
}

Ako pokušate nadjačati vrijednost za ovu INT_CONST varijablu, tada ćete dobiti iznimku – System.FinalException: Konačna varijabla je već inicijalizirana.

Povratak

Ova ključna riječ vraća vrijednost iz metode. Na primjer:

public String getName() {
return  'Test' ;
}

nula

Definira nultu konstantu i može se dodijeliti varijabli. Na primjer

 Boolean b = null;

virtualan

Ako je klasa definirana virtualnom ključnom riječi, može se proširiti i nadjačati.

Sažetak

Ako je klasa definirana s ključnom riječi abstract, mora sadržavati barem jednu metodu s ključnom riječi abstract, a ta metoda treba imati samo potpis.

Na primjer

public abstract class MyAbstrtactClass {
abstract Integer myAbstractMethod1();
}

Apex žica

Niz je skup znakova bez ograničenja broja znakova. Na primjer:

String name = 'Test';

Postoji nekoliko ugrađenih metoda koje nudi klasa String u salesforceu. Slijedi nekoliko često i najčešće korištenih funkcija:

skrati (maxWidth)

Ova metoda skraćuje niz na navedenu duljinu i vraća ga ako je duljina danog niza duža od navedene duljine; inače vraća originalni niz. Ako je vrijednost za varijablu maxWidth manja od 4, ova metoda vraća iznimku vremena izvođenja – System.StringException: Minimalna širina kratice je 4

Na primjer:

String s = 'Hello World';
String s2 = s.abbreviate(8);
System.debug('s2'+s2); //Hello...

kapitalizirati ()

Ova metoda pretvara prvo slovo niza u velika i mala slova i vraća ga.

Na primjer:

String s = 'hello;
String s2 = s.capitalize();
System.assertEquals('Hello', s2);

sadrži (podniz)

Ova metoda vraća true ako String koji poziva metodu sadrži navedeni podniz.

String name1 = 'test1';
String name2 = 'test2';
Boolean flag = name.contains(name2);
System.debug('flag::',+flag); //true

jednako (stringOrId)

Ova metoda vraća true ako proslijeđeni parametar nije null i označava isti binarni niz znakova kao niz koji poziva metodu.

Dok se uspoređuju vrijednosti ID-a, duljina ID-ova možda neće biti jednaka. Na primjer: ako se niz koji predstavlja ID od 15 znakova usporedi s objektom koji predstavlja ID od 18 znakova, ova metoda vraća true. Na primjer:

Id idValue15 = '001D000000Ju1zH';
Id idValue18 = '001D000000Ju1zHIAR';
Boolean result4 = stringValue15.equals(IdValue18);
System.debug('result4', +result4); //true

U gornjem primjeru metoda equals uspoređuje ID objekta od 15 znakova s ​​ID-om objekta od 18 znakova i ako oba ID-a predstavljaju isti binarni niz, vratit će true.

Koristite ovu metodu za usporedbu koja razlikuje velika i mala slova.

escapeSingleQuotes(stringToEscape)

Ova metoda dodaje izlazni znak (\) prije bilo kojeg pojedinačnog navodnika u nizu i vraća ga. Ova metoda sprječava ubacivanje SOQL-a tijekom stvaranja dinamičkog SOQL upita. Ova metoda osigurava da se svi jednostruki navodnici smatraju nizovima koji ih okružuju, umjesto naredbama baze podataka.

Na primjer:

String s = 'Hello Tom';
system.debug(s); // Outputs 'Hello Tom'
String escapedStr = String.escapeSingleQuotes(s);
// Outputs \'Hello Tom\'

ukloniti (podniz)

Ova metoda uklanja sva pojavljivanja spomenutog podniza iz niza koji poziva metodu i vraća rezultirajući niz.

Na primjer

String s1 = 'Salesforce and force.com';
String s2 = s1.remove('force');
System.debug( 's2'+ s2);// 'Sales and .com'

podniz(početniindeks)

Ova metoda vraća podniz koji počinje od znaka na startIndexu koji se proteže do posljednjeg niza.

Na primjer:

String s1 = 'hamburger';
String s2 = s1.substring(3);
System.debug('s2'+s2); //burger

obrnuti ()

Ova metoda preokreće sve znakove niza i vraća ga. Na primjer:

String s = 'Hello';
String s2 = s.reverse();
System.debug('s2::::'+s2);// olleH  // Hello

trim(): Ova metoda uklanja sve vodeće razmake iz niza i vraća ih.

valueOf(toConvert)

Ova metoda vraća string reprezentaciju proslijeđenog objekta.

Apex Guverner Limits

Ograničenja apex regulatora ograničenja su koja provodi apex runtime engine kako bi se osiguralo da nijedan runway apex kod i procesi ne kontroliraju dijeljene resurse i ne krše obradu za druge korisnike u multitenant okruženju. Ta se ograničenja provjeravaju za svaku apex transakciju. Slijede regulatorna ograničenja koja definira prodajno osoblje za svaku apex transakciju:

Description Ograničiti
SOQL upiti koji se mogu izvršiti u sinkronoj transakciji 100
SOQL upiti koji se mogu izvršiti u asinkronoj transakciji 200
Zapisi koji se mogu dohvatiti pomoću SOQL upita 50000
Zapisi koje može dohvatiti Database.getQueryLocator 10000
SOSL upiti koji se mogu izvršiti u apex transakciji 20
Zapisi koji se mogu dohvatiti pomoću SOSL upita 2000
DML izjave koje se mogu napraviti u apex transakciji 150
Zapisi koji se mogu obraditi kao rezultat DML izjave, Approval.process ili database.emptyRecycleBin 10000
Oblačići koji se mogu napraviti u apex transakciji. 100
Kumulativno vremensko ograničenje za sve pozive koji se izvode u apex transakciji 120 sekundi
Ograničite apex poslove koji se mogu dodati u red čekanja pomoću System.enqueueJob 50
Vremensko ograničenje izvršenja za svaku Apex transakciju 10 minuta
Ograničenje znakova koji se mogu koristiti u apex klasi i okidaču 1 milijuna
CPU vremensko ograničenje za sinkronu transakciju 10,000 milisekundi
CPU vremensko ograničenje za asinkronu transakciju 60,000 milisekundi

Apex Getter i Setter

Apex svojstvo je slično apex varijabli. Getter i setter neophodni su za apex svojstvo. Getter i setter mogu se koristiti za izvršavanje koda prije nego što se pristupi ili promijeni vrijednost svojstva. Kod u pristupniku get izvršava se kada se pročita vrijednost svojstva. Kod u pristupniku skupa pokreće se kada se promijeni vrijednost svojstva. Bilo koje svojstvo koje ima pristupnik get smatra se samo za čitanje, svako svojstvo koje ima pristupnik postavljanja smatra se samo za pisanje, bilo koje svojstvo koje ima i pristupnik dobivanja i postavljanja smatra se čitanjem i pisanjem. Sintaksa apex svojstva:

public class myApexClass {
// Property declaration
	access_modifierreturn_typeproperty_name {
	get {
			//code  
		}
		set{
			//code
		}
	}

Ovdje je access_modifier modifikator pristupa svojstvu. return_type je dataType svojstva. property_name je naziv svojstva.

Ispod je primjer apex svojstva koje ima i get i set pristupnik.

public class myApex{
	public String name{
		get{ return name;}
		set{ name = 'Test';}
	}
}

Ovdje je ime svojstva name, javno je vlasništvo i vraća niz dataType.

Nije obavezno imati neki kod u get i set bloku. Ovi blokovi se mogu ostaviti praznim da bi se definiralo automatsko svojstvo. Na primjer:

public double MyReadWriteProp{ get; set; } 

Dohvati i postavi pristupnik se također može definirati s njihovim modifikatorom pristupa. Ako je pristupnik definiran s modifikatorom, tada on nadjačava modifikator pristupa za svojstvo. Na primjer:

public String name{private get; set;}// name is private for read and public to write.

Apex klasa

Apex klasa je nacrt ili predložak iz kojeg se stvaraju objekti. Objekt je instanca klase.

Postoje tri načina stvaranja apex klasa u Salesforceu:

Konzola za razvojne programere

Force.com IDE

Stranica s detaljima klase Apex.

U apexu možete definirati vanjsku klasu koja se naziva i klasa najviše razine, a također možete definirati klase unutar vanjske klase koje se nazivaju unutarnje klase.

Obavezno je koristiti modifikator pristupa kao što je global ili public u deklaraciji vanjske klase.

Nije potrebno koristiti modifikator pristupa u deklaraciji unutarnjih klasa.

Apex klasa definirana je pomoću ključne riječi class iza koje slijedi naziv klase.

Ključna riječ Extends koristi se za proširenje postojeće klase pomoću apex klase, a ključna riječ implements koristi se za implementaciju sučelja pomoću apex klase.

Salesforce Apex ne podržava višestruko nasljeđivanje, apex klasa može proširiti samo jednu postojeću apex klasu, ali može implementirati više sučelja.

Apex klasa može sadržavati korisnički definiran konstruktor, a ako korisnički definiran konstruktor nije dostupan, koristi se zadani konstruktor. Kod u konstruktoru se izvršava kada se kreira instanca klase.

Sintaksa primjera Apex klase:

public class myApexClass{
// variable declaration
//constructor
	public myApexClass{
	}
//methods declaration
}

Nova ključna riječ koristi se za stvaranje instance apex klase. Ispod je sintaksa za stvaranje instance apex klase.

myApexClass obj = new myApexClass();

Apex okidač

Apex okidači omogućuju vam izvršavanje prilagođenog apexa prije i nakon izvršenja DML operacije.

Apex podržava sljedeće dvije vrste okidača:

Prije okidača: Ovi se okidači koriste za provjeru valjanosti i ažuriranje vrijednosti polja prije spremanja zapisa u bazu podataka.

Nakon okidača: Ovi se okidači koriste za pristup poljima (ID zapisa, polje LastModifiedDate) koje je postavio sustav nakon što je zapis poslan u bazu podataka. Vrijednosti ovih polja mogu se koristiti za izmjenu drugih zapisa. Zapisi koji se aktiviraju nakon okidača samo su za čitanje.

Najbolja je praksa pisati glomazne okidače. Glomazni okidač može obraditi jedan zapis, kao i više zapisa odjednom.

Sintaksa apex okidača:

trigger TriggerName on ObjectName (trigger_events) {
	//Code_block
 }

Ovdje TriggerName je naziv okidača, ObjectName je naziv objekta na koji se okidač piše, trigger_events je popis događaja odvojen zarezom.

Slijede događaji koje podržavaju apex okidači: prije umetanja, prije ažuriranja, prije brisanja, nakon umetanja, nakon ažuriranja, nakon brisanja, nakon vraćanja brisanja.

Statičke ključne riječi ne mogu se koristiti u Apex okidaču. Sve ključne riječi primjenjive na unutarnje klase mogu se koristiti u Apex okidaču.

Postoji implicitna varijabla definirana svakim okidačem koji vraća kontekst vremena izvođenja. Ove varijable su definirane u sustavu. Klasa okidača. Te se varijable nazivaju varijablama konteksta. Donji snimak zaslona prikazuje varijablu konteksta koju podržava apex okidač.

Apex okidač

Apex okidač

Slijedi razmatranje varijable konteksta u apex okidaču:

  • Nemojte koristiti trigger.new i trigger.old u DML operacijama.
  • Trigger.new nije moguće izbrisati.
  • Trigger.new je samo za čitanje.
  • Trigger.new može se koristiti za promjenu vrijednosti polja na istom objektu samo prije okidača.

Donje snimke zaslona navode razmatranja o određenim radnjama u različitim događajima okidača.

Apex okidač

Apex okidač

Skupna klasa u Apexu

Skupna klasa u salesforceu koristi se za obradu velikog broja zapisa koji bi premašili ograničenja apex regulatora da se obrađuju normalno. Batch klasa izvršava kod asinkrono.

Sljedeće su prednosti batch klase:

  • Skupna klasa obrađuje podatke u komadima i ako se komad ne uspije uspješno obraditi, svi uspješno obrađeni komadi ne vraćaju se unatrag.
  • Svaki dio podataka u batch klasi obrađen s novim skupom regulatornih ograničenja koja osiguravaju da se kôd izvršava unutar regulatornih ograničenja izvršavanja.
  • Baza podataka. Batchable sučelje mora biti implementirano pomoću apex klase da bi se koristilo kao batch klasa. Pruža tri metode koje mora implementirati batch klasa.

Slijede tri metode koje nudi baza podataka. Batchable sučelje:

1.start()

Ova metoda generira opseg zapisa ili objekata koje treba obraditi metoda sučelja execute. Tijekom izvođenja serije, poziva se samo jednom. Ova metoda ili vraća objekt Database.QueryLocator ili Iterable. Broj zapisa dohvaćenih SQL upitom pomoću objekta Database.QueryLocator je 50 milijuna zapisa, ali korištenjem iterabilnog, ukupni broj zapisa koji se mogu dohvatiti SQL upitom je samo 50000 XNUMX. Iterable se koristi za generiranje složenog opsega za batch klasu.

Sintaksa metode pokretanja:

global (Database.QueryLocator | Iterable<sObject>) start(Database.BatchableContextbc) {}

2.izvrši()

Ova metoda se koristi za obradu svakog dijela podataka. Za svaki dio zapisa poziva se metoda izvršenja. Zadana veličina paketa za izvršenje je 200 zapisa. Metoda izvršenja uzima dva argumenta:

Referenca na objekt Database.BatchableContext,

Popis sObjects, kao što je List , ili popis parametriziranih tipova. Sintaksa metode izvršenja:

global void execute(Database.BatchableContext BC, list<P>){}

3.završi()

Metoda završetka poziva se jednom tijekom izvođenja batch klase. Operacije naknadne obrade mogu se izvesti metodom završne obrade. Na primjer: slanje potvrdne e-pošte. Ova se metoda poziva kada se sva serija obradi. Sintaksa metode Finish:

global void finish(Database.BatchableContext BC){}

Objekt Database.BatchableContext

Svaka metoda baze podataka. Batchable sučelje ima referencu na objekt Database.BatchableContext.

Ovaj se objekt koristi za praćenje napretka paketnog posla.

Slijede metode instanci koje pruža BatchableContext:

  • getChildJobId(): Ova metoda vraća ID skupnog posla koji se trenutno obrađuje.
  • getJobId(): Ova metoda vraća ID skupnog posla.

Ispod je sintaksa skupne klase:

global class MyBatchClass implements Database.Batchable<sObject> {
	global (Database.QueryLocator | Iterable<sObject>) start(Database.BatchableContextbc) {
// collect the batches of records or objects to be passed to execute
}
global void execute(Database.BatchableContextbc, List<P> records){
// process each batch of records
}
global void finish(Database.BatchableContextbc){
// execute any post-processing operations
}
}

Database.executeBatch Metoda

Metoda Database.executeBatch koristi se za izvođenje skupne klase.

Ova metoda uzima dva parametra: Instancu batch klase koja se obrađuje, Options parametar za određivanje veličine serije, ako nije navedena, uzima zadanu veličinu od 200.

Sintaksa Database.executeBatch:

Database.executeBatch(myBatchObject,scope)

Izvršavanje skupne klase naziva MyBatchClass:

MyBatchClassmyBatchObject = new MyBatchClass(); 
Id batchId = Database.executeBatch(myBatchObject,100);

Baza podataka.stateful

Skupna klasa je prema zadanim postavkama bez stanja. Svaki put kad se pozove metoda izvršenja, primi se nova kopija objekta, inicijaliziraju se sve varijable klase.

Database.stateful je implementiran kako bi klasa serije bila stacionirana.

Ako vaša batch klasa implementira Baza podataka , sučelje sa statusom, sve varijable instance zadržavaju svoje vrijednosti, ali se statičke varijable poništavaju između transakcija.

Rezime

  • Apex je strogo tipiziran, objektno orijentiran programski jezik koji se kompilira i izvodi na platformi force.com
  • Apex programski jezik je jezik koji ne razlikuje velika i mala slova
  • Dvije vrste toka radnji u Apexu su 1) radnja programera 2) radnja krajnjeg korisnika
  • Apex vam pomaže stvoriti web usluge koje integriraju Salesforce s drugim aplikacijama.
  • Tipovi podataka koje podržava apex su: 1).Primitive 2) Zbirke 3) sObject, Enums, 4) Klase, 5) Objekti i sučelja
  • Javno, privatno, zaštićeno i globalno određene su podrške Apexa
  • Ključne riječi koje se koriste u Apexu su: 1) S dijeljenjem, 2) Bez dijeljenja, 3) Statičko, 4) Konačno, 5) Povratak, 6) Null, 7) Virtualno, 8) Sažetak
  • Niz je skup znakova bez ograničenja broja znakova
  • Ograničenja apex regulatora su ograničenja koja provodi apex runtime engine kako bi se osiguralo da bilo koji kod vrha piste i procesi
  • Getter i setter mogu se koristiti za izvršavanje koda prije nego što se pristupi ili promijeni vrijednost svojstva
  • Postoje tri načina za stvaranje apex klasa u Salesforceu: 1) Developer Console 2) Force.com IDE i 3) stranica s detaljima Apex klase.
  • Apex okidači omogućuju vam izvršavanje prilagođenog apexa prije i nakon izvršenja DML operacije.
  • Skupna klasa u salesforceu koristi se za obradu velikog broja zapisa koji bi premašili ograničenja apex regulatora da se obrađuju normalno.