Apex: Classes e interfaces novas e alteradas

Essas classes e interfaces são novas ou foram alteradas.

Classes do Apex alteradas

Estas classes existentes têm métodos ou constantes novos ou alterados.
Classe Schema.DescribeFieldResult
Novo método
isAiPredictionField()
Retorna um booleano que indica se o campo está ativado para exibir os dados de previsão do Einstein.
Classe Schema.DescribeSObjectResult
Novo método
getRecordTypeInfosByDeveloperName()
Retorna um mapa que corresponde os nomes do desenvolvedor a seu tipo de registro associado.
Classe Schema.RecordTypeInfo
Novo método
getDeveloperName()
Retorna o nome do desenvolvedor para esse tipo de registro.
Classe System.Crypto
Novos métodos
verify(String algorithmName, Blob data, Blob signature, Blob publicKey)
Retorna um booliano verificando a assinatura digital para dados criptografados usando o algoritmo especificado e a chave pública fornecida.
verify(String algorithmName, Blob data, Blob signature, String certDevName)
Retorna um booliano verificando assinaturas digitais para dados, usando o algoritmo especificado e a chave pública associada ao certDevName.
verifyMac()
Retorna um booliano verificando a assinatura HMAC para dados usando o algoritmo especificado, dados de entrada, privateKey e mac.
Classe System.Url
Novos métodos
getOrgDomainUrl()
Retorna o URL canônico para a sua organização. Por exemplo, https://yourDomain.my.salesforce.com ou, para organizações sem Meu domínio habilitado, https://yourInstance.salesforce.com.
Classe System.UserInfo
Métodos alterados
getSessionId()
Agora você pode usar getSessionId() no Apex assíncrono (Apex de Lote, Futuro, Enfileirável ou Agendado). Anteriormente, esse método retornava null quando executado de modo assíncrono.

No Apex assíncrono, esse método retorna a ID da sessão apenas quando o código é executado por um usuário válido ativo. Quando o código é executado por um usuário interno, como o processo automatizado ou um usuário proxy, o método retorna null.

Enumeração do Apex alterada

As seguintes enumerações foram atualizadas nesta versão.
Enum Auth.Auth.VerificationMethodEnum
Contém as diferentes maneiras como os usuários podem se identificar quando fazem login. Pode ser usado para implementar páginas de login sem senha adequadas a dispositivos móveis e para métodos de verificação de autorregistro (e cancelamento de registro).
Essa enumeração tem um valor novo, Password. A identidade pode ser verificada por senha.
Enumeração Metadata.PlatformActionListContextEnum
Descreve os diferentes contextos das listas de ações.
Essa enumeração tem um valor novo, ActionDefinition. Esse valor está reservado para uso futuro.

Novas exceções do Apex

Estas exceções numerações são introduzidas nesta versão.
Namespace Auth
LoginDiscoveryException
Gere uma exceção para indicar que ocorreu um erro ao executar o Manipulador de descoberta de login.
Auth.DiscoveryCustomErrorException
Gera uma exceção para personalizar mensagens de erro que aparecem em páginas de autorregistro, verificação e login.

Novas interfaces do Apex

Estas interfaces foram introduzidas nesta versão.
Interface Auth.ConfigurableSelfRegHandler
Crie uma classe que implemente Auth.ConfigurableSelfRegHandler para registrar usuários com o endereço de email ou número de telefone, em vez de nome de usuário e senha. Quando você configura o autorregistro da comunidade com a Página de autorregistro configurável, o Salesforce gera uma classe do Apex AutocreatedConfigSelfReg padrão. Modifique a classe para estender a funcionalidade, por exemplo, para alterar como os usuários são criados.
createUser(accountId, profileId, registrationAttributes, password)
Crie um membro da comunidade usando as informações que o visitante forneceu na página de autorregistro da sua comunidade.
Interface Auth.LoginDiscoveryHandler
Crie uma classe que implemente Auth.LoginDiscoveryHandler para fazer o login de usuários com base em outros métodos de verificação que não nome de usuário e senha. Os usuários podem se identificar com email, número de telefone ou outro identificador, como ID de federação ou identificador de dispositivo. Quando você configura a página de login da sua comunidade com a Página de descoberta de login, o Salesforce gera um AutocreatedDiscLoginHandler padrão. Você pode modificar a classe, por exemplo, para dar suporte a logon único (SSO).
login(identifier, startUrl, requestAttributes)
Faça login do usuário externo dado o identificador especificado, como email ou número de telefone. Se for bem-sucedido, redirecione o usuário à página da comunidade especificada pelo URL inicial.
Interface System.Callable
Permite que seus desenvolvedores usem uma interface comum para criar integrações fracamente acopladas entre classes do Apex ou acionadores, mesmo para código em pacotes separados. Concordar com uma interface em comum possibilita aos desenvolvedores de diferentes empresas ou departamentos criar com base nas soluções uns dos outros. Implemente essa interface para possibilitar uma comunidade mais ampla, que pode ter soluções diferentes daquelas que você tinha em mente, estender a funcionalidade do seu código.
call(action, args)
Fornece funcionalidade que outras classes ou pacotes podem utilizar e desenvolver.

Chamadas à API SOAP para Apex alteradas

A chamada runTests() foi alterada.
runTests()
O objeto RunTestsResult inclui dois novos campos.
flowCoverage
Uma matriz de resultados de execuções de teste que executaram fluxos.
flowCoverageWarnings
Uma matriz de advertências geradas por execuções de teste que executaram fluxos.