Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Learning Apex Programming

You're reading from   Learning Apex Programming Create business applications using Apex to extend and improve the usefulness of the Salesforce1 Platform

Arrow left icon
Product type Paperback
Published in Jan 2015
Publisher
ISBN-13 9781782173977
Length 302 pages
Edition 1st Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Matthew Kaufman Matthew Kaufman
Author Profile Icon Matthew Kaufman
Matthew Kaufman
 Wicherski Wicherski
Author Profile Icon Wicherski
Wicherski
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Learning Apex Programming
Credits
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Preface
1. Apex Assumptions and Comparisons FREE CHAPTER 2. Apex Limits 3. More and Later 4. Triggers and Classes 5. Visualforce Development with Apex 6. Exposing Force.com to the World 7. Use Case – Integration with Google Calendar 8. Creating a Property Management Application 9. Test Coverage Index

Index

A

  • access modifiers
    • private access modifier / Inner space
    • protected access modifier / Inner space
    • public access modifier / Inner space
    • global access modifier / Inner space
  • account object / Account (standard object)
  • action bindings
    • defining / Actions speak louder than methods
  • after triggers / Pulling the trigger
  • Apex
    • about / Before you start, Under the hood
    • features / Before you start
    • safety / Safety first
    • built-in class, for exceptions / Exceptions prove the rule
    • execution limits / More limits
    • edition limits / Edition limits
    • API limits / API limits
    • e-mail limits / E-mail limits
  • Apex class
    • creating, in Force.com IDE / Class is in session
  • Apex collections
    • list / Under the hood
    • set / Under the hood
    • map / Under the hood
  • ApexPages.Severity enumerator / What happened?
  • Apex primitives
    • Blob / Under the hood
    • Boolean / Under the hood
    • Date / Under the hood
    • DateTime / Under the hood
    • Decimal / Under the hood
    • Double / Under the hood
    • ID / Under the hood
    • Integer / Under the hood
    • Long / Under the hood
    • Object / Under the hood
    • String / Under the hood
    • Time / Under the hood
  • API limits / API limits
  • API REST developer
    • URL / Console my Force.com developer
  • APIs
    • enabling / Ooo shiny!
  • AppExchange
    • about / Edition limits
    • URL / Edition limits
  • app status
    • upgrading / Upgrade to the app status
  • Authorize.net
    • using / Paying your dues
    • URL / Paying your dues
    • mock responder, setting up for / Mocking you
  • Authorize.net setting
    • about / The Authorize.net setting (custom setting)

B

  • backup archives, deployment process
    • Project archive / The ultimate goal
    • Destination archive / The ultimate goal
  • batch class
    • about / Picking up where we left off
    • updating / Picking up where we left off
  • batch classes
    • about / Batches and @future
  • batches
    • testing / Batch tests
  • batch process
    • scheduling / Building skynet
    • Database.Schedulable interface, implementing / More scheduling options
    • scheduling, with CronTrigger / Master control
  • before triggers / Pulling the trigger

C

  • Calendar API
    • URL / I'm late, very, very late!
  • calendar events
    • creating / My, aren't we busy?
    • updating / My, aren't we busy?
    • deleting / My, aren't we busy?
  • callouts
    • about / My turn!
    • limiting / Not so fast
  • Cascading Style Sheets (CSS) / Static cling
  • classes
    • using / Staying classy
    • hidden sObjects, implementing / Wrap it up
    • import statement, using / No libraries, no problem
    • logic, implementing / Rinse, lather, and repeat
  • client ID
    • about / Needle in a haystack
    • APPLICATION TYPE / Needle in a haystack
    • AUTHORIZED JAVASCRIPT ORIGINS / Needle in a haystack
    • AUTHORIZED REDIRECT URI / Needle in a haystack
  • code
    • writing / Writing code
    • refactoring / Chain reactions
    • modifying, for avoiding limits / Where we're going, we don't need roads
    • modifying, for processing large data sets / I fought the law and won
    • executing / Code happens
    • used, for controller / O, Auth me mighty Google!
    • deploying, to Production environment / The ultimate goal
  • code, writing
    • prerequisites / Getting comfortable with Eclipse
  • component library
    • about / Your component library
  • components
    • controlling / Controlling components
  • Connected App / Console my Force.com developer
  • contact object / Contact (standard object)
  • control
    • extending / Extending control
  • controller
    • about / Taking control
    • tags, using / Tags that bind us
    • data bindings / Tags that bind us
    • variables, using / Paging the doctor variable
    • action bindings, defining / Actions speak louder than methods
    • Ajax / Ajax your actions
    • values, passing to / Communication is key
    • parameter values, passing to / Param face
    • modifying / Put your hands together
    • code, used for / O, Auth me mighty Google!
  • controllers
    • testing / AI – Sans input
  • CronTrigger
    • used, for scheduling batch process / Master control
  • custom field
    • creating / Combining forces
  • custom label
    • creating / Creating a custom label
  • custom model
    • about / A custom model
    • account object / Account (standard object)
    • contact object / Contact (standard object)
    • Property object / Property (custom object)
    • Rental Units object / Rental Unit
    • Rental Agreement object / Rental Agreement (custom junction object)
    • Statement object / Statement (custom object)
    • Payment object / Payment (custom object)
    • Authorize.net setting / The Authorize.net setting (custom setting)
  • custom object
    • creating / Contact (standard object)
  • custom setting
    • creating / Custom settings
  • custom setting object
    • creating / Creating a custom setting object
  • custom web services
    • about / At your service
    • REST / Let's REST
    • SOAP / Getting SOAP

