この記事の目次
SalesforceのApexとは?またfacetの利用は?

Apexの概要
Salesforceをカスタマイズするのに必要なものの一つがApexです。PHPやJavaなどと同様プログラミング言語の一つで、Salesforce.com社が開発しました。主にSalesforceサーバー内で利用されるオブジェクト指向型の言語です。 オブジェクト指向型というだけあり、Javaに近い言語と言われています。開発者向け公式ページのApexの概要にも、一般的にJavaやJava Script、.NET等で行うカスタマイズをSalesforceサーバー内で行えるように用意された言語との説明もあります。 SalesforceはApexを使ってアプリケーションのフォーマットを企業にマッチした状態へとするためのアクションの変更や機能の追加、見た目の変更を細部まで行えます。Apex用の開発環境は「Apex Toolkit for Exlipse」や「Apex Explorer」等が提供されています。Apexの仕組み
ApexにはJavaと同じようにAPIがあります。APIとは、本来は膨大なコーディングを行わないと動作しないプログラムを、独自に作成しているコード内で呼び出すだけで簡単に利用できる便利で効率的な仕組みです。 APIは「ライブラリ」とも呼ばれ、単体で一つの動作となるプログラムがたくさん格納されています。ライブラリに格納されている一つ一つのプログラムのかたまりは「クラス」と呼ばれます。クラスの中にさらに「メソッド」という具体的な動作内容が記述されています。 Javaに似たプログラミング言語であるApexは、基本的に上記のような構成でコーディングを行っていきます。なおApexは言語名であると同時にクラス名でもあります。今回はApexで利用できる機能の一部「facet」の用途と利用方法を取り上げます。facetの利用について
「facet」はメソッドのような役割をするものの、Apexの言語では単独利用ができません。あくまで親コンポーネントでfacetが定義している場合のみ利用できるようになります。 あまり聴き慣れない英単語のfacetですが、直訳すると「宝石などの小面、物事の面相」とあります。facetによる作用がわからなくても直訳内容から、プログラム内の前提や大枠を決める部分というイメージがつきます。 facetに近いメソッドやライブラリがあるプログラミング言語としては、C++やRuby等があります。Rubyではfacetsというライブラリが用意されていて、facetsにはRubyコードを簡略化する大量なメソッドが含まれていてコーディングをスピードアップさせてくれます。 C++ではlocalクラスを継承したfacetクラスがあり、プログラムを幅広く利用できる役割を持っています。いずれの言語でも、facetは様々なデータの定義付けを最前面で行ったり、インターフェースのように汎用的にする役目をしているところが共通しています。SalesforceのApexでのfacetの利用方法をご紹介

Name
{!contact.Name}
Phone
{!contact.Phone}
dataTableのコンポーネントの中ではheader、footer、captionという名前のfacetが準備されています。記述例にはそのうちのheaderが使われて、Name、Phoneと入力されています。この記述がHTMLのように解釈され、画面にはName、Phoneというテキストが表示されます。
SalesforceのApexでfacetを有効活用しよう!

この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