Salesforce APEX Fundamentals
Terms in this set (25)
Apex is a programming language that uses Java-like syntax and acts like database stored procedures. Apex enables developers to add business logic to system events, such as button clicks, updates of related records, and Visualforce pages.
Apex is saved, compiled, and executed on the server—the Force.com platform.
Compiled code is stored as metadata in the platform, Apex is automatically upgraded as part of Salesforce releases.
Apex supports classes, interfaces, and inheritance.
Apex validates references to objects at compile time.
Because Apex runs in a multitenant platform, it guards closely against runaway code by enforcing limits, which prevent code from monopolizing shared resources.
Integrated with the database
It is straightforward to access and manipulate records. Apex provides direct access to records and their fields, and provides statements and query languages to manipulate those records.
Apex provides transactional access to the database, allowing you to roll back operations.
Easy to use
Apex is based on familiar Java idioms.
Easy to test
Apex provides built-in support for unit test creation, execution, and code coverage. Salesforce ensures that all custom Apex code works as expected by executing all unit tests prior to any platform upgrades.
Custom Apex code can be saved against different versions of the API.
The components that make up the APEX language
Classes, interfaces, properties, and collections (including arrays).
Object and array notation.
Expressions, variables, and constants.
Conditional statements (if-then-else) and control flow statements (for loops and while loops).
Unlike other object-oriented programming languages, Apex supports:
1. Cloud development as Apex is stored, compiled, and executed in the cloud.
2. Triggers, which are similar to triggers in database systems.
3. Database statements that allow you to make direct database calls and query languages to query and search data.
4. Transactions and rollbacks.
The global access modifier, which is more permissive than the public modifier and allows access across namespaces and applications.
5. Versioning of custom code.
-Is a type of computer programming (software design) in which programmers define not only the data type of a data structure, but also the types of operations (functions) that can be applied to the data structure.
Object-oriented programming (OOP)
APEX is case insensitive
Dot Notation Syntax
Cloud based development
Browser Based IDE
Run Unit Tests
Review Debug log
-Upsert - takes a list and updates existing and inserts for new
When an event happens actions are defined and executed during, after, before, etc the next event. Actions within actions within events and/or creating new actions and events
APEX interfaces and annotations:
Batchable - run apex in the background asyncronisly and throw a bunch of records at it and perform complex logic with batches, loops, etc and operate on those records in the background as needed
Scheduled - run apex at a specific scheduled time/date as defined to perform complex logic
Email - Can send and recieve email. can recieve email and run logic and/or collect data within email that can be used to run more logic, create/delete/update records and/or store data
Rest - uses REST API and allows to create and add new custom REST API
-Code to test code
-Tests can mirror user expectations
-system asserts increase predictability
-line coverage increase predictability
-SF requires 75% test coverage (recommend much higher, 100% desired)
-Sandbox, developer addition
-force.com migration tool
APEX uses syntax similar to:
-Java, C# (Variables, loops, classes, interfaces, collections, etc)
APEX unique features:
-tight binding with your SF data model
-Simple data minipulation calls
-SOQL for querying records into varibales
-Annotations and keywords - webservice, @test, @getso, etc
-integrated testing framework