26 Out 2019 - Alison Souza
Apex é uma linguagem proprietária da Salesforce.
A principal motivação ao criar uma nova linguagem foi permitir que a mesma conseguisse realizar a manipulação e pesquisa de dados (SOQL, SOSL) ao mesmo tempo que criamos aplicações.
É uma linguagem orientada a objetos fortemente tipada que será executada apenas na nuvem.
Possui uma sintaxe semelhante ao Java. Em relação a sua execução, podemos fazer analogia com procedures de banco de dados.
Com uma conta de desenvolvedor e usando o Developer Console será possível praticar os conceitos abaixo.
Apex é case-insensitive.
Comentários
// comentário de uma linha
/*
comentário
de varias
linhas
*/
Tipos
Variáveis
Integer m = 100;
Boolean shipmentDispatched = false;
Date ShipmentDate = date.today();
Long companyRevenue = 21474838973344648L;
Account objAccount = new Account (Name = 'Test Chemical');
String companyName = 'Abc International';
If
if (place == 1) {
medal_color = 'gold';
} else if (place == 2) {
medal_color = 'silver';
} else if (place == 3) {
medal_color = 'bronze';
} else {
medal_color = null;
}
Loops
While
Integer count = 1;
do {
System.debug(count);
count++;
} while (count < 11);
Integer count = 1;
while (count < 11) {
System.debug(count);
count++;
}
For
// Tradicional
for (Integer i = 0, j = 0; i < 10; i++) {
System.debug(i+1);
}
// Iteração de uma lista
Integer[] myInts = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (Integer i : myInts) {
System.debug(i);
}
// Iteração de uma query SOQL
for (variable : [soql_query]) {
code_block
}
Classes
Apex Classes são semelhantes às classes Java. Veja aqui diferenças para uma classe Java. Um dos benefícios das classes Apex é a reutilização de código. Os métodos de classe podem ser chamados por triggers ou outras classes. Há uma extensa documentação sobre a criação de classes, abaixo apenas um exemplo.
public class RedMarker {
public Double computePrice() {
return 1.5;
}
}
RedMarker obj = new RedMarker();
Double price = obj.computePrice();
Veja também