D

  • data-driven pages / Data-driven pages
  • Database.AllowCallouts interface
    • implementing / Bigger, better, and batchier
    • records, querying / Dyna batch
    • sObjects, working with / More than meets the eye
  • Database.Batchable interface
    • used, for processing large data sets / Please sir, I want some more
    • start() method / Please sir, I want some more
    • finish() method / Please sir, I want some more
    • execute() method / Please sir, I want some more
    • leveraging / Combining forces
  • Database.QueryLocator object
    • about / Please sir, I want some more
  • Database.Schedulable interface
    • implementing / More scheduling options
  • Database Manipulation Language (DML) / Trigger happy
  • Destination archive / The ultimate goal
  • dynamic pages
    • about / Dynamic pages
    • custom label, creating / Creating a custom label
    • custom setting object, creating / Creating a custom setting object
    • data-driven pages / Data-driven pages

E

  • e-mail limits / E-mail limits
  • Eclipse
    • working with / Getting comfortable with Eclipse
    • linking, to Salesforce1 Platform / Linking Eclipse to the Salesforce1 Platform
  • edition limits / Edition limits
  • events
    • pushing manually, into Google calendar / Manual labour
  • Exception class
    • about / Embracing an exception
  • exceptions
    • ending, LimitException used / An exception to end all exceptions
  • execute() method
    • about / Please sir, I want some more
  • Execute Anonymous feature, Developer Console
    • accessing / Console my Force.com developer
  • Execute Anonymous feature, Eclipse
    • using / Anonymous Eclipse
  • execution limits / More limits
  • extensions
    • testing / AI – Sans input

F

  • @future method
    • about / Batches and @future
  • @future methods
    • using / I fought the law and won
  • finish() method
    • about / Please sir, I want some more
  • Force.com
    • about / Your own personal Force.com
    • Visualforce page, creating / Creating a Visualforce page
    • Visualforce page, example / Not much to see here
  • Force.com callout
    • about / Let's get loud
  • Force.com Developer Console
    • about / Console my Force.com developer
  • Force.com IDE
    • about / The Force.com IDE
    • Java Runtime Environment (JRE) / The Force.com IDE
    • Eclipse IDE / The Force.com IDE
    • plugin, for Eclipse / The Force.com IDE
    • URL / The Force.com IDE
    • installing, from Eclipse / The Force.com IDE
    • Apex class, creating / Class is in session
    • empty shell, defining / Inner space
    • with sharing keyword / Share and share alike
  • Force.com sites
    • enabling, forSalesforce1 Platform / Seeing is believing
    • enabling, for Salesforce1 Platform / Seeing is believing, What happened?
    • pros / Pros and cons
    • cons / Pros and cons
    • limits / Limits
  • functions, Visualforce
    • about / Functions galore
    • IF() / Functions galore
    • CASE() / Functions galore
    • SUBSTITUTE() / Functions galore
    • FIND() / Functions galore
    • TODAY() / Functions galore
    • NOW() / Functions galore
    • DAY() / Functions galore
    • MONTH() / Functions galore
    • YEAR() / Functions galore
    • TEXT() / Functions galore
    • VALUE() / Functions galore
    • URLFOR() / Functions galore
    • REGEX() / Functions galore

