ロック解除済みパッケージでの Apex クラスの名前空間ベースの参照
@namespaceAccessible は、パッケージ内の公開 Apex を、同じ名前空間を使用する他のパッケージで使用できるようにします。このアノテーションがないと、ロック解除済みパッケージで定義されている Apex クラス、メソッド、インターフェース、およびプロパティは、名前空間を共有する他のパッケージからアクセスできません。グローバルとして宣言されている Apex は、アノテーションを必要とせず、常にすべての名前空間で使用できます。
- パッケージ外の Lightning コンポーネントは、名前空間がないロック解除済みパッケージからインストールされた公開 Apex メソッドにアクセスできます。コンポーネントは、別のパッケージからインストールするか、組織で作成できます。Apex メソッドにアクセスする場合、名前空間がないロック解除済みパッケージは未管理パッケージと同様に扱われます。
- @AuraEnabled Apex メソッドで @namespaceAccessible アノテーションは使用できません。
- @namespaceAccessible アノテーションはいつでも追加または削除できます。管理およびリリース済み Apex コードに対しても可能です。アノテーションを追加または削除する前に、その機能に依存する連動パッケージがないことを確認してください。
- パッケージの @namespaceAccessible Apex を追加または削除するときには、このパッケージのアノテーションを参照する他のパッケージのインストール済みバージョンを使用しているユーザへの影響を考慮します。パッケージアップグレードを転送する前に、アップグレードが転送されると完全なコンパイルに失敗するパッケージバージョンを実行しているユーザがいないことを確認します。