G

  • global access modifier / Inner space
  • global variables
    • about / Global variables
    • $User / Global variables
    • $Profile / Global variables
    • $UserRole / Global variables
    • $ObjectType / Global variables
    • $CurrentPage / Global variables
    • $Action / Global variables
    • $Label / Global variables
    • $Resource / Global variables
  • Google
    • logging in / Forget me not
  • Google App
    • about / Hello, I'm new
  • Google calendar
    • Salesforce calendars, sending through / I'm late, very, very late!
  • Googol
    • using / Googol
  • gotchas / Pitfalls and gotchas
  • Graphical User Interface (GUI) / Under the hood

H

  • handshake
    • about / Gimme an O!
  • helper class
    • creating / Helping hands
  • HTTP method functional annotations, Apex REST
    • @HttpGet / Let's REST
    • @HttpDelete / Let's REST
    • @HttpPost / Let's REST
    • @HttpPush / Let's REST
    • @HttpPatch / Let's REST

I

  • @isTest annotation
    • about / @isTest
  • import statement
    • using / No libraries, no problem
  • Integrated Development Environment (IDE) / The Force.com IDE
  • interactive Visualforce page
    • creating / Mine, all mine
    • payments_Extension, creating / Black magic

J

  • Just In Time (JIT) / Under the hood

K

  • kilobytes (KB) / More limits

L

  • let me Google that for you website
    • about / Let me google that for you
    • URL / Let me google that for you
  • LimitException
    • used, for ending all exceptions / An exception to end all exceptions
  • limits
    • avoiding / Where we're going, we don't need roads
  • login() method / API limits, Getting SOAP

M

  • mock responder
    • setting up, for Authorize.net / Mocking you

O

  • OAuth protocol
    • about / Gimme an O!
  • object-oriented programming (OOP) / Under the hood
  • OnClick JavaScript button
    • creating / JavaScript buttons jubilee
  • operations
    • performing / How many times and how many things

P

  • Pablo Picasso, Apex
    • about / The Pablo Picasso of Apex
  • Package Explorer view
    • about / Behind the scenes
  • PageReference object / Actions speak louder than methods
  • ParentId field / Controlling components
  • Payment object
    • about / Payment (custom object)
    • creating, custom field requisites / Payment (custom object)
  • payments_Extension
    • creating / Black magic
  • payment_Edit page
    • creating / I did it my way!
  • phone field
    • synchronizing / Put your hands together
  • pitfalls / Pitfalls and gotchas
  • private access modifier / Inner space
  • Production environment
    • code, deploying to / The ultimate goal
  • products
    • using / Products
  • profile permissions / Profile permissions
  • Project archive / The ultimate goal
  • property management application
    • need for / Why
    • creating / Why, How
    • rental units / What
    • participants / Who
    • steps / How
  • Property object / Property (custom object)
  • protected access modifier / Inner space
  • public access modifier / Inner space

Q

  • queries
    • defining / These aren't the queries you're looking for
  • query limits
    • avoiding / Techniques to avoid query limits

R

  • records
    • processing / You want me to process how many records?
    • performing / How many times and how many things
  • relative limit, in space
    • about / Time and relative limits in space
  • Remote Site Settings
    • configuring / Permissions again…
  • Rental Agreement object / Rental Agreement (custom junction object)
  • Rental Units object / Rental Unit
  • reRender attribute / Ajax your actions
  • REST
    • about / Let's REST
    • cons / Pros and cons
    • pros / Pros and cons
    • limits / Limits
  • REST Console extension
    • URL / Let's REST
  • RestContext, properties
    • RestContext.Request.Headers / Let's REST
    • RestContext.Request.httpMethod / Let's REST
    • RestContext.Request.params / Let's REST
    • RestContext.Request.remoteAddress / Let's REST
    • RestContext.Request.requestBody / Let's REST
    • RestContext.Response.responseBody / Let's REST
    • RestContext.Response.headers / Let's REST
    • RestContext.Response.StatusCode / Let's REST
  • REST GET method
    • testing / Well RESTed
  • roll-up summary formula
    • writing, in trigger / Ain't no mountain
  • runAs method
    • about / AI – Sans input

S

  • s-con
    • about / s-con, what?
  • Salesforce
    • URL / Limits
  • Salesforce1 Platform
    • about / A gift to our readers, Three ways to skin a cat
    • installing / The Force.com IDE
    • Eclipse, linking to / Linking Eclipse to the Salesforce1 Platform
    • working / Under the hood
    • data, storing / Data and metadata
    • metadata, storing / Data and metadata
    • public facing page, exposing / Seeing is believing
    • Force.com sites, enabling / Seeing is believing, What happened?
  • Salesforce calendars
    • sending, through Google calendar / I'm late, very, very late!
  • Salesforce Limits Quick Reference Guide
    • URL / Bigger, better, and batchier, More scheduling options
  • Salesforce Object Query Language (SOQL) / Techniques to avoid query limits
  • sandbox account
    • signup / Paying your dues
  • sessionId
    • obtaining / Squeaky clean
  • Snippet
    • starting / Getting comfortable with Eclipse
  • SOAP
    • about / Getting SOAP
    • pros / Pros and cons
    • cons / Pros and cons
  • SOAP API, Salesforce1 Platform
    • using / I fought the law and won
  • SOAP UI
    • URL / Getting SOAP
  • sObject
    • triggers, defining for / All for one and one for all
  • sObjects
    • working with / More than meets the eye
    • implementing / Wrap it up
  • sObject variables
    • trigger.isBefore / All for one and one for all
    • trigger.isAfter / All for one and one for all
    • trigger.isInsert / All for one and one for all
    • trigger.isUpdate / All for one and one for all
    • trigger.isDelete / All for one and one for all
    • trigger.isUndelete / All for one and one for all
  • speed limit, transaction
    • obeying / Obeying the speed limit
  • start() method
    • about / Please sir, I want some more
  • Statement object
    • about / Statement (custom object)
    • options, setting up / Statement (custom object)
  • static resources
    • about / Static cling
  • System.scheduleBatch() method
    • about / Building skynet
  • System.scheduleBatch() method, parameters
    • Apex class / Building skynet
    • job name / Building skynet
    • minutes from now / Building skynet
    • batch size / Building skynet

T

  • tag, Visualforce
    • about / Tag, you're it!
  • tags, Visualforce
    • <apex$page> / Tag, you're it!
    • <apex$pageBlock> / Tag, you're it!
    • <apex$pageBlockSection> / Tag, you're it!
    • <apex$inputField> / Tag, you're it!
    • <apex$outputField> / Tag, you're it!
    • <apex$inputText> / Tag, you're it!
    • <apex$outputText> / Tag, you're it!
    • <apex$selectList> / Tag, you're it!
    • <apex$selectRadio> / Tag, you're it!
    • <apex$selectCheckboxes> / Tag, you're it!
    • <apex$selectOption> / Tag, you're it!
    • <apex$selectOptions> / Tag, you're it!
    • <apex$repeat> / Tag, you're it!
    • <apex$pageBlockTable> / Tag, you're it!
    • <apex$dataTable> / Tag, you're it!
    • <apex$column> / Tag, you're it!
    • <apex$outputPanel> / Tag, you're it!
    • <apex$pageMessages> / Tag, you're it!
    • <apex$commandButton> / Actions speak louder than methods
    • <apex$commandLink> / Actions speak louder than methods
    • <apex$actionSupport> / Actions speak louder than methods
    • <apex$actionPoller> / Actions speak louder than methods
    • <apex$actionFunction> / Actions speak louder than methods
  • technology
    • considerations / For your consideration
  • test
    • running / At the parallel
  • test coverage
    • requirements / The rundown
  • testing
    • requirements / The rundown
  • tests
    • running, through UI / Fruits of our labour
  • time limit, in space
    • about / Time and relative limits in space
  • triggers
    • history / A brief history of triggers
    • about / Trigger happy
    • pulling / Pulling the trigger
    • executing / Execution time
    • creating / Inside the mind of a trigger
    • defining, for sObject / All for one and one for all
    • testing / Itchy trigger finger
  • trigger variables
    • trigger.new / All for one and one for all
    • trigger.newMap / All for one and one for all
    • trigger.old / All for one and one for all
    • trigger.oldMap / All for one and one for all
    • trigger.size / All for one and one for all

U

  • UI
    • tests, running through / Fruits of our labour

V

  • validation rule
    • about / Workflows and validation rules
  • values
    • passing, to controller / Communication is key, Param face
  • variables
    • using / Paging the doctor variable
  • Visualforce
    • components / Visualforce components
  • Visualforce limits
    • about / Visualforce limits
  • Visualforce page
    • creating / Creating a Visualforce page
    • example / Not much to see here

W

  • Web Services Description Language (WSDL) / Getting SOAP
  • with sharing keyword / Share and share alike
  • workflow rule
    • about / Workflows and validation rules
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime
Visually different images